18

当前被认为是 UI 设计中用于显示当前上下文中不可用的操作的最佳实践。

例如,A 页面显示可以拥有许多关联合同的客户。如果有有效合同,我不希望允许用户删除客户。从可用性和 UI 的角度来看,什么被认为是最适合用户体验的。

  1. 始终显示删除选项,但在用户选择它时警告用户该选项不可用,因为有活动合同。
  2. 显示删除选项,但将其变灰。
  3. 根本不显示删除选项

始终显示选项具有一致性的好处,并且相关操作始终在同一个地方等,但相反,向他们展示他们不能做的事情的意义何在。

将选项灰显仍然具有一致性,但不允许他们选择他们无法执行的操作。

完全不显示选项缺乏一致性,但可能不会那么混乱。

在昨天之前,我什至不会问这个问题,而是直接选择选项 2(灰色)但是看到用户多次尝试点击灰色的图像并最终问我为什么他们不能点击按钮我不再确定最好的选择是什么。

有可用性和 UI 测试经验的人觉得什么是最好的选择?

4

11 回答 11

16

我的方法(和建议)是根据您的选项 #2将按钮变灰。

当 UI 稀疏且有足够的可用空间时,具有内联(预先)上下文提示(例如 Freddy 建议的问号方法,在按钮旁边,内联详细说明问题,例如始终显示在禁用状态下按钮“没有要删除的用户。通过转到(链接)此选项卡(/链接)添加一些用户!”)可能是可取的。

然而,这种偶尔出现的内嵌提示或问号会使布局复杂化,或在房地产价格昂贵时妨碍界面的有效性。在这种情况下,最好有一个覆盖提示(气球或工具提示),当悬停在禁用按钮上以及单击禁用按钮时(即用户通过用他的接近禁用按钮来显示意图) /她的光标);提示应该解释为什么按钮被禁用和变灰,即“没有用户可以删除”。

以上应该照顾所有(典型的和病理的)病例。它结合了您的#2 和#3 选项的优点,希望没有任何缺点。

于 2009-02-27T07:48:25.740 回答
9

Raymond Chen(旧新事物成名)提供了很好的指导:

什么时候禁用一个选项,什么时候删除它?

从博客条目:

实验表明,如果显示某些内容但被禁用,用户希望如果他们修补得足够多,他们将能够启用它。因此,如果用户可以执行某些操作以使操作可用,则保留显示但禁用的菜单项。例如,在媒体播放程序中,如果媒体文件没有播放,则停止播放的选项会被禁用。但是一旦开始播放,该选项就会再次可用。

另一方面,如果由于用户无法控制的原因该选项不可用,则将其删除。否则用户会疯狂寻找启用它的神奇方法。例如,如果打印机不能打印颜色,则不要显示任何颜色管理选项,因为用户无法使用您的程序使该打印机成为彩色打印机。

于 2009-02-27T10:19:12.040 回答
5

我总是被教导从 UI 中删除对象比禁用对象更令人不安。不要为无法帮助的 0.01% 的人设计!

于 2009-02-27T07:45:30.520 回答
4

无论处于何种特定状态,您都希望您的 UI 保持一致。许多用户依靠视觉记忆来记住命令的位置。每次都必须搜索特定的操作太费力了,并且正在将用户的注意力从他们在应用程序中的主要工作中吸引过来。

因此,最好显示动作以将其保留在视觉上下文中。但是,明显表明此操作的状态已修改。这将给用户反馈该操作存在,同时仍然建议需要满足某些条件以允许用户执行命令。

更改颜色饱和度是表示禁用状态的最常用方法。它使 UI 元素在背景中淡出。

于 2009-02-27T07:51:32.550 回答
3

我建议选项1)。我会告诉你为什么。

选项 3)(最差) “根本不显示删除选项” 这甚至不会让用户意识到甚至存在这样的功能。所以这是更糟糕的否认方式。

选项 2) “显示删除选项但将其变灰”

比 3) 好,但用户可能会一直想知道为什么他被拒绝了该功能。他也可能开始认为他不是特权用户并且缺乏权利。

选项1) “始终显示删除选项,但在用户选择该选项时警告用户该选项不可用,因为有活动合同。”

这将清楚地告诉用户缺少什么并让他了解确切的功能。用户总是乐于在一个不会让他们困惑的透明系统上工作。

于 2009-02-27T08:32:17.817 回答
3

对于这种特殊情况,选项 2 是最佳选择。在决定是否隐藏或禁用某些内容时,我遵循的一般规则是:

如果用户无法执行某项操作并且他们可以采取一些措施来启用它,那么它应该被禁用。

如果用户无法执行某个操作并且他们无法启用它,那么它应该被隐藏

在您的示例中,如果用户摆脱了活动合同,那么他们可以删除客户。所以删除操作应该被禁用,因为他们可以控制启用它。但是,假设用户无法删除客户,因为他们没有“删除客户”权限。在这种情况下,应该隐藏删除操作,因为用户无法执行任何操作来删除客户(他们不能授予自己权限)。

无论何时禁用某个选项,都应该清楚需要做什么才能启用它。在此示例中,当用户将鼠标移到删除按钮上时,他们应该会看到一个工具提示,解释为什么禁用该操作。

On a side note…if users are trying to click your disabled buttons, it may not be obvious enough that the buttons are disabled. Try changing the style of the buttons so there is a greater distinction between enabled and disabled (assuming you are not using standard controls).

于 2009-02-27T16:38:14.967 回答
2

对于这种情况,请使用 2,但除此之外还要添加一个问号来解释它被禁用的原因。 更新 1:请注意,它让您有机会真正清楚何时激活/禁用它。

于 2009-02-27T07:44:31.363 回答
2

我更喜欢显示选项,但显示为灰色。这就是为什么。如果某个操作有时可用,有时不可用,那么 UI 就会变得混乱。有时我可以看到删除,有时看不到,这似乎很神奇。另一方面,如果它是灰色的,至少我知道以后在哪里寻找该选项。

于 2009-02-27T07:44:56.950 回答
2

只需应用最小惊喜原则:不要做任何意想不到的事情。

灰色选项显然意味着它在当前上下文中不可用。
缺少的选项可能意味着任何事情。

当您的应用程序提供多个级别的可访问性(例如,新手、中级、专家)或当用户帐户遵循某些安全角色时,您会考虑完全从视线中移除 UI 元素。例如,访问“经理”用户会访问的完整界面。

于 2009-02-27T08:35:24.860 回答
0

有时删除工具栏按钮是正确的方法,但通常是这样。

删除它只会让用户想知道它在哪里。然而,禁用让用户知道它在哪里,但它不可用。因此,与其浪费时间试图查看选项在哪里,他们可以花时间找出为什么它不可用。

于 2009-02-27T08:14:12.150 回答
0

第二个选项,灰色删除选项应该足够了。正如建议的那样,添加一个问号来解释对我来说似乎是个好主意。否则,用户可能不知道为什么他可以删除一些客户,而有些则不能。

但是你总是要考虑,当用户 A 已经打开 UI 时,在启用删除选项的情况下,用户 B 输入了一个新的活动合约的可能性。所以如果用户 A 想删除客户端,你仍然需要检查是否没有活跃的合约,如果有则显示错误消息。换句话说,您仍然必须实现第一个选项所需的一切。出于这个原因,我可能会选择第一个选项,始终显示使删除选项可见且处于活动状态,以避免代码重复并提供最一致的行为。

于 2009-02-27T09:03:53.950 回答