Projects/Usability/HIG/ContextMenu: Difference between revisions

From KDE TechBase
< Projects‎ | Usability‎ | HIG
(Created page with "__NOTOC__ == Purpose == 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 ...")
 
No edit summary
Line 33: Line 33:


==  Implementation ==
==  Implementation ==
[[Category:Usability]][[Category:Behavior]][[Category:Viewing_and_Navigation]][[Category:Access_functions]]

Revision as of 09:39, 19 September 2013


Purpose

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.

Examples

Guidelines

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.

Behavior

  • 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.

Appearance

  • 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 that not apply at all.
  • 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.

Implementation