A2.15.4Non-visual fallback encoding for critical grouping设计

关键分组关系需要同时有一条非视觉可感知的编码作为兜底

别名: 冗余编码 · redundant encoding · fallback encoding

概念解释

颜色、间距、容器背景这几条格式塔分组线索,共同的前提是"用户能看见画面、能分辨画面上的细微差异"。色觉缺陷、低视力、依赖屏幕阅读器这几类用户,各自在这个前提的某一环上不成立,而且失效的环节还不一样——色觉缺陷用户看得见间距、看不清特定颜色对比;屏幕阅读器用户完全不依赖画面。这意味着不存在一条能同时覆盖所有人的纯视觉线索,唯一稳妥的做法是给真正重要的分组关系再配一条不依赖视觉渠道(non-visual channel)就能被感知到的编码,让分组信息不因为某一种视觉能力的缺失而整体消失。

机制

一条分组关系如果只靠一个视觉通道传达,这个通道对应的感知能力一旦缺失,整条信息就跟着一起消失,因为没有任何其他渠道保留了这份信息的副本。给关键关系配上一条走不同感知渠道的编码——比如把视觉上的分组同时写进标记结构里、或者用文字明确说明"这几项属于同一组"——相当于把同一份信息用两种互不依赖的方式各存一份,只要有一份还能被感知到,分组关系就不会彻底丢失。这跟色觉缺陷场景里"颜色之外再加一个形状"的做法,本质上是同一个原理在不同故障模式下的应用:不指望某一条线索包打天下,而是让关键信息始终有备份。

边界

这条原则只对"关键"的分组关系成立,不是说所有分组都要不计成本地叠加多重编码——纯粹装饰性、就算丢失也不影响用户理解和完成任务的分组,没有必要为它专门做兜底,过度堆砌反而会让界面本身变得复杂。判断一条分组关系是不是关键,看的是它丢失之后用户能不能仍然正确理解内容或完成任务:如果丢失后用户会理解错内容归属、错过必要信息,就属于需要兜底的关键关系。

怎么落地

  • 先给界面里所有的分组关系分个类:哪些是纯装饰性的强化,哪些是用户理解内容或完成任务必须依赖的关键关系;只对后者投入非视觉编码的兜底成本。
  • 对关键关系,明确它当前是靠视觉里的哪个通道传达的(颜色、间距、容器),再补一条完全不占用同一通道的编码——把分组关系写进标记结构,或者干脆用文字把关系说清楚,不要用同样依赖视觉的另一种线索去"兜底"一个视觉线索。
  • 验证办法:假设某一种视觉能力(色觉、清晰视力、看见画面本身)完全不可用,逐条检查关键分组关系是否还能被感知到;只要有一种关键关系在假设某种视觉能力缺失后彻底无法感知,就说明兜底没有做到位,需要补一条真正独立的编码。

延伸

  • 同组A2.15.1 仅靠颜色实现的分组对色觉缺陷用户失效 · A2.15.2 仅靠间距实现的视觉分组不会传递给依赖顺序朗读的屏幕阅读器 · A2.15.3 低对比度的容器线索在低视力用户眼中可能完全不可见 · A2.15.5 纯视觉分组在缩放或改变字号后可能因间距比例改变而失效
  • 相邻U1.10 双重编码与冗余编码 · J5.01 屏幕阅读器
  • 站内检索redundant encoding · fallback encoding · non-visual channel

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/A2.15.4