The menu bar provides access to all functions using submenus or cascading menus to structure the content. Users like the persona Eve refer frequently to the menu bar, especially when they are seeking a function for which they know of no other interface. Ensuring that menus are well organized, are worded clearly, and behave correctly is crucial to the user’s ability to explore and access the functionality of the application.
- Provide access to all commands with the main menu.
- Structure the main menu for clearness.
- Do not have more than 10 menu categories within a menu bar. Too many categories are overwhelming and make the menu bar difficult to use.
- Seek to have no more than 20 items within a single level of a menu and use submenus to assist in this limitation. Add separators between logical groups within a menu. Seek to organize the menu items into groups of 7 or fewer strongly related items. The main menu must not exceed the minimum requirement for display resolution of 1280x768px/WXGA (with common themes).
- Use these standard menu categories if they apply to the application: File, Edit, View, Insert, Format, followed by the application specific item and after that Tools, Window, Help.
- Do not use more than three levels in a menu.
- Unify the location of menu items between modules, so users can always find the same item when switching between modules.
- Place items only in one location within the menu, except for special circumstances (e.g. Styles & Formatting appearing in the Styles menu in Writer).
- Sort items according to the frequency and importance at which the entries are used on the first level; but keep logically grouped items together (copy/paste, add/delete, etc.)
- Show icons for the most important items, except on submenus where all commands may have an icon. Do not show any icon if the OS has set this option (e.g. macOS, Linux/GTK).
- Do not change labels of menu item dynamically.
- 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).
- Use 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. ).
- 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'.
- Use singular form in labeling when applicable (e.g. Insert+Shape, though multiple shapes are listed under the submenu, a user can only select one item).
- Standardize on the verbs used - Show and Hide, Enable and Disable. Refer to the LO [terminology].
- Have an accelerator key with every label. Ideally do not duplicate accelerators in one menu and use the first letter.