4

您是否曾经遇到过您真的很想使用但不能导致它被禁用或更糟糕的菜单功能一起消失的情况?

有一个论点是始终启用菜单,然后向用户显示一条消息,解释为什么当他们单击菜单功能时无法激活它。我认为这有好处,但也许有更聪明的方法来解决这个问题。

我很想听听其他人的想法。

4

8 回答 8

10

如果您指的是 Joel 的帖子Don't hide or disable menu items,他在 StackOverflow 播客中澄清说,他希望有信息 - 而不是对话框 - 告诉您为什么菜单项不会做任何事情:

所以,我想到的用例是,你提到在 Windows Media Player 中,当你收听播客等时,你可以更快地播放内容,它会加快播放速度。当我在那里查看时,它被禁用了。而且我不知道如何启用它。很明显,帮助文件没有帮助——不是任何人都阅读帮助文件,但即使你这样做了,你也找不到答案。这有点令人沮丧,我宁愿启用该菜单项并让它告诉我“由于以下原因,我现在不打算这样做。我拒绝这样做。”

于 2008-09-17T01:48:26.460 回答
4

与大多数关于可用性的问题一样,答案是“视情况而定”。这取决于问题域、用户类型、功能的关键程度等等。你的问题没有单一的答案。

我认为普遍的共识是,永远不要从菜单中完全删除项目。菜单允许用户自由地发现可用的功能,但如果这些项目被隐藏或四处移动,它对用户没有任何帮助。此外,移动它们会使您无法熟练使用该应用程序,因为您必须不断扫描菜单以查找要选择的项目。

至于禁用与启用一个项目并显示一个对话框或消息来解释为什么它不是你可以做的事情,我通常更喜欢前者。但是,如果无法合理地期望用户从显示屏上直观地理解某个功能,则启用它是一个不错的选择。

例如,如果“粘贴”被禁用,对于大多数计算机用户来说,没有什么可以粘贴是相当明显的。但是,如果您有一个“Frizzle the Bonfraz”菜单项,并且用户可能不知道 Bonfraz 是什么或为什么他们可能想要启用它但不能,那么最好让它至少启用一段时间。

再说一次,这取决于。如果可能的话,做你认为最好的,然后询问你的用户。

于 2008-09-17T01:52:27.887 回答
4

概括一下(可能是不正确的......),您更喜欢以下哪种情况:

  1. 发现自己在一个没有船或桥的岛上。当然,你可以和镇上的村民交谈,他会告诉你让一座桥出现的魔法词……但你不知道魔法的存在。
  2. 你看到有一座桥;然而,当你到达它时,有一个标志告诉你这座桥不开放使用。
  3. 你看到有一座桥并庆祝!当你走到桥的尽头时,它会告诉你出口没有打开。他们必须回去。

也许我有偏见,但我不认为启用菜单选项并允许用户单击它是最好的主意。那只是在浪费别人的时间。在他们单击该项目之前,他们无法区分该项目是否可用。(场景#3)

将物品全部隐藏起来有其优点和缺点。完全隐藏,您冒着用户永远不会发现所有这些功能的风险;然而,与此同时,您有机会使您的应用程序“有趣”和“可发现”。我一直认为动作的可见性更适合工具栏之类的项目。一个很好的例子是在某些应用程序中,当您单击图像时,图片工具栏会弹出……而当您单击文本时,它会消失。一般来说,如果您的应用程序的整体体验倾向于用户的“发现”和“探索”态度,我会说这样的事情是最好的。(场景#1)

我通常会建议禁用这些项目并向用户提供工具提示,告知他们如何启用它(甚至是指向帮助的链接?);但是,这不能过分。这必须适度进行。(场景#2)

一般来说,当它是用户可以轻松发现的与上下文相关的操作(即图片工具栏)时,隐藏这些项目。如果用户不容易找到它,请将其禁用。

于 2008-09-17T02:03:24.053 回答
3

将其禁用,但让工具提示解释为什么它被禁用

于 2008-09-17T01:45:44.737 回答
0

您可以在状态栏中显示“原因”。或者更好的是,使用描述操作的文本并在可能的操作时包含信息。例如,对于“复制”菜单项,状态栏中的文本将是:复制选定的文本。注意'selected'部分,它告诉用户他需要选择文本来启用菜单项。

我正在制作的工具中的另一个示例,我们有“删除数据库”菜单项,但只有在您连接到它时才能执行此操作。因此,状态栏中的文本类似于:“删除数据库(仅在连接时)”。

于 2008-09-17T02:56:26.140 回答
0

我一直认为你应该尽可能地隐藏。(您的应用程序不应该比用户可以/应该做的更复杂。)

如果您显示用户不应该使用的菜单选项,他们可能会单击它,但认为您的应用程序已损坏,因为没有任何反应。

至少我是这么认为的……

于 2008-09-17T01:47:59.537 回答
0

这取决于实际情况。如果菜单项在当前上下文中应用但由于状态不可用,则应将其禁用。如果上下文已更改,不再适用,则应将其删除。

于 2008-09-17T01:49:11.717 回答
0

我自己从来没有真正理解过这一点(我不编写 GUI 程序)。为什么甚至首先隐藏或禁用菜单项?对于大多数正在寻找特定菜单选项以发现它被禁用甚至不存在的用户来说,这是不直观的。

工具提示也不直观。如果我在菜单项之间移动鼠标,我不会暂停足够长的时间来获得工具提示解释。我更可能会因为我希望通过菜单访问的东西不存在或被禁用而感到沮丧。

也就是说,我实际上并不经常使用 GUI 菜单。我发现可用的选项通常没用,或者可以通过一些更直观的方式访问,例如常用的键盘快捷键。

于 2008-09-17T01:51:37.203 回答