A context menu is a list of functions or options (respectively menu items) available to users in the current context. 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. Context menus basically intends to give alternative access to modify the focused element and to access context specific functions. They are an efficient means of conserving screen space. Both persona will refer to the context menu but Eve might individualize her application in order to heavily rely on the context menu.
- Use context menus for well-known and frequently used functions only.
- Provide items in the context menu for modification purpose and context sensitive functions but not to insert elements or for view options, for instance.
- Do not use context menus as the only way to start a function. Always have a redundant access.
- Always provide a context menu for inherent functions. For instance, functions that have only keyboard access like 'Copy' and 'Paste' for textual controls, or standard functions like 'Forward' and 'Backward in case of navigation. Disable those functions when not applicable.
- Do not put more than 10 items within the default level of a menu added by not more than 5 context sensitive items after right clicking an element. Add separators between logical groups within a menu. Organize the menu items into groups of seven or fewer strongly related items.
- Sort context menus so that
- More important contextual entries groups appear at the top (e.g. table features before character/paragraph/page item section)
- Entries requiring little to no additional user input (non-dialog entries) should be at the top of the group
- Same functions have the same position (copy/paste is always on top).
- Avoid combining actions (such as delete, insert, print) and attributes (for instance bold formatting, double spacing, center alignment) in the same group.
- Features available in the toolbar should ideally not be available in the context menu, except for special cases (e.g. clipboard functions).
- Do not change labels of menu items dynamically.
- Indicate a function that needs additional information (including a confirmation) by adding an ellipsis at the end of the label (e.g. Save as…).
- Use a verb-action combination for the label (e.g. Show ruler, Format image) but adopt this rule for localization.
- Standardize the verbs used - Show and Hide, Enable and Disable. Refer to the LO [terminology].