The Windows Interface
A Summary of GUI Guidelines

Menus

Types of Menus

A menu is a list of items, each representing a command. There are three types of menus: drop-down (or pull-down); pop-up (or contextual); and cascading (or hierarchical).

Drop-down menus, represented by a menu title in the menu bar of an application window, are the most common type of menus in current applications.

Pop-up menus appear when specifically invoked. They do not occupy dedicated screen space. Appearing at the pointer’s location, they eliminate navigation to a menu bar or control bar.

A cascading menu is a submenu attached to the right side of a menu item in the parent menu. The use of multi-layer cascading menus can simplify the top-level menu(s), but are difficult to access. Except for complex applications with many commands, the disadvantages of cascading menus outweigh their advantages. Their use is not recommended. If used, they are most appropriate for ordinary commands, dialog boxes, and interdependent settings from which one choice can be made.

Menu Components

Menu Titles

All drop-down and cascading menus should have menu titles. A pop-up menu typically does not have a title. Titles should represent the entire menu and clearly indicate the purpose of the items on the menu.

Compound word titles (e.g., Fontsize) are acceptable, but are not advisable (they may be confusing to users). Menu titles may not contain numbers or spaces. Titles should contain a mnemonic access character.

The access character should be (in suggested order of preference):

1) the first letter of the title, unless another letter offers a stronger mnemonic link or the first letter conflicts with another menu title; or

2) a distinctive consonant in the title; or

3) a vowel in the title.

No two menus should have the same access character.

Applications that support different document types may display different menu bars, depending on the document type that has focus. In such applications, if there are no documents open, then all menu titles should be removed except for titles of menus containing commands that remain active even when no documents are open.

In applications that support only one document type, menu titles should not be removed from the menu bar when no document are open. Instead, dim the menu titles that do not contain any active commands.

Menu Items

A menu item may be the name of

1) an action (e.g., Open);

2) an attribute (e.g., Bold); or

3) a document ;or a window.

Menu Items, cont’d

Menu items may be graphical (e.g., a pattern).

If a menu item has a keyboard shortcut or accelerator (in addition to the mnemonic access character), list the shortcut at the first tab position after the name of the longest item in the menu.

Whenever a menu contains items that fall into logical groups, the groups should be separated by a solid line. If a group has logical subgroups, the subgroups should be separated by a dashed line. This helps users remember the items in "chunks."

Some menu items take effect as soon as they are chosen. Others require additional information before the command can be executed. A menu item requiring additional information is called a dialog box command. The name of a dialog box command should be followed by an ellipsis ("..."). If a command may or may not lead to a dialog box, then omit the ellipsis.

The selection of a menu item may initiate a process or change an attribute of data or a property of the user interface. Menus that change attributes or properties are called settings. Settings may be independent (many of N) or interdependent (one of N). Independent settings are the menu equivalents of check boxes in dialogs. More than one may be turned on at a time. Interdependent settings are the menu equivalents of option buttons in dialog boxes. Only one may be turned on at a time. A group of related settings (either independent or interdependent) should be separated from other menu items by a solid horizontal line.

A selected menu item should have a check mark to its left. Optionally, graphics other than a check mark may be used to distinguish selected independent from interdependent items on one menu (e.g., mark the selected independent items with a check and the selected interdependent item with a bullet).

If the two states of a setting are clear and obvious opposites, use a graphic mark (e.g., check mark) to show the states. If the two states are not obvious opposites, use a pair of alternating menu item names to indicate the two states. The item name indicates that state that will be turned on when the item is chosen, not the current state. The same mnemonic access character should be used for alternate item names when possible. When the state of a setting is indeterminate (e.g., mixed fonts in selected text), there should be no graphic marks next to the menu items for which settings are indeterminate.

Menu items that are not meaningful in the current state of the application should be disabled. Dim the name of the disabled item to indicate that they are unavailable. If all items on a menu are not meaningful in the current state of the application, disable the menu and dim its name. If a user attempts to select a dimmed menu item, the application may optionally provide a brief message explaining why the command is unavailable.

Rules for Menu Item Names

1. Menu item names or graphics should be descriptive.

2. Menu item names should be unique within a menu, but may be repeated in different menus.

3. Menu item names may be a single word, compound words, or multiple words.

4. Each item name should have a mnemonic access character. The rules for choosing an access character for menus apply to menu items. In addition, numbers can be used as access characters for menu items that are graphics or part of a varying list of .

5. An ellipsis ("...") should follow the items names when the command requires additional information before it can be executed.

6. Item names should be in a single column.

Note: Please see the Microsoft Design Guide for details about menu operations.

Standard Menus

Every application should have a set of standard menus to give users a common starting point across all applications. The standard menus are Control, File, Edit, and Help.

Control Represented at the left end of the title bar by a small box, when the document is not maximized.

When the document is maximized, the small box appears at the end of the menu bar.

File Usually appears first on the menu bar. (alt+F).
Edit Follows File, if supported. (alt+E).
Help Usually appears last on the menu bar. (alt+H).

Note: Please see the Microsoft Design Guide for details about the control menu.

File Menu

Note: As of this edition of the Design Guide, no standard shortcut keys were defined for the File menu.

New or New... Creates a new document with a default name (e.g., Untitled, Documentn, Sheetn). Applications that can create different kinds of documents should display a standard dialog box to allow user to select the type. The most common type should be the default choice. A user-supplied file name should not be required.
Open Displays standard dialog box that allows user to open existing files in different directories or on different storage devices.
Save Saves the file in the active window. If the file has never been saved, displays Save As dialog.
Save As Displays standard dialog box to allow user to save the current file under a different name or in a different directory.
Print or Print... Prints active document in currently selected printer. May display dialog box to allow user to set print options.
Print Setup Displays standard dialog to allow user to change printer connections and specify settings for selected printer. Note: The label, Printer Setup, is reserved for the system dialog.
Exit Terminates the application and closes all windows belonging to the application. In applications that do not include File menus, the Exit command should be the last command on the leftmost application menu, after the Control menu.

The File menu often includes optional items such as a list of most recently used files (numbered). The number of files listed should be no less than three and no more than eight and should remain constant within the application. The list may display all or part of the pathname. Internally, the full pathname should be saved so that the file can be opened.

Edit Menu

Undo Reverses the last action that altered user’s data. The name of the last action appears after "Undo." If the action cannot be reversed, the command is dimmed or, optionally, the alternate item name "Cannot Undo" is used. (Shortcut: ctrl+Z)
Cut Deletes selected data from the current window or field and transfers it to the clipboard. The command is dimmed if there is no selection. (Shortcut: ctrl+X)
Copy Copies selected data, objects, or references to clipboard; marks current selection for subsequent use in Paste Link operations.
Paste Pastes data, object, or reference from clipboard into the current document at the insertion point. Replaces current selection, if any. (Shortcut: ctrl+V)
Paste Link Creates a link at the insertion point in the current document to the item previously marked in the source (using Copy). Command is dimmed if the clipboard is empty. (Shortcut: None defined).
Links... Displays Link dialog for changing link properties and accessing linked objects.

Common optional Edit menu items include Paste Special, Repeat <action>, Find, Replace, Clear, and Delete. Please see the Microsoft Design Guide for details.

Help Menu

The Help menu is always the rightmost menu of the menu bar.

Contents Opens Help window and displays list of main topics.
Search for Help On... Opens Help window and displays dialog that allows the user to search for Help topics containing specific key words.
How to User Help Opens Help window and displays instructions for using Help.
About <Application Name> Please see Section 8 of this document or Chapter 8 of the Microsoft Design Guide for details.

Please see the Microsoft Design Guide about common optional items on the Help menu.

Common Optional Menus

View Menu

The View menu includes commands for changing the user’s view of the data in the current window. It may also include commands for controlling the display of interface elements such as status bars and control bars that are fixed components of the application window. (The display of movable control bars should be controlled by commands on the optional Window menu.) The View menu can also include commands for displaying window panes.

Window Menu

The Window menu should be included in all MDI applications as the last menu before Help. It contains commands that manipulate document windows as whole entities.

The Window menu should contain a numbered list of all open windows. The list should appear after other menu items separated by a horizontal line. The currently active document window should have a check mark to the left of its name. The order of document windows in the list is the order in which they were opened. The list shows up to nine open document windows. If more than nine are opened, the list contains a More command which display a dialog box listing the other open document windows. The list is renumbered when a window is closed.

Please see the Microsoft Design Guide about common optional items on the Window menu and window arrangement commands.