J5.01.3visual layout invisible to AT设计研究

视觉布局对阅读器不可见

别名: 布局不可见 · 视觉构图 · 阅读器看不见

概念解释

一张「订单卡片」在视觉上是圆角阴影围起来的一块,阅读器听不到这道阴影。视觉布局(visual layout)——分栏、对齐、背景色块、卡片边框——对屏幕阅读器不可见。它读到的是对象,不是像素构图。

机制

布局由渲染引擎算给眼睛看:谁和谁齐、谁在谁右边、谁被同一块底色包住。这些关系写在样式里,不写进被朗读的对象。阅读器不会说「以上三行同属一张卡片」,除非结构上真的有一组、一个标题或一块地标。

设计师把「相关」主要编码成空间构图;阅读器用户从未收到这套编码。失败不是顺序乱了那么简单——顺序对了,分组仍可能丢。左边标签、右边输入框看起来是一对,听起来却可能是所有标签念完再念所有输入框;仪表盘上四块指标并排,听起来是四个无隶属的数字。栏、卡片和齐平关系被当成语义,是比装饰性空白更常见的缺口。

怎么研究

给一组看着界面的人和一组只听的人同一张页,让双方划出「哪些东西是一伙的」。比对分组,而不是比对朗读顺序。

自变量:分栏、卡片容器、表单标签相对控件的位置。 因变量:分组一致率、错配的标签-控件对、是否报告「不知道这句属于哪一块」。

用阅读器听,同时看无障碍树里有没有组,不要看设计稿上的框。

边界

用户若还看得到屏幕(低视力叠加阅读器),布局线索会回来一部分,这条会弱。把相关内容放进真正的列表、表格、分组或标题下,布局不可见就不致命——结构承担了分组。纯装饰性的视觉节奏本来没有要传递的关系,听不到不是缺陷。不要把「顺序错了」和「分组没被编码」当成同一件事。

怎么落地

  • 视觉上成组的东西,在结构上也要成组:表单标签连着控件,卡片有标题,并排指标属于同一个区块标题。
  • 不要只用分栏或底色表达「这是一对 / 这是一套」。
  • 验证:听完整张表单和仪表盘,中途暂停问「这句话属于哪一项」。答不上来的每一处,都是布局在替结构说话。

延伸

  • 同组J5.01.1 阅读器把界面线性化为语音序列 · J5.01.2 用户依赖标题、地标与元素类型跳转
  • 相邻J2.08 阅读顺序 · J2.09 语义结构
  • 站内检索visual layout · screen reader · accessibility tree

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/J5.01.3