WEB设计中的“帮助用户从错误中恢复”
人非圣贤孰能无过,对于用户来说,出错行为在所难免,因此在忽略犯错动机的前提下(主要是避免部分极端用户的主观试错),需要设计师为产品的可用性提供“退路”或者“其他路线”。换句话说,当用户在操作过程中触发了错误事件,需要有合理的交互反馈来帮助用户排除使用障碍,继续未完成的操作——回归到WEB产品本身,即提供“返回入口”和“文案提示”,确保用户能“转移”到正确的操作流程中去。
就出错行为的主体而言,可分“知错”和“不知错”两种。前者是知道正确的操作行为方式,但由于大意疏忽导致错误的发生;后者是完全不知道已经在进行错误操作,无意识犯错。对于“知错”,最有效的解决方法是提供“返回”、“取消”之类的入口(有时甚至是模态对话框),让用户能撤销之前的错误行为;而对于“不知错”,往往要通过信息提示等交互方式给予引导。
关于信息提示
WEB易用性大师Jakob Nielsen曾经对出错提示信息的设计规则作出归纳(猛击查看原文),这里我们结合实例进行更深入的分析:
1、提示信息明确直接(Explicit):明确指出用户的错误,有提示总比没有好。
这是出错提示信息的设计底线,没有任何说明的错误反馈只能证明产品本身的失败。
反面案例:某产品论坛,如果用户在未登录状态下点击了某贴的“回复”按钮,会弹出警示框,但是没有给出解决方法,无法引导用户进行修正操作。
2、可理解性(Human-readable):提示信息是可以被用户理解的。
拿最常见的404错误页面来说,传统的IIS报错页面显得苍白而臭屁(大多数用户根本看不懂),过度技术化的语言往往让用户对产品的印象大打折扣。
3、注意措辞(Polite):提示文案温和有礼貌,避免因粗暴的提示给用户带来强烈的挫败感。
用户出现错误就已经很郁闷了,为避免出现摔键盘砸电脑的民事案件,富有技巧的文案提示显得尤为重要。一般来说,要尽量避免含负面情绪的冲击性元素出现,比如红色的大叉。
例如,淘宝的detail页面,如果用户在未登录状态下点击了“立即购买”按钮,弹出的不是错误提示框,而是登录框,这样处理即避免了错误警示给用户带来的心理负担,也有效地引导用户修正操作(登录)。
4、表达精确(Precise):提示信息要表达精确,不要出现模棱两可的表述。
记得西乔同学曾在《愤怒的用户》中生动地讲述了一个由不明确提示文案引发的血案(猛击查看原文),由此可见,对于错误原因的精确描述是衡量一个产品成熟与否的重要标志。
5、建设性意见(Constructive Advice):提供建设性的解决方案。
这点的关键之处是提供给用户的解决方案是合理准确的。相对于“避免用户出错”,引导用户解决问题更具针对性,设计师和用研同学要对用户的出错的环境和前置条件进行全面分析,通过评估错误本身的可能性和原因,提供出一套或者多套解决方案。
关于交互方式的人性化处理
对于触发操作行为的用户来说,已经产生了一定程度上的消极情绪,甚至从心理上对产品形成了一层接受壁垒。对设计师来说,除了人性化的文案,贴心的交互细节能够有效缓冲这种负面影响。
1、提供数据保存功能(Preserve):尽可能保存用户之前填写的信息,用户在修正错误的时候只需要修改错误部分即可。当用户花费很大精力填写完整套表单,却因为输错了一个小数点而要重新输入所有信息,这种粗暴的交互方式完全就是对人性的践踏=。=
2、及时反馈(Feedback):如果用户在操作过程中出现错误,应当及时反馈,千万不要等用户乐呵呵点击提交按钮时弹出提示“您第一步设置错误,请重新设置所有信息”。
3、减少操作步骤(Reduce The Work):尽可能用“选择”代替“输入”,例如通过一个下拉控件让用户重新选择正确的信息,而不是再次手工输入,减少重复劳动能明显提升纠错的有效性。
综上所述,对于一款优秀的产品,理想状态是“避免出错”,即“将杯具扼杀在摇篮里”,当错误的很难避免时,需要靠“文案提示”等方式将用户重新拉回到正确的操作轨道上来。《左传·宣公二年》有云:“人谁无过,过而能改,善莫大焉。”作为交互设计师,我们要做的就是提供给用户改过之策,共勉。
建议继续学习:
- 老生常谈,安全上你不该犯的错! (阅读:2309)
- Inline Form Labels(2) (阅读:1896)
- 那些常见的Oracle错误 (阅读:1929)
- WEB设计中的“帮助用户从错误中恢复” (阅读:1783)
- 语义化的label? (阅读:1515)
- 交互设计实用指南系列(3)―“有效性”之“适时帮助” (阅读:1373)
- Swift错误和异常处理 (阅读:835)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:尚公子 来源: jingweb
- 标签: 帮助 提示 错误
- 发布时间:2013-06-18 13:45:20
- [54] IOS安全–浅谈关于IOS加固的几种方法
- [53] 如何拿下简短的域名
- [53] Oracle MTS模式下 进程地址与会话信
- [53] Go Reflect 性能
- [51] android 开发入门
- [49] 图书馆的世界纪录
- [49] 读书笔记-壹百度:百度十年千倍的29条法则
- [46] 【社会化设计】自我(self)部分――欢迎区
- [38] 程序员技术练级攻略
- [31] 视觉调整-设计师 vs. 逻辑