UI是否应显示不可用的操作?

时间:2009-02-27 07:42:45

标签: user-interface usability

目前,UI设计中最佳做法是显示当前上下文中不可用的操作。

例如,页面显示可以拥有许多相关合同的客户。如果有活动合同,我不希望允许用户删除客户。从可用性和UI角度来看,最适合用户体验的是

  1. 始终显示删除选项,但在用户选择该选项时警告用户该选项不可用,因为存在有效合同。
  2. 显示删除选项但灰显了。
  3. 不要显示删除选项
  4. 始终显示该选项具有一致性的好处,并且相关操作始终位于同一位置等,但相反,向他们展示他们无法做的事情的重点是什么。

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

    根本没有显示选项缺乏一致性,但可能不会那么令人困惑。

    在昨天之前,我甚至不会问这个问题,并且会直接选择选项2(灰色显示)然而看到用户试图多次点击灰色图像并最终问我为什么他们无法点击在按钮上我不再确定最佳选择是什么。

    具有可用性和UI测试经验的人最喜欢什么?

11 个答案:

答案 0 :(得分:16)

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

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

但是,当房地产价格过高时,偶尔出现的这种内联提示或问号可能会使布局复杂化或妨碍界面的有效性。在这种情况下,将鼠标悬停在禁用按钮上时显示重叠提示(气球或工具提示)以及时单击禁用状态可能会更好按钮(即用户通过用他/她的光标接近禁用按钮来表示意图);该提示应解释为什么按钮被禁用并变灰,即“没有用户要删除。”

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

答案 1 :(得分:7)

Raymond Chen(The Old New Thing成名)提供了很好的指导方针:

When do you disable an option and when do you remove it?

来自博客文章:

  

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

     

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

答案 2 :(得分:5)

我一直被告知,从用户界面删除对象比禁用用户更令人不安。不要设计为无法帮助的.01%!

答案 3 :(得分:4)

无论具体状态如何,您都希望UI保持一致。许多用户依赖可视内存来记住命令的位置。每次都必须搜索特定的操作需要付出太多努力,并且会吸引用户关注他们在应用程序中的主要工作。

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

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

答案 4 :(得分:3)

我建议选项1)。我会告诉你原因。

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

选项2) “显示删除选项但灰显了”

优于3)但是用户可能会一直想知道为什么他被拒绝了这个功能。他也可能开始认为他不是特权用户而且缺乏权利。

选项1) “始终显示删除选项,但在用户选择该选项时因为存在有效合同而提示该选项不可用时发出警告。”

这将清楚地告诉用户缺少什么,并教育他确切的功能。用户总是乐于在一个透明的系统上工作,而不会给他们带来谜题。

答案 5 :(得分:3)

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

  

如果用户无法执行操作并且可以执行某些操作,则应禁用该操作。

     

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

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

每当禁用某个选项时,应该清楚启用它需要做什么。在此示例中,当用户将鼠标移到删除按钮上时,他们应该看到一个工具提示,解释操作被禁用的原因。

侧面说明......如果用户试图点击您的禁用按钮,则禁用按钮可能不够明显。尝试更改按钮的样式,以便在启用和禁用之间有更大的区别(假设您没有使用标准控件)。

答案 6 :(得分:2)

对于该场景,请使用2,但除此之外还添加一个问号,解释为什么它被禁用。 更新1:请注意,它让您有机会清楚地了解它何时处于活动/禁用状态。

答案 7 :(得分:2)

我更喜欢显示选项,但是显得灰暗。这就是原因。如果某个操作有时可用且有时不可用,则UI会让人感到困惑。我有时会看到删除有时看起来像魔术,有时候看不到。另一方面,如果它是灰色的,至少我知道以后在哪里寻找该选项。

答案 8 :(得分:2)

只需应用 Principle of Least Surprise :不要做任何意外的事情。

灰色选项显然意味着它在当前情况下不可用 缺少选项可能意味着什么。

当您的应用程序提供多个级别的可访问性(例如,新手,中级,专家)或用户帐户遵循“访客”用户不具备某些安全角色这意味着要访问“经理”用户的完整界面。

答案 9 :(得分:0)

有时候删除工具栏按钮是正确的方法,但一般来说。

删除它只会让用户想知道它在哪里。然而,禁用允许用户知道它在哪里,但它不可用。因此,他们可以花时间找出无法使用的原因,而不是浪费时间去查看选项的位置。

答案 10 :(得分:0)

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

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