Guidelines for Designing Menus
CS 252, Winter 2000
The guidelines presented here are based on a variety of
as well as practical experimentation with user interfaces. Each guideline
is presented with an explanation and a specific example.
From J. R. Brown and S. Cunningham, Programming the User
Interface, John Wiley & Sons, 1989.
(1) Keep menus short and clear.
(2) Keep nested menus as simple as possible, and do not nest
(3) Be sure your graphic representations are immediately
distinguishable from each other.
(4) Use grouping to give a first level of discrimination in
(5) In any graphic or text menu, highlight the currently
From Joseph S. Dumas, Designing User Interfaces for Software, Prentice-Hall, 1988.
(1) Put a meaningful title on the top of every menu.
(2) Choose an organizing principle for the menu options.
(3) To facilitate scanning, put blank lines between logical
groupings of menu options and after about every fifth
option in a long list.
(4) Provide a way for the user to leave the menu without
choosing an option.
(3) Use words for your menu options that clearly and specifically
describe what the user is selecting; use simple, active verbs
to describe menu options.
(4) Use icons that unambiguously identify the meaning of the
(5) Minimize the highlighting used on a menu.
(6) Display the menu options in mixed, upper, and lower case
(7) Organize menu hierarchies according to the tasks users will
perform, rather than the structure of the software modules.
(8) Use function keys sparingly to speed up the execution of
frequently used operations.
Adapted from W. O. Galitz, The Essential Guide to User
Interface Design, John Wiley & Sons, 1996.
A. Organization of menus:
- Display all relevant alternatives.
- Display only relevant alternatives.
- Delete or gray-out inactive choices.
- Match the menu structure to the structure of the task. The
organization should reflect the most efficient sequence
of steps to accomplish a person's most frequent or most
- If menu items cannot be grouped into logical categories,
confine each menu to ten or fewer items. If the items
are not complex, the number can be increased to 20.
- In multilevel menus, the number of choices should decrease
progressively as each lower lever is traversed.
- Provide two sets of menus (for novice and expert users), one
with a minimal set of actions and cascaded menus; the other
with a complete set of actions and menus.
- Provide users with an easy way to restructure a menu according
to how work is accomplished.
B. Text of menu items:
- Items can be names of actions, properties, documents, or windows.
- Do not use abbreviations in menu item names.
- Item names may be single words, compound words, or multiple words.
- Place the key word first (usually a verb).
- The first letter of each item name word should be capitalized,
except for conjunctions, articles, and prepositions.
- Use task-oriented, not data-oriented, wording.
- Use related wording construction for the different items.
- A menu item must never have the same wording as the menu title.
- Item descriptions should be unique within a menu.
- Identical items on different menus should be named identically.
- Items should not be numbered unless the listing is numeric in
C. Grouping of menu items:
- Create hierarchical groupings of items that are logical,
distinctive, meaningful, and mutually exclusive.
- Categorize groups so as to maximize the similarity of items
within a category, and minimize the similarity of items
- Separate groupings through either wider spacing or a thin
- Provide immediate access to critical or frequently chosen items.
D. Ordering of menu items:
- Order lists with a small number of options (seven or less) by
one of the following:
- their natural order
- sequence of occurrence
- frequency of occurrence
- Use alphabetic order for long lists (eight or more options), or
for short lists with no obvious pattern or frequency.
- Separate potentially destructive actions from frequently chosen
- Maintain a consistent ordering of options on all related menus.
For fixed-length menus, maintain consistent absolute positions;
for variable-length menus, maintain consistent relative