Types of Menu

Drop-down Menus

Figure 4.2. A typical drop-down menu

Screenshot of a typical drop-down menu

A drop-down menu appears when the user clicks on its title in a menubar, or focuses the title and presses Return.

CB-Ed/Fig: Define "post," as no-brainer-ish as it may seem, and also add a figure to show what it means. A simple menu being shown at the user clicking on a menu title on a menubar, or "posted," makes sense. CFB: I've just reworded everything to avoid the use of "post"

Guidelines

  • Only place items on a menu that relate to that menu's title.

  • Organize menu items in the standard order— see the section called “Standard Menus”. For application-specific items where there is no standard order, arrange in numerical or other logical order (for example, 50%, 100%, 200%), task order (for example, Compile followed by Debug) or by expected frequency of use.

  • Limit top-level menus to a maximum of about 15 items. If you have any more items than this, consider moving a functionally-related subset of the items into a submenu or a new top-level menu.

  • Do not add or remove individual menu items while the application is running, make them insensitive instead. Entire menus may be added or removed from the menubar at runtime, however, for example in component-based applications.

  • Immediately update menu items that are edited directly or indirectly by the user, such as those on the Open Recent submenu and the Bookmarks menu.

CB-Ed: As in JLFDG AT p. 33, perhaps provide a table of common access keys, or "mnemonics." CFB: the keyboard navigation chapter already does so

Submenus

Figure 4.3. A drop-down menu with a submenu

Screenshot of a drop-down menu with a submenu

A submenu appears when the user clicks its title, which is indicated by a small arrow symbol beside its label. You can save space on long menus by grouping related commands onto a single submenu.

Guidelines

  • Use submenus sparingly, as they are physically difficult to navigate and make it harder to find and reach the items they contain.

  • Do not create submenus with fewer than three items, unless the items are added dynamically (for example the File->New Tab submenu in gnome-terminal).

  • Do not nest submenus within submenus. More than two levels of hierarchy are difficult to memorize and navigate.

CB-Ed/Fig: In JLFDG AT, p. 41, the Most Recently Used (MRU) list is recommended to contain no more than 10 items. Add a figure here, with callouts to point out this rule, among others, if any are developed.

Popup Menus

Figure 4.4. A popup menu for a mail folder

Screenshot of a popup menu for a mail folder, listing the actions that can be performed on that folder

Popup menus provide shortcuts to those menu items that are applicable only to the currently selected object. As such, they are sometimes known as "context menus" or "shortcut menus". A popup menu is shown when the user right-clicks on an object, or selects the object and presses Shift-F10.

Be aware that popup menus are used primarily by intermediate and advanced users. Even some users who have used graphical desktops for many years do not know about popup menus until somebody shows them.

Guidelines

  • Provide a popup menu for every object, selectable part, and text input target such as entry fields.

  • Provide an access key for each item. However, to enhance their spatial efficiency and readability, do not show keyboard shortcuts in popup menus.

  • Since the user may not be aware of their presence, do not provide functions that are only accessible from popup menus unless you are confident that your target users will know how to use popup menus.

    But see http://bugzilla.mozilla.org/show_bug.cgi?id=34357
  • Order items on a popup menu as follows:

    • the double-click action for object, when it exists

    • other commands and settings in expected frequency-of-use order

    • transfer commands such as Cut, Copy, and Paste

    • Input Methods, where applicable. Input Methods is provided by GTK+ for supporting alternatives to the keyboard for input (such as used for Japanese, Chinese, and some accessibility technologies).

  • Popup menus need to be as simple as possible to maximize their efficiency. Do not place more than about ten items on a popup menu, and do avoid submenus.

CB-Ed: In the previous note, define the Input Methods menu and why it is an exception, for scalability reasons (other items may fall into the same category). It also sounds like a pretty low-level command; should this be exposed to the user? SN-Ed: No, it should not be exposed to the user. I'm not really sure what possessed the GTK guys to put this in every right click menu for text boxes. I suppose in this case having it be a submenu is good (if they insist on it existing) because it makes it maximally invisible GJM: To make this worse, they've added "Insert Unicode control character".