A context menu is a list of functions or options (respectively menu items) available to users in the current context. A submenu or cascading menu is a secondary menu displayed on demand from within a menu.
Menus are normally hidden from view (except menu bars) and drop down when users right-click an object or window region that supports a context menu. They are an efficient means of conserving screen space, therefore.
Is this the right control
- Provide a context menu for implicit function, e.g. operations with list items.
- Use context menus for well known functions only.
- Do not use context menus as the only way to start a function. Always have a redundant access.
- Do not put more than 10 items within a single level of a menu. Add separators between logical groups within a menu. Organize the menu items into groups of seven or fewer strongly related items.
- If appropriate, use an access button to make contextual menu functionality easier to access.
- Place the most frequently used items at the top of the menu.
- Avoid combining actions and attributes in the same group.
- Use submenus cautiously. Submenus add complexity to the interface and are physically more difficult to use, so you should take care not to overuse them.
- Do not change labels of menu item dynamically.
- Choose single word names for menu categories. Using multiple words makes the separation between categories confusing.
- Disable menu items that don't apply to the current context, instead of removing them.
- Hide menu items completely if they are permanently unavailable on the user's system (e.g. due to missing hardware capabilities or missing optional dependencies).
- Assign shortcut keys to the most frequently used menu items (Ctrl+<Key>). For well-known shortcut keys, use standard assignments. Use function keys for commands that have a small-scale effect (F2 = Rename) and ctrl key for large-scale effect (Ctrl+S = Save).
- Indicate a function that needs additional information (including a confirmation) by adding an ellipsis at the end of the label (e.g. Save as…).
- Provide menu item icons for the most commonly used menu items.
- Turning on an item in the menu should always enable the option. Negative options create a double negative which can be confusing. For example, use 'Show hidden files' instead of 'Hide hidden files'.
- Do not use compound words (e.g. ToolOptions), and hyphens (e.g. Tool-Options) in label names; they make words harder to read and recognize.