 |
» |
|
|
 |
NAMEMenu (Control) — Reference DescriptionA menu is a control that contains a group of choices, generally
of any type. Menus are either pop-up menus, tear-off menus, menu
bars, or cascaded menus. A cascaded menu is a menu displayed from a cascading choice
and may be a pull-down menu, an option menu, or a submenu. A submenu is a cascaded menu displayed from a tear-off menu,
a pop-up menu, or another cascaded menu. A menu system is a spring-loaded system whose cascaded controls
are all menus. Figure 40 “Menu Types” illustrates
the various menu types. When to Use- Recommended
Use a menu to present choices, especially standard
choices, in a consistent manner. - Recommended
Use a menu to provide choices when there is no space
for the choices in the window itself, or when the display of the
choices would be awkward or would remove attention from the main
controls that the user needs to perform a task.
GuidelinesThe following guidelines apply to languages that read from
left to right. For information on bidrectional and vertical language
support, see Chapter 11. - Required
Place only action, cascading, dialog, and value
choices in a menu.
Organization- Recommended
Place related choices together in a menu. - Recommended
Use separators to distinguish groups of related
choices. - Recommended
Place application-specific choices in a menu following
a group of related predefined choices. - Recommended
Allow a user to add, remove, or reorder choices
on a menu. - Optional
Allow a user to add or remove cascaded menus and
to reorganize the allocation of choices to menus.
Submenus- Recommended
Avoid placing more than 15 choices in a menu, unless
requested by the user. Use submenus to reduce the number of choices
in a menu. - Recommended
Avoid using more than one level of submenus. - Recommended
Design submenus to contain at least three choices.
If only one or two choices would be in the submenu, place the choices
in the parent menu except where the menu can be customized by the
user to include additional choices.
Labels- Recommended
Do not use the label of a cascading choice as the
label of a choice within its corresponding cascaded menu. Instead,
consider the label as the title for the choices in the corresponding
menu. Choose a label for the cascading choice that accurately describes
the purpose of the menu.
Mnemonics- Required
Provide the predefined mnemonic for each predefined
textual choice in a menu. - Required
Provide a unique mnemonic for each application-specific
textual choice in a menu, unless there is no meaningful unique mnemonic.
Availability of Choices- Required
Except in the Selected menu or in a pop-up menu
(or a menu torn off from them), do not add or remove choices from
a menu to indicate unavailability of choices. Instead, display unavailable
choices with unavailable emphasis. - Required
If a choice is not available to a particular user
due to an external factor over which the user has no control, do
not include or reserve space for the choice in a menu. - Required
Display unavailable emphasis on action, value, and
dialog choices in a menu that cannot be activated or toggled in
the current context.
Size- Required
A cascaded menu should be just large enough so that
the labels of all the choices in the menu are fully displayed.
Layout- Required
Organize menus in either rows or columns. - Required
If you provide cascading choices in a menu other
than the menu bar, organize the menu in columns.
Navigation- Required
Support the use of directional keys for navigation
in a menu system when the menu containing the focus is not spring
sensitive. - Recommended
Support the use of directional keys for navigation
when focus is in a menu system and no mouse button is pressed.
Navigate Down- Required
In a menu organized in columns, make ↓
move the cursor to a choice in the row below, wrapping at the bottom
row within the menu. - Required
In a menu organized in rows, but not on a cascading
choice, make ↓ move
the cursor to the choice below, wrapping at the bottom edge within
the menu.
Navigate Up- Required
In a menu organized in columns, make ↑
move the cursor to a choice in the row above, wrapping at the top
row within the menu. - Required
In a menu organized in rows, but not on a cascading
choice, make ↑ move
the cursor to the choice above, wrapping at the top edge within
the menu.
Navigate Left- Required
In a menu organized in rows or columns, whose parent
is not a menu, make ←
move the cursor to the choice to the left, wrapping at the left
edge within the menu. - Required
In a menu organized in rows or columns, but not
at the left edge, make ←
move the cursor to the choice to the left. - Required
At the left edge of a menu organized in rows or
columns, whose parent menu is organized in columns, make ←
remove the menu and move the cursor to its associated cascading
choice. - Required
At the left edge of a menu organized in rows or
columns, cascaded from a menu-bar item, make ←
remove the menu and activate the menu-bar item to the left, first
wrapping within the menu bar, if necessary.
Navigate Right- Required
In a menu organized in columns, on a cascading choice,
make → activate the
choice. - Required
In a menu organized in rows or columns, whose parent
is not a menu, but not on a cascading choice, make →
move the cursor to the choice to the right, wrapping at the right
edge within the menu. - Required
In a menu organized in rows or columns, but not
at the right edge, and not on a cascading choice, make →
move the cursor to the choice to the right. - Required
At the right edge of a menu organized in rows or
columns, whose cascaded menu ancestors are all organized in columns,
and which is ultimately descended from a menu-bar item, but not
on a cascading choice, make →
remove all the cascaded menus and activate the menu-bar item to
the right, first wrapping within the menu bar, if necessary.
Visual Guidelines- Required
When a cascading choice is used in a menu whose
choices are aligned vertically, display a right-pointing arrow to
the right of the choice and align the right edge of the arrow with
the right edge of the menu.
Focus and Default Choices- Required
If a spring-loaded menu is displayed and is not
spring sensitive, give it focus unless the focus is in a descendant
spring-loaded menu. - Required
When focus moves to a menu that has just been displayed,
place the active cursor on the default choice in the menu. If not
determined in any other specified way, make the default choice the
first choice in the menu or, if that is a tear-off choice, the following
choice.
Placement- Required
When a submenu is displayed from a menu-bar item,
place it, if possible, immediately below the menu-bar item, with
the left edges of the menu and menu-bar item aligned. - Required
When a submenu is displayed from a menu organized
as a single column, place the submenu, if possible, so that its
left edge is aligned with the right edge of the parent menu. - Recommended
When a submenu is displayed from a menu whose choices
are aligned vertically, place the submenu, if possible, so that
its default menu item is directly to the right of the right arrow
in the cascading choice from which the submenu was displayed.
Keyboard Activation and Toggling- Required
When the active cursor is on an available choice
in a menu and the user presses Select,
Space, Ctrl
Space,Enter,CtrlEnter,
or keypadEnter, activate or toggle
the choice.
Essential Related TopicsFor more information, see the Cascading (Choice Type),
Choice, and Spring-Loaded (Control Type)
reference pages. Supplemental Related TopicsFor more information, see the Emphasis
(Cue), Menu Bar (Menu Type),
Mnemonic, Pop-Up Menu (Menu Type),
and Tear-Off Menu
(Menu Type) reference pages.
|