J5.01.1screen reader linearization设计研究
阅读器把界面线性化为语音序列
别名: 线性化 · 语音序列 · 屏幕阅读器
概念解释
机票改签页上,眼睛能同时看见左侧航班和右侧须知;耳朵同一时刻只能听见一句。屏幕阅读器(screen reader)把二维界面压成一条语音时间线,这个过程叫线性化(linearization)。它不是把页面念给看不见的人听,而是把「看一眼」改写成「听一遍」。
机制
语音是时间介质。视觉可以并行取样两列、一张卡片和顶栏;听觉必须排队。阅读器把界面对象排成序列再逐个合成语音,用户在脑子里建的是一份清单,不是一张地图——「旁边那张卡片」这种空间指示在序列里没有对应物。
序列一旦形成,下一项是什么由文档结构决定,不由屏幕上谁离得近决定。视觉上的「同时可见」被改写成「先后到达」。熟练用户把语速拉到每分钟三百词以上,是在用速度补偿并行性的丧失,不是把界面变回二维。
怎么研究
通道剥夺:遮住屏幕,只听阅读器完成找航班、改签、核对金额。听完后让人画出页面分区——重建失败的地方就是线性化丢掉的空间关系。
自变量:对象数量、是否提供跳转钩子、语速。 因变量:任务完成时间、线性听完整页的比例、空间关系报告是否与视觉稿一致。
用 NVDA+Firefox、JAWS+Chrome、VoiceOver+Safari 各跑一遍,因为不同引擎切分对象的粒度不同。不要用满意度代替「听完能否说出页面上有几块」。
边界
低视力用户会把剩余视觉和语音叠在一起用,线性化不是他们唯一的通道,结论会弱。点显器同样是序列,但走触觉而非语音,失败模式相近、介质不同。空间音频能给一点方向感,尚未成为主流阅读器的默认模型。把阅读器当「朗读全文」工具来测,会测到听的能力,测不到在序列里找路。
怎么落地
- 按听的顺序走一遍主流程:每一句出现时,用户是否已经具备理解它所需的上下文。
- 不要把必须对照着看的信息拆到视觉上相邻、序列上遥远的两处。
- 验证:关掉显示器,只听阅读器走完一次购票或结账。中途必须回头问「刚才那句是哪个区的」的地方,就是线性化把关系切断了。