交互细节常识
很多交互上的细节,我认为应该是常识,大部分都是可以顺手做了的事情。因为我以为它们是「常识」,所以每次看到有人没做到我就很着急。
下面总结一些,以后想到/遇到就上来随时更新,也欢迎大家分享一下平时工作中总结出来的经验。这里面有些东西可能产品经理和设计师都不会提,所以就靠程序员们自觉了。
简化操作:
1. 需要二次确认的按钮,如果不在屏幕正中央,最好就不要用弹窗这种确认方式,尤其不要用居中的弹窗…… 要弹也请把弹窗里的默认按钮给自动focus了...
2. 弹窗中如果有输入框,请把它 focus 了
3. 弹窗关闭后,尽量 focus 回用户上一次操作点击的地方(方便盲人用户)
4. 总是在一个成本很大的操作旁边加上其他关联操作的入口
5. 部分“二次确认”的操作,可以用“当场撤销”替代
尊重习惯:
1. wizard性质的操作,不要把步骤之外的按钮样式做成和 “下一步”按钮一样
2. 始终给可能被截断的文本加上 title = 全文
3. 点击弹窗之外的地方可以隐藏弹窗
5. 所有输入框都应该保证 Enter 键可以提交,并且在最后一格输入框里点 Tab 键能 focus 到「提交」 按钮
6. 登录、支付等操作后应该能回到之前的页面,即使过程中出错
减少干扰:
1. 全站主导航链接不要用 target="_blank"
2. 用户操作会造成容器高度变化的,应给容器设定最小高度,防止页面跳动过大
3. 导航区块,当前被选中的tab或链接,应该变为不可点或只做样式更改,而不是隐藏掉(以减少界面元素的不确定因素,方便用户快速定位)
快速响应:
1. 能够避免从远程取数据的,就尽量避免,如无性能影响,优先把需要的数据写在DOM中
增加吸引力:
1. 摘要列表(如首页或者边栏里出现的)应总是取默认排序的前几位随机展示(random 5 of top 20)
2. 列表内容为空时,提供「这里没有内容」的文案或者隐藏模块
3. 向用户介绍新功能时,应明确指示新功能所在入口(没有新功能提示也能找得到)
下面总结一些,以后想到/遇到就上来随时更新,也欢迎大家分享一下平时工作中总结出来的经验。这里面有些东西可能产品经理和设计师都不会提,所以就靠程序员们自觉了。
简化操作:
1. 需要二次确认的按钮,如果不在屏幕正中央,最好就不要用弹窗这种确认方式,尤其不要用居中的弹窗…… 要弹也请把弹窗里的默认按钮给自动focus了...
2. 弹窗中如果有输入框,请把它 focus 了
3. 弹窗关闭后,尽量 focus 回用户上一次操作点击的地方(方便盲人用户)
4. 总是在一个成本很大的操作旁边加上其他关联操作的入口
5. 部分“二次确认”的操作,可以用“当场撤销”替代
尊重习惯:
1. wizard性质的操作,不要把步骤之外的按钮样式做成和 “下一步”按钮一样
2. 始终给可能被截断的文本加上 title = 全文
3. 点击弹窗之外的地方可以隐藏弹窗
5. 所有输入框都应该保证 Enter 键可以提交,并且在最后一格输入框里点 Tab 键能 focus 到「提交」 按钮
6. 登录、支付等操作后应该能回到之前的页面,即使过程中出错
减少干扰:
1. 全站主导航链接不要用 target="_blank"
2. 用户操作会造成容器高度变化的,应给容器设定最小高度,防止页面跳动过大
3. 导航区块,当前被选中的tab或链接,应该变为不可点或只做样式更改,而不是隐藏掉(以减少界面元素的不确定因素,方便用户快速定位)
快速响应:
1. 能够避免从远程取数据的,就尽量避免,如无性能影响,优先把需要的数据写在DOM中
增加吸引力:
1. 摘要列表(如首页或者边栏里出现的)应总是取默认排序的前几位随机展示(random 5 of top 20)
2. 列表内容为空时,提供「这里没有内容」的文案或者隐藏模块
3. 向用户介绍新功能时,应明确指示新功能所在入口(没有新功能提示也能找得到)