怎样定义动效与交互反馈?
让动效说明变化和操作结果,并尊重用户减少动态效果的设置。
动效是界面随时间发生的视觉变化,例如菜单展开或进度移动。它应帮助用户理解发生了什么,必要的反馈也要在没有动画时仍然清楚。
先记住这几件事
- 过渡 是从一种状态变化到另一种状态; 时长 是变化持续多久。
- 缓动 是动画速度怎样变化,例如逐渐开始或停止。它是表现手段,不是操作逻辑。
- 提交后要说明正在处理、成功或失败;旋转图形不能替代结果说明。
- 用户开启“减少动态效果”时,应减少非必要移动。不要让完成任务依赖某段动画。
动效需要有意义的原则见 Spectrum 动效指南 ;浏览器响应用户偏好见 MDN:减少动态效果 。
动效与反馈的流程
反馈调整的示意
以下是假设操作,不是性能测量。
| 阶段 | 原先情况 | 调整后 |
|---|---|---|
| 提交中 | 按钮没变化 | 显示正在保存 |
| 失败 | 动画停止,无解释 | 说明失败并提供重试 |
| 减少动态 | 仍大幅飞入飞出 | 保留文字反馈,减少移动 |
用一个例子走一遍
用户保存个人资料,网页立即显示处理中。服务返回成功后,状态变成“已保存”;失败则保留填写内容并给出重试入口。即使用户减少动画,也能通过文字理解整个过程。
边界与常见误解
没有适合所有交互的固定动画时长。动画快慢不能证明实际请求快慢,也不能掩盖长时间等待。减少动态效果不等于删除操作反馈;反馈的意义仍然需要保留。