Usage patterns
Is this the right user interface?
Design concepts
Guidelines
General
Menu bars
Hiding menu bars
Menu categories
Menu item organization and order
Submenus
Presentation
Tab menus
Context menus
Bullets and checkmarks
Icons
Access keys
Shortcut keys
Standard menus
Using ellipses
Labels
Documentation
A menu is a list of commands or options available to users in the current context.
Drop-down menus are menus displayed on demand on mouse click or hover. They are normally hidden from view and therefore are an efficient means of conserving screen space. A submenu or cascading menu is a secondary menu displayed on demand from within a menu. They are indicated by an arrow at the end of the submenu label. A menu item is an individual command or option within a menu.
Menus are often displayed from a menu bar, which is a list of labeled menu categories typically located near the top of a window. By contrast, a context menu drops down when users right-click on an object or window region that supports a context menu.
A typical menu bar displaying a drop-down menu and submenu.
Note: Guidelines related to command buttons, toolbars, keyboard, and Start menu are presented in separate articles.
Menus have several usage patterns:
| Menu bars A menu bar displays commands and options in drop-down menus. |
Menu bars are very common and easy to find, as well as an efficient use of space.
A menu bar from Windows® Mail. |
| Toolbar menus A menu bar implemented as a toolbar. |
Toolbar menus are toolbars consisting primarily of commands in menu buttons and split buttons, with only a few direct commands, if any.
A toolbar menu in Windows Photo Gallery. For guidelines on this pattern, see Toolbars. |
| Tab menus Buttons within tabs that display a small set of commands and options related to a tab in a drop-down menu. |
Tabs with menus look like ordinary tabs except their bottom portion has a button with drop-down arrow. Clicking the button displays a drop-down menu instead of selecting the tab.
Tab menus are used in Windows Media Player. |
| Menu buttons Command buttons that display a small set of related commands in a drop-down menu. |
Menu buttons look like ordinary command buttons except they have a drop-down arrow within them. Clicking the button displays a drop-down menu instead of performing a command. Split buttons are similar to menu buttons except that they are variations of a command, and clicking the left portion of the button performs the action on the label directly.
A menu button with a small set of related commands. |
| Context menus Drop-down menus that display a small set of commands and options related to the current context. |
Context menus drop-down when users right-click on an object or window region that supports a context menu.
A context menu from Windows Explorer. If context menus are the best menu choice but you need a solution suitable for all users, you can use a menu drop-down arrow button.
A context menu made visible with a menu drop-down button. |
| Task pane menus A small set of commands related to the selected object or program mode. |
Unlike context menus, they are displayed automatically within a window pane, instead of on demand.
A task pane menu from the Windows Photo Gallery viewer. |
To decide, consider these questions:
Do the following conditions apply:
If so, consider using a menu bar.
Do the following conditions apply:
If so, consider using a toolbar menu instead of or in addition to a menu bar.
Do the following conditions apply:
If so, consider using a tab menu instead of a menu bar.
Do the following conditions apply:
If so, consider providing context menus for the objects and window regions that need them.
For browser-based programs, task pane menus are a more common solution for contextual commands. Currently, users expect context menus in browser-based programs to be generic and unhelpful.
Do the following conditions apply:
If so, consider using a task pane menu instead of a context menu.
Effective menus that promote a good user experience:
If you do only one thing...
Choose a command presentation that matches your program type, window types, command usage, and target users.
For more information and examples, see Menu Design Concepts.

In this example, Windows Internet Explorer® provides a menu bar option.
For more information, see hiding menu bars.Generally, toolbars work great together with menu bars because having both allows each to focus on their strengths without compromise.

In this example, Windows Media Player uses task-oriented menu categories.

In this example, Windows Media Player has Options and Help menu items in each tab menu.

In this example, the New submenu replaces separate commands for New mail message, New news message, New folder, and New contact.

In this example, a menu drop-down button is used to make a context menu visible.

In this example, the Organize menu has icons only for the most commonly used menu items.
For more information and examples, see Icons.

In this example, the Paint program in Windows assigns numeric access keys to recently used files.
For more guidelines and examples, see Keyboard.
For more guidelines and standard shortcut key assignments, see Keyboard.
The standard menu bar structure is as follows. This list shows the menu category and item labels, their order with separators, their access and shortcut keys, and their ellipses.
File
New Ctrl+N
Open... Ctrl+O
Close
<separator>
Save Ctrl+S
Save as...
<separator>
Send to
<separator>
Print... Ctrl+P
Print preview
Page setup
<separator>
1 <filename>
2 <filename>
3 <filename>
...
<separator>
Exit Alt+F4 (shortcut usually not given)
Edit
Undo Ctrl+Z
Redo Ctrl+Y
<separator>
Cut Ctrl+X
Copy Ctrl+C
Paste Ctrl+V
<separator>
Select all Ctrl+A
<separator>
Delete Del (shortcut usually not given)
<separator>
Find... Ctrl+F
Find next F3 (command usually not given)
Replace... Ctrl+H
Go to... Ctrl+G
View
Toolbars
Status bar
<separator>
Zoom
Zoom in Ctrl++
Zoom out Ctrl+-
<separator>
Full screen F11
Refresh F5
Tools
...
<separator>
Options
Help
<program name> help F1
<separator>
About <program name>
The standard toolbar menu buttons are as follows. This list shows the menu category and item labels, their order with separators, their shortcut keys, and their ellipses.
Tools
Full screen F11 (Reassign access key if Find is also used.)
Toolbars (Note that the Menu bar command goes here.)
<separator>
Print...
Find...
<separator>
Zoom
Text size
<separator>
Options
Organize
New folder Ctrl+N
<separator>
Cut Ctrl+X
Copy Ctrl+C
Paste Ctrl+V
<separator>
Select all Ctrl+A
<separator>
Delete Del (shortcut usually not given)
Rename
<separator>
Options
Page
New window Ctrl+N
<separator>
Zoom
Text size
The standard context menu contents are as follows. This list shows the menu item labels, their order with separators, their access keys, and their ellipses. Context menus don't show shortcut keys.
Open
Run
Play
Edit
Print...
<separator>
Cut
Copy
Paste
<separator>
Delete
Rename
<separator>
Lock the <object name> (checkmark)
Properties
While menu commands are used for immediate actions, more information might be needed to perform the action. Indicate a command that needs additional information (including a confirmation) by adding an ellipsis at the end of the label.
In this example, the Print... command displays a Print dialog box to gather more information.
Proper use of ellipses is important to indicate that users can make further choices before performing the action, or even cancel the action entirely. The visual cue offered by an ellipsis allows users to explore your software without fear.
This doesn't mean you should use an ellipsis whenever an action displays another window—only when additional information is required to perform the action. For example, the commands About, Advanced, Help, Options, Properties, and Settings must display another window when clicked, but don't require additional information from the user. Therefore they don't need ellipses.
In case of ambiguity (for example, the command label lacks a verb), decide based on the most likely user action. If simply viewing the window is a common action, don't use an ellipsis.
Correct:
More colors...
Version information
In the first example, users are most likely going to choose a color, so using an ellipses is correct. In the second example, users are most likely going to view the version information, making ellipses unnecessary.
Note: When determining if a menu command needs an ellipsis, don't use the need to elevate privileges as a factor. Elevation isn't information needed to perform a command (rather, it's for permission) and the need to elevate is indicated with the security shield.
Correct:
Incorrect:
In the incorrect example, the menu item is based on its technology.
Incorrect:
In this example, the New menu item incorrectly has an ellipsis.
When referring to menus:
Examples: