![d769bcf740616c2fb37aa9c9c95e89ce.png](https://i-blog.csdnimg.cn/blog_migrate/83fbe98146c4fdb97c6e02f166045089.jpeg)
本文是「经典交互模式」系列第二篇,前文回顾:面包屑导航 Breadcrumbs Trail
全文目录
- 什么是模态窗
- 模态窗的使用问题
- 模态框应用实践
什么是模态窗 Modal Window
我们在各种不同的屏幕应用中见过「模态窗」,全屏幕模态窗、弹出信息框、(跟随触发)弹出信息框、灯箱弹窗、多步骤对话框等等,它们有着不同的形状、大小和交互模式。
![d7e618bf790b7761b4e6a0f2a4664998.png](https://i-blog.csdnimg.cn/blog_migrate/a68aeeb3a9e483321a139ea6588d88d9.jpeg)
可以说,所有屏幕应用都可以分为模态窗口和非模态窗口。
什么是模态窗口?我们先从「模态」理解起。
Modal 模态是指计算机处于一种特殊状态下,此时用户进行同样的输入操作,会得到不一样的输入结果。典型的案例即按下 大写锁定(Caps Clock)时,用户输入的字母会变成大写,此时大写锁定键成为了模态开关。
![f9d058c7bfcc161c97ffbe376abd3172.png](https://i-blog.csdnimg.cn/blog_migrate/117fa755d6b3382d6175a26319d18fc2.jpeg)
而「模态窗」即指窗口的特殊模式:出现在前级主视窗前方,使主窗口可被看到(移动屏幕上可能出现全屏),但无法使用。用户想要返回主应用,需要先与模态窗进行互动。
在非模态窗中,用户可以自由的浏览、操作、返回或是通过导航跳转;而在模态窗中,你需要先完成操作,才可以返回状态。
![21e0ae49ea576b88fd715c9a6151ffd8.png](https://i-blog.csdnimg.cn/blog_migrate/d9eb714c2143fef869441bf441628c29.jpeg)
模态窗的使用问题
由于模态框覆盖原浏览内容且不进行操作无法离开的特点,它总被应用于强制打断用户的工作流程获取用户的注意力。久而久之,人们反而形成了一种「应激机制」——精准地找到「关闭按钮」,瞬间关闭。
![6247da1645ad77843ddbfba57fda3321.png](https://i-blog.csdnimg.cn/blog_migrate/a09e718c65aa8f587af3bcc4bf151b8b.jpeg)
- 需要即刻的注意力
模态窗将系统置于一个特殊模态中,用户需要搞懂模态窗的内容并作出反应。
- 打断用户的工作流
从模态窗返回后用户需要额外的时间和精力想起此前的工作内容。
- 用户产生了额外的目标
有些复杂内容的模态窗花费了更多的额外成本,用户不得不将「关闭窗口」作为当前的任务目标。
- 遮挡了主窗口内容
特别是出现表单类模态窗口时,重要的信息被遮挡导致无法完成表单填写。
纵观带来的巨大交互成本,模态窗的使用却依旧广泛。因此,了解如何合理、节制地使用模态窗口或许可以帮助你创建更加安全、流畅的产品体验。
模态窗应用实践
- 展示更多内容
模态窗口可以用于展示更多的浏览内容,例如图片、视频等。
![a2927b13fc1007cffa66cfdd945f134d.png](https://i-blog.csdnimg.cn/blog_migrate/cc505f9e93a026e548da55f653f6e40f.jpeg)
- 完成一个独立的任务
模态窗口可以承载应用主任务之外的独立任务,它有着明确的触发点和结束点。
![06bfb66627feab99376b9a17c9e2f5a3.gif](https://i-blog.csdnimg.cn/blog_migrate/34ebad63f6f718ba48814e4e704366f4.gif)
- 显示重要警告 用于预防或改正严重错误
预防总比补救更重要。这可能是最常见的模态窗使用方式。那么什么才是「防止严重错误」的重要时刻呢?
1 只需要用户留意就可以避免的错误
![009ddde9920c84ca430981c411fab780.png](https://i-blog.csdnimg.cn/blog_migrate/fa8505d98f2e99971f22da193b2f9ac1.jpeg)
2 难以补救的错误
![5845383af214908a486ce42baaeb62d8.png](https://i-blog.csdnimg.cn/blog_migrate/acf75830129a9cf785b31223fd68ced2.jpeg)
- 补充重要信息 保证流程继续进行
由于信息的缺失,流程无法继续下去时,我们运用模态窗要求用户补全信息。
![d8004a85f436d059a9ebf5625cf81e11.png](https://i-blog.csdnimg.cn/blog_migrate/be8d99491d662a03c5b8e75b1c7d8e81.jpeg)
- 避免让用户在模态框中做复杂决策
模态窗的内容应当简洁、直接,避免用户完成复杂的计算或研究。例如模态窗显示的商品优惠,却遮挡了原价信息,用户难以做出选择。
![8f9bc0b50c4f9923be9586bd2fdf7339.png](https://i-blog.csdnimg.cn/blog_migrate/bd14969a2cd439fef0da6057550b205a.jpeg)
- 避免用模态窗显示提示消息
警告或错误提示尽量出现在相关目标旁边,消息通知不需要额外占用用户的注意力。
![714985d5df3e942c9e840ac2315b2ad9.png](https://i-blog.csdnimg.cn/blog_migrate/35bc84719464c6f6c8e85a885365dc0d.jpeg)
总结
无论是否使用模态窗口,我们的产品目的总是帮助用户解决问题、完成任务继而达成目标。没有人愿意自己着手的事情没打断,所以在应用模态窗时,衡量一下它的交互成本,并保证用户会觉得这次中断是有价值的。
参考链接
- Therese Fessenden, Modal & Nonmodal Dialogs: When (& When Not) to Use Them, Nielsen Norman Group
- Raluca Budiu, Interaction Cos, Nielsen Norman Group
- Naema Baskanderi, Best Practices for Modals / Overlays / Dialog Windows, uxplanet.org
- Fabian Sebastian, Modality Is the One UX Concept That Most Designers Don’t Fully Understand, uxplanet.org