F7.08.1Honour prefers-reduced-motion设计

系统的减弱动效设置必须被遵守

别名: 减弱动态效果 · prefers-reduced-motion · 系统动效开关

概念解释

操作系统上的「减弱动态效果」是用户已经作出的能力声明,不是主题开关,也不是「不太喜欢装饰」的口味投票。应用再播大位移、视差或弹性缩放,等于覆盖这项声明。遵守的意思是:读到系统偏好之后,把会移动大块像素的运动停掉或换成非位移替代,而不是在应用里再做一次开关让用户找。

机制

这项设置把「我无法安全地消化大视流」从每个应用里的隐藏选项,提升成系统级契约。来源包括前庭易感、偏头痛、注意力易被运动捕获、以及只是要省电或减少干扰。应用无法从一次会话判断用户属于哪一类,所以不能自行决定「这段还好」。契约的执行点在媒体查询或系统 API:未查询就等于默认用户能承受产品里最猛的那条视流。

应用内再做一个「动效开/关」且默认开,会让已经在系统里声明过的人再付一次寻找成本。两条开关不一致时,用户无法预测下一次更新还会不会尊重系统。

这里管的是契约是否被执行。大位移为什么会让人难受,是前庭冲突的问题;不执行契约的人即使自己不难受,也会把声明过的人暴露进去。

边界

  • 系统没有这项设置的旧设备,谈不上遵守,需要应用内提供等价入口,且默认仍应对易感路径安全。
  • 用户在系统里关掉减弱之后,应用不应继续强制最弱方案——契约是双向的。
  • 游戏或电影作为内容播放的运动,有时是内容本身;仍应在可退出的交互外壳上遵守系统偏好。

怎么落地

  • 在动效启动前读取系统减弱偏好;为真则走无大位移的替代分支,不要只在设置页展示一句「建议您关闭」。
  • 不要要求用户在应用内重复声明;应用内开关若存在,只能进一步收紧,不能比系统更猛。
  • 验证:打开系统减弱后走完主路径。仍出现整页平移、视差或弹性缩放,就是契约被覆盖。

延伸

  • 同组F7.08.2 减弱不等于取消,可用淡入淡出替代 · F7.08.3 关键状态变化在减弱模式下仍需可感知
  • 相邻F7.09 视差与前庭不适 · J4.08.1 自动播放与动画需可关闭
  • 站内检索prefers-reduced-motion · reduced motion · OS motion setting

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/F7.08.1