弹窗设计的5条基本原则

起点学院产品经理365成长计划,2天线下闭门集训+1年在线学习,全面掌握BAT产品经理体系。了解详情

当你将弹窗设计及使用得恰到好处时,它们就会是非常有效的用户界面元素。它们能帮助用户快速且便捷地达成目标。然而当错误使用时,弹窗却会困扰你的用户。学会如何设计弹窗,会帮助你在使用时避免那些可能对用户造成的困扰。

1,什么是弹窗?

弹窗是一个为激起用户的回应而被设计、需要用户去与之交互的浮层。它可以告知用户关键的信息,要求用户去做决定,抑或是涉及到多个操作。弹窗越来越广泛地被应用于软件、网页、以及移动设备中,它可以在不把用户从当前页面带走的情况下,指引用户去完成一个特定的操作。

dc201606301

图1,会话过期弹窗

 

现在让我们来看看有哪些优秀的弹窗设计和使用方法。

原则1,减少干扰

由于弹窗会中断操作,要尽可能地少使用弹窗。突然出现的弹窗会强迫用户去停止他们当下正在进行的任务,并转而专注于弹窗中的内容。在继续之前,用户 必须要面对这个弹窗,否则将无法对弹窗之下的页面进行操作。当这个用户必须要确认一个关键的操作时,这就是好的,但是在大部分情况下弹窗是不太有必要的, 甚至会引起用户反感。

需要确认

在你需要用户去互动才可继续时,或当犯一个错误的成本会很高时,使用弹窗是最合适且最合理的。

dc201606302

图2,这里告知了用户一个情况,需要用户确认

不要突然打开弹窗

在用户没有做任何操作时突然打开弹窗,是非常糟糕的设计。许多网站用订阅框来轰炸它们的用户,就如下面的例子:

dc201606303

图3,诸如此类的弹窗给没有键盘的用户造成了数不清的麻烦

弹窗的出现应该永远基于用户的某个操作。这个操作也许是点击了一个按钮,也许是进入了一个链接,也可能是选择了某个选项。

小结

  • 不是每个选择、设置、或细节都有必要中断用户当前的操作。
  • 弹窗的备选方案有菜单以及同框内的扩展,这两种控件都可以保持当前页面的延续。
  • 可不要突然跳出弹窗,应该让用户对弹窗的每次出现都有心理预期。

原则2,弹窗应与现实世界相关连

弹窗应该使用用户的语言(用户熟悉的文字,短语和概念),而不是一些系统特有的专有名词。

表述清晰的问题和选项

在弹窗的内容区域,应该使用一个表述清晰的问题或陈述,例如“清除您的存档?”或“删除您的账户?”总之,应该避免使用含有歉意的、模凌两可的、或者是反问式的语气,如“警告!”“你确定吗?”

dc201606304

图4,左边的弹窗提出了一个很模凌两可的问题,并且这个操作可能影响的范围并不明确;右边的弹窗提出的问题相当明确,它解释了此次操作对用户的影响,并且提供了指向清晰的选项。

尽可能不要给用户提供可能产生混淆的选项,而应该使用那些文意清晰的选项。大部分情况下,用户应该能够只通过弹窗的标题和按钮,就了解他们有哪些选项。

反例:这个按钮的文字“不”的确回答了弹窗内的问题,但是并没有直接告诉用户点击后会发生什么。

dc201606305

图5,安卓的系统弹窗

改成这样:肯定的操作文字“放弃” 很明确地指示了选择这个选项的后果。

dc201606306

图6,安卓的系统弹窗

提供重要的信息

一个弹窗不应该把对用户有用的信息说得含糊不清。举个例子,如果一个弹窗要让用户确认删除某些条目,就应该把这些条目都列出来。

dc201606307

图7,这个弹窗很简要地指明了这个操作的结果

另外,避免使用“了解更多”按钮去连接到帮助文档;在弹窗同一页面展开则是更好的选择。如果还需要显示更多的信息,则将其放在进入弹窗之前的页面。

提出有(关键)信息的反馈

当一个流程结束时,记得显示一条提示信息(或视觉反馈),让用户知道自己已经完成了所有必要的步骤。

dc201606308

图8,在完成一个操作后成功的例子

小结

  • 在弹窗中使用语意清晰的问题和选项。
  • 设计促进操作完成的弹窗。
  • 在操作完成后,提示用户操作已经完成了。

原则3,讲求极简

别试着把太多东西挤在一个弹窗内。要保持干净和简约(遵从KISS原则)。然而极简主义并不意味着被局限住,你提供的所有信息都该是有价值并且与之相关的。

元素与选项的数量

弹窗绝不应该只是部分显示在屏幕上。因此不要使用有滚动控件的弹窗。

反例:巴克莱银行的付款处理弹窗包括了许多的选项和元素,部分的选项只有滚动后才能看到(特别是对于屏幕通常较小的移动设备)

dc201606309

好的例子:Stripe使用了一个简单并且聪明的弹窗,只显示了最基本的信息,这样不管在桌面端上还是移动屏幕上看起来都会很不错。

dc2016063010

操作的数量

弹窗不该提供超过两种选项。第三个选项,例如下图的“了解更多”,有可能会将用户带离此弹窗,如此用户将没有办法完成当前的任务。

dc2016063011

 

图11,“LEARN MORE”操作将用户从这个弹窗指引到其它页面,进而把当前的弹窗置入一个不确定的状态

勿将多个步骤放置在一个弹窗内

把一个复杂的任务分解成多个步骤是一个极好的想法。然而这也会给用户传达一个信号,这个任务太复杂了,以至于根本没法再一个弹窗界面中完成。

dc2016063012

如果一个交互行为复杂到需要多个步骤才能完成(如下图的例子),那么它就有必要单独使用一个页面(而不是作为弹窗存在)。

dc2016063013

图13,有多个步骤的弹窗

小结

  • 如果你发现你在很努力地把许多元素挤进一个弹窗,这通常代表弹窗已经不是最优的设计方案了。
  • 将那些不必要的、不能够帮助用户完成任务的元素或内容从弹窗中去除,以达到简化的目的。
  • 尽量避免在弹窗内安置多个步骤。

原则4,选择适当的弹窗种类

弹窗大致分两个大类。第一大类为吸引用户关注的模态弹窗,强制用户与之交互后才能继续。模式弹窗通常被用在独立、强制的流程中:

  • 当不需要上下文就可以决定怎么做的时候。
  • 需要明确的“接受”或“取消”动作才能关闭。在点击这种弹窗的外部时,它并不会关闭。
  • 当我们不允许此用户的进程处于部分完成状态(即用户必须完成此进程才可做其他任何的操作)。

第二大类则是非模态弹窗,它允许用户通过点击或轻触周围就可关闭。

第一种模式弹窗只在特别重要的交互操作时才须使用,(比如:删除帐户,同意协议)。

dc2016063014

图14,模态弹窗:用户必须输入“DELETE”才能确认删除

另外移动系统的弹窗通常是模态的,并且含有如下的基本元素:内容,操作,和标题。

dc2016063015

图15,安卓模态弹窗

原则5,视觉一致性

弹窗下的背景

当打开一个弹窗时,后面的页面一定要稍微地变暗。它有两个功能,第一它把用户的注意力转移到了浮层上,第二它让用户知道后面的这个页面是不再可用的。

dc2016063016

图16,安卓的模态弹窗

在调节背景深度时要注意了。如果你把它变得太暗,用户就没法看清背景的内容。如果你调得太浅,用户可能会认为这个页面仍然可操作,并且甚至不会注意到弹窗的存在。

清晰的关闭选项

在弹窗的右上角应该有一个关闭的选项。许多弹窗会在右上角有一个“x”的按钮,方便用户关闭窗口。然而,这个“x”按钮对于一般的用户而言并不是一个显而易见的退出通道。这是由于“x”按钮通常较小,它需要用户准确地定位到该处,才能够成功的退出,而这一过程通常很费事。

因而让用户通过点击非模态弹窗的背景区域去退出,就是一个更好的方法。

dc2016063017

图17,TWITTER同时使用了点击X按钮和点击背景区域的退出方式

避免在弹窗内启动弹窗

应该避免在弹窗内再启动附加的小弹窗,这是因为此举会加深用户所感知到的网站或app的层级深度,从而增大了视觉的复杂性。

dc2016063018

图18,反例:弹窗中的弹窗

小结

  • 在大部分情景下,都允许用户通过点击或轻触来关闭弹窗(除了模态弹窗)。
  • 应该避免在弹窗内再启动附加的小弹窗(即弹窗中的弹窗)。

总结

希望这些有关弹窗的使用案例和使用方法还算有趣,并能在你们设计原型时派上用场。要记住,用户体验是为用户而做的设计,而非为技术。要想知道什么样 的设计最适合你的用户、最适合他们将进行的任务,其实不是一件难事:你只需要模仿那些领先产品的弹窗,然后找到你的用户做一些相关的测试。

 

原文地址:babich.biz

译文地址:ddc.dianrong

您的赞赏,是对我创作的最大鼓励。

评论( 4

登录后参与评论
  1. 交互设计中尽量避免弹窗里出弹窗,但是我想问一下:第1层弹窗是参数设置,第2层弹窗是系统提示的,这样的情况合理吗?

    回复
  2. 你好,想问下,你最后举例说不要有弹窗中的弹窗,那上面弹窗中的弹窗那张图要如何改善呢,产品新人,求指教 :smile:

    回复
  3. 请问:原则1总结里的“同框内的扩展”是指?

    回复
  4. 有时候一些交互,不是一次弹窗能解决的,这方面确实知识浅薄,不知道您还有没有其他类似这样的案例可以分享

    回复
加载中