user-interface - 是什么使一个好的选项/设置对话框?

标签 user-interface settings usability

当我意识到其中许多涉及某个应用程序的选项对话框时,我正在浏览Worst UI You’ve Ever Used问题。显然,这是开发人员很容易“丢失”的区域,因为通常会有大量难以组织的选项。 (特别是对刻板印象的程序员)

因此,既然我准备为自己的应用程序设计一个选项对话框,我想知道:是什么使一个好的选项对话框呢?

标签?像Visual Studio这样的分层树状视图,其行为类似于选项卡? (我目前倾向于)

你怎么看?

最佳答案

选项窗口往往很拥挤,混乱和混乱,使用户很难找到他或他想要的选项。它们常常在设计的最后一刻就被扔在一起,而与设计的其余部分没有太多的思考或协调。这就是使他们成为嘲笑的共同目标的原因。避免这种命运的方法如下。

限制选项数量。选项越少,使用户真正想要的东西变得模糊的事情就越少。


将选项限制为那些可以容纳用户已知个体差异的选项。例如,如果您的用户来自不同的旧系统,则可以选择模拟每个系统的键盘快捷键。
即使那样,也可以考虑强迫少数用户对习惯进行小的更改可能值得在与添加另一个选项相关的混乱中节省可用性。请记住,为所有用户使用单个标准UI可以帮助用户相互支持。
除非您的应用程序具有“有趣”的一面(例如Facebook),否则请避免选择一些琐碎的审美偏好。重点关注可提高所选用户的任务性能的选项(例如,支持可访问性的选项)。
不要使用任何选项来强迫用户做出您自己应该做出的设计决策。例如,没有选择控件位置或逐个颜色进行颜色编码的选项。您的用户不是UI设计师,几乎在所有情况下,您都可以比普通用户提出更好的设计折衷方案。
请勿使用选项设置数据属性(例如,特定文档的边距)。选项是应用程序的属性,默认情况下应应用于显示的任何数据。


当用户看到时,按功能组织选项。考虑使用card-sort method对选项进行分类。不要在“高级”选项卡或对话框上隐藏不太常用的选项。您可能对每个选项的使用情况都有统计信息,但您的用户却没有。他们无法知道他们所寻找的选项是否“高级”,从而迫使他们除了搜索其他选项卡之外,还搜索“高级垃圾抽屉”选项卡。

将功能移出“选项”窗口,使其靠近用户决定设置选项的位置。不必选择设置默认值,而是使用相同的界面来覆盖默认值。您可以在“打印”对话框中单击“将此打印机设为默认值”按钮。在“视图”菜单中包括一个“保留视图”菜单项,该菜单项将跨会话保留用户为窗口设置的排序顺序,过滤和列选择。另外,可以考虑跨会话自动保留视图(甚至包括窗口大小和位置),并提供默认视图菜单项以还原视图。

如果您有很多选项,请考虑在菜单栏上有一个专用的下拉菜单,每个菜单项为每个主要选项类别打开一个不同的对话框。对话框中的多层选项卡或树是自然的说法,即“选项”窗口太复杂了。

专用的“选项/首选项”下拉菜单也是放置三个或四个适应/可变菜单项的好地方,这些菜单项可预测用户希望在给定上下文中设置的选项。例如,当电子邮件到达时,可以出现菜单项,该菜单项设置新电子邮件的警报参数(例如,发出的声音,显示的通知)。当用户将默认打印机更改为其他打印​​机时,会出现一个菜单项,使新打印机成为默认打印机。

使用网络样式的图形设计,小插图和视觉层次结构,可以更轻松地在给定的面板上查找和理解选项。使用字体大小,颜色和/或粗细来突出显示常用选项,同时仍按功能组织所有选项。就像是:

Section headings in large font. Common options in bold print
(来源:zuschlogin.com

鼓励轻松探索和试验选项:


“选项”窗口中的选项复选框和其他控件应立即应用于选择,以便用户在选择每个选项时可以立即看到它们的影响。应该没有“确定”和“取消”按钮,而只有“关闭”按钮(也可能有“重置”或“撤消”按钮)。打开典型的“选项”对话框,选择一个选项,然后单击“确定”,这真令人沮丧,只是发现其中一个选项设置错误并必须重新开始。另外,如果用户选择了多个选项,单击“确定”(或“应用”),并最终以完全混乱的UI结束,则用户不一定知道需要撤消哪个选项;用户甚至可能都不记得所有选择的选项。
包括“这是什么?”每个选项的帮助,使用户可以找到有关选项功能以及何时使用的更多信息。
考虑将选项窗口设置为无模式,以便用户可以在主窗口中平移以更好地了解选项的作用。
确保所有选项名称及其同义词都在帮助文档中,并确保“帮助”文档向用户确切显示了该选项的位置。通常,用户可能不知道某个选项是否存在,或者它是“选项”还是其他类型的命令。

关于user-interface - 是什么使一个好的选项/设置对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1546763/

相关文章:

Eclipse 当前成员语法在深色主题中突出显示

java - 像在 Eclipse 中一样在 IntelliJ IDEA 中更改 Ctrl+Shift+Left/Right 的行为

user-interface - 虚幻引擎 4 功能演示中使用了哪些 GUI 框架或库?

c# - GUI 编程 c++ 或 c#

sql-server - SQL 结果中的字体大小到 Visual Studio 中的 GridView

usability - 我该怎么做才能防止Wiki风格的网站上发生写冲突?

javascript - 尝试更新对象时如何处理字段元素的自动聚焦

android - 如何在android中使用gif图片?

java GridBagLayout 不工作?

delphi - 如何将 Delphi XE 包和设置移至其他用户?