Tuesday, 1 July 2008

When to hide or disable menu items and buttons

I often disagree with Joel, also in his latest post about menu items. Hiding and disabling buttons and menu items is usually done in order to prevent, that the user triggers an event, and it's perfectly ok to do in some cases:

  • Hide buttons that the user wouldn't search for. For instance, a non-administrative user doesn't need to see the Admin button.

  • Disable buttons where it is obvious to the user why it isn't clickable. For instance, a well implemented undo functionality doesn't need to have it's menu item enabled before the user starts editing. That would actually confuse some users.

  • In all other cases, make the button visible and enabled, but show a message that explains to the user, why this functionality is currently not available, and what the user can do to make it available.

2 comments:

Bart Roozendaal said...

I'm afraid that I disagree with you and agree with Joel. Showing a function that user cannot use hardly ever is prefered. And showing a message that the user cannot do something is an absolute no-no in my opinion. The only exception that I see is a commercial one: "You cannot use this function unless you pay us more money". Otherwise I would try to hide anything that the user cannot use in any circumstance.

Of course it's a different matter if a user might be able to use something but cannot at this present time (e.g. Save when something isn't modified).

Just my two cents worth...

Alister Christie said...

I'm no expert on UI design, but if I'm going to disable a button, and it's not obvious why - a hint is often helpful.