I’m working on a desktop application. Some of the menu items allow the user to enable or disable certain functionality in the program. There is some disagreement on how these menu items should work.

My instinct is that the menu items should have captions like “Enable Feature”, and that we should display a checkmark next to the menu item when the feature is enabled. When the user chooses the menu item the checkmark will be added or removed but the text will not change.

Some colleagues say that we should dynamically change the text, so that the menu item will say “Enable Feature” when the feature is disabled (since choosing the item in that context will enable the feature). Likewise, when the feature is enabled the menu item will say “Disable Feature”. A checkmark is never displayed on the menu item in this case.

Can anyone point me to an authoritative description of how our interface should behave?


1 Answer 1



In this situation, you should keep the menu text the same; add or remove a checkmark as appropriate.

The “Menus” section of the Windows design guidelines says,

Don't change menu item names dynamically. Doing so is confusing and unexpected. For example, don't change a Portrait mode option to Landscape mode upon selection. For modes, use bullets and checkmarks instead.

And later,

Use a checkmark to toggle an independent setting on or off. If the selected and cleared states aren't clear and unambiguous opposites, use a set of bullets instead.

(Emphases in originals.)


The guidelines for OS X are, unfortunately, more nuanced ;-) You should read the entire section—it isn’t that long—but here are the key points:

  • If possible, display a pair of items (like “Take All Accounts Online” and “Take All Accounts Offline”) of which only one is enabled at a time.
  • “Use a changeable menu item name if there isn’t enough room to show both items.”
  • “Use a checkmark when the toggled items represent an attribute that is currently in effect. […] Don’t use a checkmark when the toggled item indicates the presence or absence of a feature.”


The only relevant passage I found in the GNOME HIG says,

Two linked actions can be combined into a single menu item, by changing the label when the item is selected. For example, a Play item may change to Pause. However, only use this type of item when actions are logical opposites which are obvious to users. Likewise, do not use this technique for settings—use check boxes or radio buttons instead.

The KDE HIG contains only vague implications that checkmarks should be used:

Do not change labels of menu item dynamically.


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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.