Context Menu

Purpose

A context menu displays a list of actions applicable to the current context. It is normally hidden from view (except menu bars) and drops down when the user right-clicks on something.

Context menus should be considered accelerators for advanced desktop users. Many mouse users don't think to right-click on things. The right-click gesture required to show a context menus can be difficult to perform on many laptops, and it is flat-out impossible on a touch device.

Guidelines

Is this the right control?

  • Provide a context menu for any item with actions that can be performed on it.
  • Provide a context menu for common actions like 'Copy' and 'Paste' for textual controls, or navigation actions like 'Forward' and 'Backward.
  • Don't use context menus as the only way to access functionality. Every item in a context menu must be available via a method that is somehow visible by default--typically the app's main menu bar, but also via toolbar buttons.

Behavior and Appearance

Follow the same guidelines for menu bars except for disabled menu items. Context menus should contain items relevant for their context, if it's not relevant then it shouldn't appear in the menu at all.