U11.02.5View changes caused by interaction must be announced设计

交互引起的视图变化需被播报

别名: 变化播报 · 动态更新播报

概念解释

交互式图表中,用户的操作(切换筛选、下钻、缩放)会引发视图变化——数据集变了、坐标轴变了、图形类型变了。视觉用户直接看到这些变化,屏幕阅读器用户听到的却可能毫无动静:焦点还在原处,朗读的还是旧结构的缓存。未播报的视图变化对非视觉用户等于"操作似乎没有生效"或更糟——"生效了但我不知道数据已经全变了"。变化播报(aria-live 或等效机制)是交互式图表可访问性的闭环要件:操作有可听见的回执。

机制

变化播报的机制是把视图状态的迁移转化为可听的事件流:筛选后播报"筛选已应用:仅移动端,剩余 8 个数据点"、下钻后播报"已进入:华东区,显示 12 个月明细"、数据自动刷新后播报"数据已更新至 14:32"。播报的内容要点与同组的三要素一致,但重点在新状态的概要而非逐点列举——用户需要知道"世界变成了什么样"来决定下一步操作。播报的时序与节流是实现的关键:连续快速操作(连续点按筛选)会触发连续视图变化,逐条播报会互相淹没,合理策略是合并短时间内的变化为一次摘要播报("筛选已更新,当前显示华东区 2024 年数据");而 aria-live 区域的 politeness 级别(polite vs assertive)决定播报是否打断当前朗读——常规视图变化用 polite,用户主动触发的关键状态切换可用 assertive。焦点管理是播报的姊妹要件:视图变化若导致原焦点元素消失(筛选后数据点减少),焦点必须迁移到新结构中的合理位置并同步播报,否则用户停留在无上下文的悬空焦点上。

边界

播报的粒度与频率需要克制:每一点微小变化都播报会造成听觉噪声(与告警疲劳同构),该播的是"改变用户操作语境"的变化(数据集、结构、时间范围),而非视觉动画的每一帧。自动刷新类变化(非用户触发)的播报策略更需谨慎——后台更新频繁时只播报"有更新"提示并让用户主动获取,打断式播报留给用户触发的变化。播报的边界还有多图表联动场景:一个筛选器引发多张图同时更新,逐图播报会形成播报风暴,合理做法是播报筛选动作本身("已筛选至华东"),各图的更新在用户聚焦到该图时再行播报。

怎么落地

  • 为交互图表定义变化播报清单:哪些操作产生视图变化、播报什么文案、用什么 politeness 级别。
  • 合并高频变化的播报(500 毫秒窗口内的连续变化合并为一次摘要)。
  • 视图变化导致焦点失效时同步迁移焦点并播报新位置。
  • 验证:全程仅用屏幕阅读器完成一次"筛选→下钻→返回"操作流,每一步操作后都应有对应的可听回执;任何一步静默即播报缺失。

延伸

  • 同组U11.02.1 图表元素需有可预期的键盘遍历顺序 · U11.02.2 遍历应支持在序列与数据点两个层级之间切换 · U11.02.3 朗读内容需包含标识、数值与单位 · U11.02.4 整体趋势需有可被朗读的摘要层而非只能逐点听读
  • 相邻U7.06.4 时间范围变化时对比基准需同步更新 · U11.02.3 朗读内容需包含标识、数值与单位
  • 站内检索aria-live · status announcement · dynamic content accessibility

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/U11.02.5