menu selection
Menus offer a selection of choices. The user picks one by typing a number
or pointing and clicking the mouse. The corresponding action is executed
immediately.
There are three types of menus:
- Permanent menus used to be popular in text-based systems,
but also panels function as permanent menus.
Panels usually consist of image icons.
- Pull-down menus are activated by clicking on a button-like
word (sometimes called the menu's title,
usually at the top of a window.
Usually the title of a menu is not part of the menu.
However, there exists a variation where the title is the default
menu selection, and may not even be the first menu item.
Menus appearing in HTML forms have this appearance.
- Pop-up menus are activated by clicking a mouse button anywhere.
A menu pops up near the position of the mouse.
A user-interface may offer many pull-down menus, but only as many
pop-up menus as there are mouse buttons (or combinations of buttons with
modifier keys such as "Shift", "Control" and "Alt").
If there are more pop-up menus, the user needs to remember which button
activates which menu. With pull-down menus the permanently displayed
title word gives an indication of what menu to expect, and thus causes
less cognitive overhead.
Menus are usually organized in trees. Moving the mouse pointer over an
item may activate a submenu. Sometimes there is an acyclic network,
meaning that a submenu may be reachable through different paths.
Menus may offer two types of interaction:
- Some systems require the mouse button to remain pressed until a menu
item is selected.
Older windowing systems enforced this way of interacting with menus.
The "blit" (and later 5620 and 630 terminals made by AT&T) worked
like this, and older X window managers like twm still do too.
- Some systems let you click the mouse button, and then show the menu
permanently, until the button is clicked again over a menu item.
The following advice has been motivated by user tests:
- Menu trees should be shallow. It is difficult to remember how
to reach a submenu which is hidden several levels down.
- A menu should fit on the screen, and preferably offer a small number
of choices (some say 7, others say 16 or less, etc.)
For some menus it may be difficult to keep the number of items small.
Examples are: selecting a country from a complete list (of all known
countries), selecting a font from the large list of available fonts on a
system.
The rule for small number of items is aimed at semantically different
operations.
- Menu items should be ordered in a consistent way.
Tests have shown that learning is faster when items are sorted alphabetically
than semantically.
- Unavailable options can be grayed out to avoid moving (the available)
menu items.
When using grayed menu items you must ensure that the unavailable actions
are never desired by the user. It is frustrating when the user knows
which action she knows to perform, and she knows which menu offers it,
only to discover that the menu item is grayed out.
- Long scrolling menus are difficult to use.
The old "blit" family of terminals (including 5620 and 630) not only
used scrolling menus, but also required the mouse button to remain
pressed throughout the entire process of activating the menu,
scrolling through the menu and selecting the desired item.
Newer window systems do not require the button to remain presses,
and offer continuations from the last displayed menu item instead of
scrolling. (From the last menu item one can reach a continuation
menu.) Menus in HTML forms exhitib this behavior.
- Moving the hand from keyboard to mouse takes time (approximately
equivalent to 8 keystrokes).
Keyboard shortcuts for expert users improve performance.