关键分组关系需要同时有一条非视觉可感知的编码作为兜底
别名: 冗余编码 · redundant encoding · fallback encoding
概念解释
颜色、间距、容器背景这几条格式塔分组线索,共同的前提是"用户能看见画面、能分辨画面上的细微差异"。色觉缺陷、低视力、依赖屏幕阅读器这几类用户,各自在这个前提的某一环上不成立,而且失效的环节还不一样——色觉缺陷用户看得见间距、看不清特定颜色对比;屏幕阅读器用户完全不依赖画面。这意味着不存在一条能同时覆盖所有人的纯视觉线索,唯一稳妥的做法是给真正重要的分组关系再配一条不依赖视觉渠道(non-visual channel)就能被感知到的编码,让分组信息不因为某一种视觉能力的缺失而整体消失。
机制
一条分组关系如果只靠一个视觉通道传达,这个通道对应的感知能力一旦缺失,整条信息就跟着一起消失,因为没有任何其他渠道保留了这份信息的副本。给关键关系配上一条走不同感知渠道的编码——比如把视觉上的分组同时写进标记结构里、或者用文字明确说明"这几项属于同一组"——相当于把同一份信息用两种互不依赖的方式各存一份,只要有一份还能被感知到,分组关系就不会彻底丢失。这跟色觉缺陷场景里"颜色之外再加一个形状"的做法,本质上是同一个原理在不同故障模式下的应用:不指望某一条线索包打天下,而是让关键信息始终有备份。
边界
这条原则只对"关键"的分组关系成立,不是说所有分组都要不计成本地叠加多重编码——纯粹装饰性、就算丢失也不影响用户理解和完成任务的分组,没有必要为它专门做兜底,过度堆砌反而会让界面本身变得复杂。判断一条分组关系是不是关键,看的是它丢失之后用户能不能仍然正确理解内容或完成任务:如果丢失后用户会理解错内容归属、错过必要信息,就属于需要兜底的关键关系。
怎么落地
- 先给界面里所有的分组关系分个类:哪些是纯装饰性的强化,哪些是用户理解内容或完成任务必须依赖的关键关系;只对后者投入非视觉编码的兜底成本。
- 对关键关系,明确它当前是靠视觉里的哪个通道传达的(颜色、间距、容器),再补一条完全不占用同一通道的编码——把分组关系写进标记结构,或者干脆用文字把关系说清楚,不要用同样依赖视觉的另一种线索去"兜底"一个视觉线索。
- 验证办法:假设某一种视觉能力(色觉、清晰视力、看见画面本身)完全不可用,逐条检查关键分组关系是否还能被感知到;只要有一种关键关系在假设某种视觉能力缺失后彻底无法感知,就说明兜底没有做到位,需要补一条真正独立的编码。