I have a context menu set on a list box. The list items support a Rename command. Right clicking a single list item adds the Rename command to the context menu. The Rename command cannot execute when several items are selected in the list because the item names are unique. Should Rename be disabled or removed from the context menu in this case?
This is what the Windows UX Guidelines say:
Remove rather than disable context menu items that don't apply to the current context. Doing so makes context menus contextual and efficient.
Exception: Disable menu items that don't apply if there is a reasonable expectation for them to be available:
- Always have the relevant standard context menu commands, such as Cut, Copy, Paste, Delete, and Rename.
- Always have the commands that complete related sets. For example, if there is a Back, there should also be a Forward. If there's a Cut, always have a Copy and Paste.
I think Rename should be removed in the multi-select case, but I guess I'm not sure if this fits as an exception to this rule. Is there a "reasonable expectation" for it to be available?