Search code examples
user-interfacemenuconventions

Is it better to disable or omit context/popup menu options?


My application is context-sensisitve and I dynamically build menus for the main window / context/popup, and other places. I typically know if a given menu command will be valid given the current state of the application. Is it better practice to DISABLE/GREY the menu options which currently do not apply OR since I'm generating the menu anyway, OMIT them entirely?

The application is a Java/Swing is anyone is curious. The question seems GUI toolkit agnostic but may be platform dependent.


Solution

  • The old apple guidelines say to Disable for fixed menus (in the menu bar), and omit for context menus.

    I guess the motivation is that a context menu is supposed to only show options that are available to the particular context, and the main menus are supposed to show all commands, so the user knows where "Save" would be even if it's not selectable at the moment.