Rules for disabling or hiding menu items

Have you ever been in a situation where a menu function that you really really want to use, but cannot make it disconnect or become a thing of the past?

There is an argument to always leave the menu turned on and then display a message to the user explaining why the menu function cannot be activated when they click on it. I think that there is merit in this, but perhaps there is a smarter way to solve this problem.

I would be interested to know what others think.

+4
standards user-interface
Sep 17 '08 at 1:43
source share
8 answers

If you are referring to a Joel message Do not hide or disable menu items , it is found out in the StackOverflow podcast that it assumed that there was information and not a dialog telling you why the menu item did nothing:

So, in the use case that I was thinking about, you mentioned that in Windows Media Player you can play faster when you listen to podcasts, etc., and this will speed them up. And when I looked there, it was disconnected. And I could not figure out how to do this. And obviously, the help file does not help - not that anyone is reading the help files, but even if you did, you could not find the answer to this question. And that was unpleasant, and I would rather have this menu item turned on, and just tell me: "I'm not going to do it right now for the following reason. I refuse to do this."

+9
Sep 17 '08 at 1:48
source share

As with most usability questions, the answer is "it depends." It depends on the problem area, the type of user, how important the function is, etc. There is no single answer to your question.

I think the general consensus is to never remove items from the menu. Menus allow the user to freely determine which functions are available, but if these elements are hidden or moved, this does not help the user. In addition, moving them around makes it impossible to master the application, since you must constantly check the menu for the item you want to select.

Regarding disabling or enabling an element and displaying a dialog or message explaining why this is not something you can do, I usually prefer the former. However, if a function that the user cannot reasonably expect from the intuition from the display, leaving it on, is a good choice.

For example, if Paste is disabled, this is pretty obvious to most computer users who have nothing to insert. However, if you have the Frizzle the Bonfraz menu item and the user may not know what Bonfraz is or why he might want to enable it, but cannot, it is recommended that you leave it on for at least some time.

So it depends. If at all possible, do what you think is best and then ask your users.

+4
Sep 17 '08 at 1:52
source share

To generalize it a bit (perhaps incorrectly ...), which of these situations would you prefer:

  • To find yourself on an island without a boat or bridge on site. Of course, you could talk to a villager in the city, and he will tell you the magic word to create a bridge ... but you did not know that there was magic.
  • You see that there is a bridge; however, when you get to it, there is a sign telling you that the bridge is not open for use.
  • You see there is a bridge and celebrate! When you reach the end of the bridge, it informs you that the exit is not open. They must be back.

I may be biased, but I do not believe that leaving the menu options enabled and allowing the user to click on it is the best idea. It just wasted time. They have no way of distinguishing whether an item is available or not until they click on the item. (Scenario No. 3)

Hiding an item together has its pros and cons. Completely hidden, and you risk that the user never discovers all these functions; however, at the same time, you are given the opportunity to make your application โ€œfunโ€ and โ€œaccessible.โ€ I always thought that the visibility of actions is more suitable for elements such as toolbars. A good example of this is that in some applications the image toolbar appears when you click on an image ... and disappears when you click on text. In general, I would say that something like this is best if the overall experience of your application gives the user "openness" and "study." (Scenario # 1)

As a rule, I recommend to disable elements and provide a hint to a user informing on how to enable it (or even a link to Help?); however, this cannot be exaggerated. This should be done in moderation. (Scenario # 2)

In general, when this is a context-sensitive action (for example, an image toolbar) that the user can easily detect, hide the elements. If the user cannot easily find him, disconnect him.

+3
Sep 17 '08 at 2:03
source share

Disable it, but tell me why it is disabled.

+1
Sep 17 '08 at 1:45
source share

I always thought that you should hide as much as you can. (Your application should not be more complex than what the user can / should do.)

If you select a menu option that the user should not use, they can click on it, but think that your application is corrupted because nothing is happening.

What I think at least ...

0
Sep 17 '08 at 1:47 april
source share

It depends on situation. If a menu item is applied in the current context but is not available due to state, it should be disabled. If the context has changed, so it is no longer applied, it should be deleted.

0
Sep 17 '08 at 1:49
source share

I never understood this myself (I did not program the GUI). Why are even menu items hidden or disabled in the first place? It is not intuitive to most users who are looking for a specific menu option to find it disabled or not even present.

Tips are also not intuitive. If I move the mouse through the menu items, I will not pause long enough to get an explanation of the tooltip. I am more likely to be disappointed that something that I expected to receive through the menu does not exist or is disabled.

However, I do not use the GUI menu very often. I believe that the available options are often not useful or available in a more intuitive way, for example, using the usual keyboard shortcuts.

0
Sep 17 '08 at 1:51
source share

You can display the "reason" in the status bar. Or even better, use text that describes the action and contains information when such an action is possible. For example, for the menu item "Copy" the text in the status bar: Copy selected text. Pay attention to the "selected" part, which tells the user that he needs to select the text to enable the menu item.

Another example in the tool that I create, we have the menu item "Drop database", but this action is only possible when connected to it. Thus, the text in the status bar looks something like this: "Drop the database (only when connected)."

0
Sep 17 '08 at 2:56
source share



All Articles