Monday, December 3, 2018

Don't hide or disable menu items?


In 2008, Joel Spolsky wrote:



A long time ago, it became fashionable, even recommended, to disable menu items when they could not be used.


Don't do this. Users see the disabled menu item that they want to click on, and are left entirely without a clue of what they are supposed to do to get the menu item to work.


Instead, leave the menu item enabled. If there's some reason you can't complete the action, the menu item can display a message telling the user why.




That's an interesting idea, but I wish he'd elaborated on what he meant by "display a message telling the user why."


Has anyone actually followed this advice? Are there any examples of menus that display a message instead of disabling a menu item -- perhaps something you designed yourself, or something out of Fog Creek?


I'm curious about the mechanism by which the message would be displayed and whether anyone has experience (good or bad) with showing a message instead of disabling a menu item.



Answer



He's making multiple points of varying validity in that post:


Explain why an item is disabled: Great advice that almost no one follows! Google search "greyed out menu" and you'll find heaps of people wondering why their menu items are disabled, because the app doesn't tell them. Giving them info when they hover over a disabled item or try to click on it is a great way to reduce confusion and support calls. Google Docs does this well, this little guy pops up if you try to click the save "button" because it's not a button; it autosaves!


enter image description here


Hiding items: Generally this is a bad idea, especially in desktop applications. By hiding items just because a user can't use them now often helps them learn the item doesn't exist and if they do see it they might not know why it doesn't exist half the time. Imagine if half of MS Word's interface disappeared every time you switched from being in a table to a bullet point to a footer!


There are two related situations where hiding items can be good however though: when it's a web page/app or when the item is disabled for security reasons. In a security context a lower level user may never have access to those functions, and in some cases even displaying them is undesirable when you don't want users to know certain things are possible (like change my name ect).



If the user will never be able to use the item just hide it and keep it clean and simple. Items like this are common on web pages and are almost always hidden until a user is authenticated.


Android's UI Guidelines recommend dimming out menu items that can't be used and only hiding them when they're part of a context menu. Context menus change all the time, after all.


Disabling Items: For the reasons mentioned above, disabling menu items but not hiding them lets users see all the options. As Android's guidelines indicate, "dimming out" or more commonly graying out an item makes it clear that an item is not usable, so I can see at a glance I can't use any of the following options (in GIMP):


enter image description here


That's 14 options that I can see at a glance are disabled. His suggestion is to make it appear I can use impossible options? No way. Greying items out lets me see at a glance if I can or can't do things. I don't have to click every item to tell if it's working or not. That's why we gray them out.


No comments:

Post a Comment

technique - How credible is wikipedia?

I understand that this question relates more to wikipedia than it does writing but... If I was going to use wikipedia for a source for a res...