【问题标题】:How would you handle users who don't read dialog boxes? [closed]您将如何处理不阅读对话框的用户? [关闭]
【发布时间】:2010-09-12 14:54:40
【问题描述】:

Ars Technica 最近的一篇文章讨论了北卡罗来纳州立大学心理学系最近进行的一项研究,该研究表明用户倾向于不惜一切代价摆脱对话框以返回他们的任务手。他们中的大多数会单击“确定”或“是”,最小化对话框或关闭对话框,而不管显示的消息如何。显示的对话框有些是真实的,有些是假的(例如那些冒充防病毒警告的网页显示的弹出窗口)。响应时间表明这些用户并没有真正阅读这些对话框。

那么,知道了这一点,这将如何影响您的设计,以及您会尝试做些什么(如果有的话)?

【问题讨论】:

    标签: user-interface dialog


    【解决方案1】:

    我尝试将应用程序设计为在面对意外时保持稳健——无论是滑倒(无意操作,例如单击错误的位置)或错误(认知错误,例如单击对话框上的“确定”与“取消”)。一些方法可以做到这一点:

    1. 无限(或至少多步)撤消/重做
    2. 通过动态工具提示和其他上下文相关的通信方式将文档与界面集成(一篇特别相关的论文是关于 'Surprise, Explain, Reward'(直接链接:SER)——使用对意外行为的典型心理反应来通知用户)
    3. 将系统状态整合到所述文档中(以当前用户的数据为例,并使用他们现在可以看到的数据使文档具体化
    4. 预计用户错误。如果有人在没有磁盘到位时尝试写入 a:\,则执行超时,以便系统可以正常失败,并提示另一个位置。将数据保存在内存中,直到它在磁盘等上安全为止。

    这归结为两个核心内容:(1) 防御性编程,以及 (2) 尽可能让用户了解情况。如果系统的界面易于使用,并且行为符合他们的期望,那么他们更有可能知道在出现烦人的对话框时应该点击哪个按钮。

    我也非常非常努力地避免任何模态,因此用户可以忽略我必须使用的大多数对话框,至少在一段时间内(当他们真的需要注意它们时,他们有足够的信息知道如何处理它)。

    要让系统完全万无一失是不可能的,但我发现上述技术在正确的方向上大有帮助。 (并且它们已被纳入用于开发 Surprise Explain Reward 和其他工具的系统中,这些工具已经过广泛的用户研究。)

    【讨论】:

    • 完全同意撤销/重做的建议。缺少(或更糟糕的是,部分)撤消支持是最糟糕和最常见的 UI 错误之一。
    • 优秀答案,Ctrl+D
    【解决方案2】:

    首先,颜色和图标的使用应有助于用户在视觉上了解问题的严重性,红色表示异常,黄色表示警告,白色表示信息。

    其次,使用verbs on your dialog buttons 可以让用户了解他们在告诉系统做什么,即使他们没有阅读对话框的文本。

    最后,如果您有兴趣研究完全不同的通知范例,请查看在 Firefox 和 Internet Explorer 中实现的信息栏或通知栏。 StackOverflow 使用相同类型的机制在用户获得新徽章时通知他们。

    信息栏不显眼,并停留在屏幕顶部等待用户注意。我认为这是一个很棒的设计隐喻。

    这里有几个实现教程:

    这里是Microsoft's guidance on dialog design,它也涉及到信息栏的概念。

    【讨论】:

      【解决方案3】:

      Steve Krug 的书Don't Make Me Think 立即浮现在脑海。

      在设计对话框、返回给用户的状态信息等方面,最好使用图标和颜色提示来说明文字的实际含义。

      所以突出显示错误消息红色,警告黄色等。

      【讨论】:

      • Steve 是否也讨论过如何在不打断或阻止用户的情况下吸引用户的注意力?
      • 当然。这本书的整个前提是,真的不可能打断/阻止大多数用户;)
      • 我认为“使用图像和颜色提示”这句话涵盖了您对色盲用户的查询。除了智能使用皮肤/主题,您还可以为色盲使用颜色提示。 paulstovell.com/blog/wpf-colour-blindness-shader-effect
      【解决方案4】:

      The Humane Interface, by Jef Raskin 值得一读。对话框是最后的手段,也是设计不佳的标志。大多数都是不必要的,正如您所发现的,用户都忽略了。

      为什么会有对话框?解决这个问题——不要要求用户确认操作,而是让撤消操作变得容易。不要弹出一个宣布错误的对话框 - 无论如何都要进行任何恢复(或任何可能的恢复)。绝对不要显示只有一个结果的对话框(只有“确定”的框是魔鬼),在应用程序中不显眼地呈现信息。

      【讨论】:

      • 次要:这个名字是 Jef,不是 Jeff :)
      【解决方案5】:

      几个建议

      1. 仅在绝对必要时使用盒子。
      2. 始终将默认选项设置为最不危险的选项

      【讨论】:

        【解决方案6】:

        我想到了一个.NET Rocks 插曲(我相信episode 338, "Mark Miller on the Science of Good UI")讨论了这个话题。我认为整个讨论的关键在于,这是基本的 UI 设计太过分了。模态曾经是一种可接受的通信方式,但我们现在发现它已成为编程失礼。用户明白,十分之六的信息没有足够的相关性让他们担心。结果,他们以同样的方式对待所有情态——习得性无助。如果出现一个模式并告诉我发生了应用程序错误 X 并且我只能单击“确定”——即使我认为它不是“确定”,我也会学习一种特定的行为。我将模态与我可能对它们无能为力的想法相关联,但如果我单击确定/是,那么我可以回到我需要的东西。

        那么,为什么仍然使用它?也许开发人员已经尝试避免这样一个事实,即应用程序开发不仅仅是一个基本界面,而用户需要流畅的 UI 设计——旧的备用设备很难放弃......

        我认为这里的关键是要理解,好的 UI 设计现在表明中断(即使是对于最新手的计算机用户)也是一种烦恼,我们需要努力获得无缝的用户体验,其中应用程序的重点是用户-- 不是通过提示和错误报告来满足应用程序的需求 -- 不允许用户进入他们不关心的情况。

        【讨论】:

        • 我认为“6 of 10”的数字是错误的。我敢打赌,用户看到的 10 个对话框中有 9 个没有相关信息。这只是一种直觉。
        【解决方案7】:

        开发人员经常使用模式对话框只是因为它易于编写代码。

        但是,非模态通知通常更便于用户处理。

        【讨论】:

          【解决方案8】:

          一个建议:

          1. 不要使用对话框。尤其是模态的确定/取消对话框。

          有时这很难...您如何处理打开文件?有时这很容易……您真的需要警告用户他们将要覆盖文件吗?很有可能,如果我盲目地点击“确定”,我就不会注意任何警告。

          【讨论】:

            【解决方案9】:

            如果您必须使用对话框,请在对话框内的按钮上添加描述性标题。

            例如,让它们说“发送发票”和“返回”,而不是“确定”和“取消”按钮,或者在对话上下文中适当的任何内容。

            这样,文本就在他们的光标下,他们有很好的理解机会。

            Mac OS X 大部分时间都是这样做的。 Here's an example image.

            编辑:

            This is a better image,我在 Apple Human Interface Guideline 网站上找到了它,这是一个很好的参考,而且可读性很强。 This document on that site is all about Dialogs.

            【讨论】:

              【解决方案10】:

              错误的问题。 “你将如何处理用户”开头是错误的。

              正确的问题是“鉴于对话会分散用户对手头任务的注意力,还有什么更好的选择?”。

              在为实现目标或完成任务而努力时,我们可以区分三种情况:

              (1) 应用程序得出的结论是,它无法采取任何行动来使用户实现目标。弹出一条消息,用一个按钮将其关闭。你不在乎读者是否理解它,因为无论如何结果并不重要。

              (2) 您只能采取一种行动,或者替代方案与用户无关。完全不要打扰他。

              (3) 实现目标有两种或多种方式。让用户在这些之间进行选择。不要将此表述为是/否问题。 (Vista 将其作为一个通用对话框提供,以替换消息框。)如果可能,请不要将其作为不可逆转的选择。

              此规则的例外是用户期望是/否问题的情况。但实际上,如果是这样的话,那么为什么问题不是正常工作流程的一部分呢?对话框超出了正常工作流程。

              【讨论】:

                【解决方案11】:

                我想您可能想阅读这篇论文: "Impact of High-Intensity Negotiated-Style Interruptions on End-User Debugging"、T. J. Robertson、Joseph Lawrance 和 Margaret Burnett,Journal of Visual Languages and Computing 17(2), 187-202,2006 年 4 月。

                它问了一个类似的问题。结果是,让用户知道你想要他们的注意力,然后坐下来等待用户回应。不过不要打断用户,这不是他或她想要的。

                【讨论】:

                  【解决方案12】:

                  [Lightbox](http://en.wikipedia.org/wiki/Lightbox_(JavaScript)) 模态对话框在某些情况下似乎是一种有效的技术(Web 2.0 派生,但可以在其他上下文中实现)。

                  另外一点:如果您可以放弃一个对话框来使用 Undo 功能(Gmail 将这一概念作为标准的 webapp 行为来倡导),那么这是值得考虑的事情。

                  【讨论】:

                    【解决方案13】:

                    如果您必须使用对话,请用有趣的同情甚至讽刺和非常简短的解释性文字奖励用户。如果您偶尔发布一些可笑的丑闻,他们会阅读所有内容

                    用户的运行速度非常危险 常识。请移除此用户 并插入另一个。

                    【讨论】:

                    • 我认为这对于没有使用您的软件经验的人来说只是短暂的。最终,新奇感会消失,他们会忽略你的对话。教训:避免使用对话框的诱惑。
                    • 这一课是给定的。我个人讨厌模态界面。我要提出一个新问题:总的来说,对话很糟糕。建议任何使用对话框是首选演示的用例以及首选的原因。
                    【解决方案14】:

                    我对不阅读的用户没有耐心“ 你只能靠自己。我事先声明。我将我的应用程序设计得尽可能直观,但仍然有人会突然拨打支持电话,就像一个孩子在不应该在课堂上脱口而出一样。我对此无法容忍。阅读手册,阅读对话框 - 99% 的问题的答案都在那里。

                    【讨论】:

                      【解决方案15】:

                      上面有很多好的建议。我只是想补充一下书籍推荐——Joel Splosky 的《面向程序员的用户界面设计》这本书值得一读:

                      http://www.amazon.com/User-Interface-Design-Programmers-Spolsky/dp/1893115941/ref=pd_bbs_sr_4?ie=UTF8&s=books&qid=1222233643&sr=8-4

                      【讨论】:

                        【解决方案16】:

                        您可以做的一件事是禁用“确定”按钮 3 秒钟。

                        Firefox 在您安装扩展程序时执行此操作。

                        编辑:好吧,有些人觉得这很烦人。我仍然认为大约 1 秒就可以了。它会抑制人们(包括我自己)所具有的立即点击 OK 的本能,并强制进行双重拍摄。当然,如果你的对话不是他们真正需要阅读的内容,即使这样也会惹恼他们。

                        【讨论】:

                        • 虽然 Firefox 确实这样做了,但我认为这真的很烦人,而且根本不是解决问题的正确方法。
                        • 我同意这很烦人。
                        • 这可能很烦人,但它非常有效。当然不值得 -5。
                        • @DGM,对烦人的用户有效吗? :) 说真的,那个对话是我最大的 FF 宠儿之一。我也一直在等待 FF 提供帮助我过马路。鉴于引用的研究,如果您能证明延迟改善情况,我会感到非常惊讶。
                        • Firefox 这样做是为了防止由于竞争条件而出现的安全漏洞。它与改善用户体验或引起对对话框的注意无关。
                        【解决方案17】:

                        首先,愚蠢应该受到伤害,但通常不会那么......

                        下一个最好的事情是包含一个试图传达问题严重性的图标。如果对话框的图标看起来不祥,那么一部分不阅读的人可能会改变他们的习惯。无论如何,一定比例的人不会阅读它。

                        【讨论】:

                        • 哇。多么令人难以置信的非以用户为中心的设计实践。贵公司制作了哪些应用程序,这样我就可以避免它?
                        • 如果人们不阅读对话框,他们也不会看图标。问题是用户在白天被大部分毫无意义的对话所淹没,因此他们对它们变得不敏感。花哨的图标无济于事。
                        【解决方案18】:

                        在对话框末尾包含一个多项选择测验,用户必须选择表明他们确实阅读并理解文本的答案。随机切换选项的顺序,这样他们就不会总是点击同一个。

                        【讨论】:

                          【解决方案19】:

                          更改措辞和对话的工作方式会有所帮助。例如,拥有确定/取消按钮往往会让用户忽略大部分对话框。如果您删除常规按钮并将其替换为更冗长的命令链接,则用户更有可能阅读每个按钮,因为“快速离开”选项不可用。

                          【讨论】:

                          • 我不同意。我认为研究表明用户不在乎。大多数可用性专家早就知道用户根本不会阅读对话,主要是因为他们在一天中看到的对话太多,其中 99% 的对话毫无用处。
                          【解决方案20】:

                          我称之为“自动驾驶”问题。

                          1. 不要使用屏幕底部的确定、取消按钮。看看 Vista 试图强迫用户做出真正决定的方式。
                          2. 禁用按钮几秒钟,显示“思考时间”计时器/进度条。所以用户不能点击自动驾驶仪。用户往往会觉得这很烦人。

                          【讨论】:

                            【解决方案21】:

                            不要使用确认(您确定吗?是/否),而是使用撤消。

                            不要弹出会阻止的警告,因为用户会尝试尽快重新开始工作,而忽略消息并直接点击它。使用类似于 Internet Explorer 中的信息栏的东西,它不会阻止。

                            【讨论】:

                              【解决方案22】:

                              您可以避免一起使用对话框!在某些程序中,有一个显示错误和警告的小缓冲区。除此之外,它还可能会问你一件事,你必须在哪里输入你想做的事情。这是一个非常干净和不错的解决方案,我更喜欢它而不是菜单栏。

                              但如果你真的必须使用对话框,试试这个:

                              • 每个对话只有一句话
                              • 最多两个或三个按钮
                              • 使文本在对话框中可读(更大,黑底白字)
                              • 与其重复使用多个小对话框,不如使用一个对话框(提示:列表框)

                              我如何看待对话框?简而言之:它们是愚蠢而愚蠢的东西。使用它们的程序会在我的路上运行,并用它们愚蠢的无意义的问题拖慢我的速度。此外,使用对话框的程序通常很笨。

                              【讨论】:

                                猜你喜欢
                                • 2012-03-12
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                • 2010-11-07
                                • 2019-08-13
                                相关资源
                                最近更新 更多