The Second Edition is out!
Visit to read excerpts and learn more.

Smart Menu Items

From Word for Windows


Change menu labels dynamically to show precisely what they would do when invoked.

Use when:

Your UI has menu items that operate on specific objects, like Close, or that behave slightly differently in different contexts, like Undo.


Menu items that say exactly what they're going to do make the UI self-explanatory. The user doesn't have to think about what object will be affected. She's also less likely to accidentally do something she didn't intend, like deleting "Chapter 8" instead of "Footnote 3." It thus encourages Safe Exploration (Chapter 1).


Every time the user changes the selected object (or current document, last undoable operation, etc.), change the menu items that operate on it to include the specifics of the action. Obviously, if there is no selected object, you should disable the menu item, thus reinforcing the connection between the item and its object.

Incidentally, this pattern could also work for button labels, links, or anything else that is a "verb" in the context of the UI.

What if there are multiple selected objects? There's not a whole lot of guidance out there -- in existing software, this pattern mostly applies to documents and undo operations -- but you could write in a plural, like "Delete Selected Objects."


From Illustrator 10

The last filter the user applied in this case was the "Hatch Effects" filter. The menu remembers that, so it changes its first two items to (1) reapply the same filter again and (2) modify the filter before reapplying. ("Hatch Effects..." brings up the dialog box to modify it.) Illustrator provides so many possible filters that the user might find it useful to know which one she applied last. And the accelerator keystrokes are handy for repeated application of the same filter!