command
elementtype
label
icon
disabled
checked
radiogroup
command
title
attribute has special semantics on
this element.interface HTMLCommandElement : HTMLElement { attribute DOMString type; attribute DOMString label; attribute DOMString icon; attribute boolean disabled; attribute boolean checked; attribute DOMString radiogroup; readonly attribute HTMLElement? command; };
The
command
element represents a command that the user can
invoke.
A command can be explicitly part of a context menu or toolbar,
using the menu
element. It can also be put anywhere else on a page, either just to
define a keyboard shortcut, or to define a command that is then
referenced from other
command
elements.
A
command
element that uses the type
, label
, icon
, disabled
, checked
, radiogroup
,
and
title
attributes defines a new command. A
command
element that uses the command
attribute defines a
command by reference to another one. This allows authors to define
a command once, and set its state (e.g. whether it is active or
disabled) in one place, and have all references to that command in
the user interface change at the same time.
The type
attribute indicates the
kind of command: either a normal command with an associated action,
or a state or option that can be toggled, or a selection of one
item from a list of items.
The attribute is an enumerated attribute with three
keywords and states. The "command
"
keyword maps to the Command state, the "checkbox
"
keyword maps to the Checkbox state, and the
"radio
" keyword
maps to the Radio state. The missing
value default is the Command state.
The element represents a normal command with an associated action.
The element represents a state or option that can be toggled.
The element represents a selection of one item from a list of items.
The label
attribute gives the
name of the command, as shown to the user. The label
attribute must be specified and must
have a value that is not the empty string.
The title
attribute gives a
hint describing the command, which might be shown to the user to
help him.
The icon
attribute gives a
picture that represents the command. If the attribute is specified,
the attribute's value must contain a valid
non-empty URL potentially surrounded by spaces.
The disabled
attribute is a
boolean attribute that, if present,
indicates that the command is not available in the current
state.
The distinction between disabled
and is subtle. A command would be
disabled if, in the same context, it could be enabled if only
certain aspects of the situation were changed. A command would be
marked as hidden if, in that situation, the command will never be
enabled. For example, in the context menu for a water faucet, the
command "open" might be disabled if the faucet is already open, but
the command "eat" would be marked hidden since the faucet could
never be eaten.
The checked
attribute is a
boolean attribute that, if present,
indicates that the command is selected. The attribute must be
omitted unless the type
attribute is in either the Checkbox state or the
Radio state.
The radiogroup
attribute
gives the name of the group of commands that will be toggled when
the command itself is toggled, for commands whose type
attribute has the value "radio
". The scope of the name is the child list of the
parent element. The attribute must be omitted unless the
type
attribute is in the Radio state.
If a
command
element slave has a command
attribute, and
slave is in a Document
, and there is an
element in that Document
whose ID has a value equal to the value of slave's command
attribute, and the first such
element in tree order, hereafter master, itself defines a command
and either is not a
command
element or does not itself have a command
attribute, then the master command of slave
is master.
An element with a command
attribute must have a master command and must not have any
type
, label
, icon
, disabled
, checked
, or radiogroup
attributes.
command
elements are not rendered unless they form part of a menu.
Here is an example of a toolbar with three buttons that let the user toggle between left, center, and right alignment. One could imagine such a toolbar as part of a text editor. The toolbar also has a separator followed by another button labeled "Publish", though that button is disabled.
<menu type="toolbar"> <command type="radio" radiogroup="alignment" checked="checked" label="Left" icon="icons/alL.png" onclick="setAlign('left')"> <command type="radio" radiogroup="alignment" label="Center" icon="icons/alC.png" onclick="setAlign('center')"> <command type="radio" radiogroup="alignment" label="Right" icon="icons/alR.png" onclick="setAlign('right')"> <hr> <command type="command" disabled label="Publish" icon="icons/pub.png" onclick="publish()"> </menu>