是否应始终启用菜单项?你怎么告诉用户?

时间:2023-01-28 00:08:28

One of the things that has been talked about a few times on the podcast is whether menu items should always be enabled to prevent "WHY ISN'T THIS AVAILABLE!" frustration for the end user.

播客上几次谈到的一件事是,是否应该始终启用菜单项以防止“为什么这不是可用的!”对最终用户的沮丧。

This strikes me as a good idea, but then there's the issue of communicating the lack of availability (and the reason why) to the user. Is there anything better than just popping up a message box with a blurb of text?

这对我来说是个好主意,但接下来就是向用户传达缺乏可用性(以及原因)的问题。有没有比仅仅弹出带有文字模糊的消息框更好的东西?

As I'm about to start on a fairly sizeable cross-platform Windows / Mac app I thought I'd throw this out to hear the wisdom of the SO crowd.

当我即将开始使用一个相当大的跨平台Windows / Mac应用程序时,我想我会把它扔出来听听SO人群的智慧。

4 个解决方案

#1


4  

One thing I've seen a printer manufacturer do with their printer properties dialog is to have a little help baloon icon beside disabled items that display a tooltip when hovered over.

我看到打印机制造商使用打印机属性对话框做的一件事就是在禁用的项目旁边有一个小帮助气球图标,当悬停时显示工具提示。

Another thing you can do with disabled items is to add in parenthesis why it's disabled or what the user would have to do to enable it. E.g., "Save (already saved)" or "Copy (select something to copy)".

您可以对禁用项目执行的另一项操作是在括号中添加禁用它的原因或用户必须执行的操作才能启用它。例如,“保存(已保存)”或“复制(选择要复制的内容)”。

I don't like keeping it enabled because then it will instill hesitation in users to select any menu item in fear that they'll just get an error message making them feel stupid for not realizing that they couldn't possibly perform that operation at the time.

我不喜欢让它保持启用,因为它会在用户中灌输犹豫,选择任何菜单项,担心他们只会得到一条错误消息,让他们感到愚蠢,因为他们没有意识到他们不可能在时间。

Menu items that spring dialogs have elipsis (...) after them to let users know it's not just click and carry on. Required form fields have an asterisk or bold label to spare the user from being scolded with a validation error message.

弹出对话框的菜单项在其后面有省略号(...),让用户知道它不仅仅是点击并继续。必填表单字段带有星号或粗体标签,以避免用户因验证错误消息而被骂。

#2


2  

You have to consider the alternatives.

你必须考虑替代方案。

  1. Hide the menu item. This is bad. Now you have menu items disappearing and reappearing all the time?
  2. 隐藏菜单项。这是不好的。现在你有菜单项消失并一直重新出现?

  3. Disable the menu item. Now the user can find what they're looking for, it just isn't obvious how to enable it. This is better, but still leaves the user slightly puzzled.
  4. 禁用菜单项。现在用户可以找到他们正在寻找的东西,但是如何启用它并不明显。这样更好,但仍然让用户稍有不解。

  5. Keep the menu item enabled, but make it display a dialog that explains what needs to be done when the program is in a state where the menu item can't be properly used.
  6. 保持菜单项已启用,但使其显示一个对话框,说明当程序处于无法正确使用菜单项的状态时需要执行的操作。

I agree with Joel on this one, #3 seems like the best choice.

我同意乔尔的观点,#3似乎是最好的选择。

#3


0  

Joel has a post on that http://www.joelonsoftware.com/items/2008/07/01.html which might be a good place to start thinking about this.

Joel在http://www.joelonsoftware.com/items/2008/07/01.html上有一篇文章,可能是开始思考这个问题的好地方。

#4


0  

@Bill the Lizard: I'd combine #2 and #3 - disable the item, but have a tooltip that indicates why it is disabled.

@Bill the Lizard:我将#2和#3结合起来 - 禁用该项,但有一个工具提示,指示它被禁用的原因。

#1


4  

One thing I've seen a printer manufacturer do with their printer properties dialog is to have a little help baloon icon beside disabled items that display a tooltip when hovered over.

我看到打印机制造商使用打印机属性对话框做的一件事就是在禁用的项目旁边有一个小帮助气球图标,当悬停时显示工具提示。

Another thing you can do with disabled items is to add in parenthesis why it's disabled or what the user would have to do to enable it. E.g., "Save (already saved)" or "Copy (select something to copy)".

您可以对禁用项目执行的另一项操作是在括号中添加禁用它的原因或用户必须执行的操作才能启用它。例如,“保存(已保存)”或“复制(选择要复制的内容)”。

I don't like keeping it enabled because then it will instill hesitation in users to select any menu item in fear that they'll just get an error message making them feel stupid for not realizing that they couldn't possibly perform that operation at the time.

我不喜欢让它保持启用,因为它会在用户中灌输犹豫,选择任何菜单项,担心他们只会得到一条错误消息,让他们感到愚蠢,因为他们没有意识到他们不可能在时间。

Menu items that spring dialogs have elipsis (...) after them to let users know it's not just click and carry on. Required form fields have an asterisk or bold label to spare the user from being scolded with a validation error message.

弹出对话框的菜单项在其后面有省略号(...),让用户知道它不仅仅是点击并继续。必填表单字段带有星号或粗体标签,以避免用户因验证错误消息而被骂。

#2


2  

You have to consider the alternatives.

你必须考虑替代方案。

  1. Hide the menu item. This is bad. Now you have menu items disappearing and reappearing all the time?
  2. 隐藏菜单项。这是不好的。现在你有菜单项消失并一直重新出现?

  3. Disable the menu item. Now the user can find what they're looking for, it just isn't obvious how to enable it. This is better, but still leaves the user slightly puzzled.
  4. 禁用菜单项。现在用户可以找到他们正在寻找的东西,但是如何启用它并不明显。这样更好,但仍然让用户稍有不解。

  5. Keep the menu item enabled, but make it display a dialog that explains what needs to be done when the program is in a state where the menu item can't be properly used.
  6. 保持菜单项已启用,但使其显示一个对话框,说明当程序处于无法正确使用菜单项的状态时需要执行的操作。

I agree with Joel on this one, #3 seems like the best choice.

我同意乔尔的观点,#3似乎是最好的选择。

#3


0  

Joel has a post on that http://www.joelonsoftware.com/items/2008/07/01.html which might be a good place to start thinking about this.

Joel在http://www.joelonsoftware.com/items/2008/07/01.html上有一篇文章,可能是开始思考这个问题的好地方。

#4


0  

@Bill the Lizard: I'd combine #2 and #3 - disable the item, but have a tooltip that indicates why it is disabled.

@Bill the Lizard:我将#2和#3结合起来 - 禁用该项,但有一个工具提示,指示它被禁用的原因。