J5.04.2label-in-name设计研究

可见名称与可访问名称需一致

别名: 可见名与计算名 · label in name · 名称一致

概念解释

按钮上印的是「发送」,树上的名字却是「submitForm」。用户照着印出来的字说「点击发送」,匹配器拿去对的是树上那个名字,对不上就落空。语音控制要成立,可见名称可访问名称(accessible name)必须是同一串词。这是匹配器的工作方式提出的要求,不是给控件起名的审美。

机制

用户按「看 → 说」组织口令,引擎按可访问名称做字符串匹配(常要求可见词作为名称的子串,即 label-in-name)。两条管道起点不同:眼睛采可见文字,匹配器采树里的名字。作者用内部字段、英文字段或另一句营销文案去填名称,等于给匹配器一本用户没看见的词典。

失败的形态很具体:说可见词,系统没反应;说对了内部名,用户却不可能猜到。阅读器用户有时能听到计算名,语音控制用户默认听不到——他们只看得到那几个字,所以可见词必须出现在被匹配的那一串里。

怎么研究

构造一对对照:可见文字与可访问名称相同,以及可见文字是「发送」、名称是另一串。打开 Voice Control / Voice Access,只许说得见的词,记命中与落空。

自变量:可见词是否包含于可访问名称、语言是否同一、是否被另一串名称覆盖。 因变量:原样朗读可见标签的命中率、改口后是否碰巧命中内部名。

不要提示「试试英文」。测的是看见中文会不会说中文。

边界

图标加可见文字、名称比可见词更长但包含可见词(「发送订单」包含「发送」),通常仍能命中,一致不等于字符串全等。系统提供编号叠加时,用户可以不靠名称点中,那是退路,不能用来证明名称可以随便起。同一屏幕上若干控件可见词相同,匹配器会冲突——那是消歧问题,先保证每一对可见词与名称对齐,再谈重名。

怎么落地

  • 可访问名称以屏幕上那几个字起头或原样包含它们,不要用另一套内部文案覆盖。
  • 改可见文案时同步改名称,避免「界面上已经是中文、树上还是旧英文」。
  • 验证:读出按钮上的可见文字。点不中就去看树上的名字——可见词若不在那一串里,语音控制按设计就会拒识。

延伸

  • 同组J5.04.1 用户通过朗读可见标签来操作 · J5.04.3 无标签图标无法被语音选中
  • 相邻J3.12 语音控制的可选中性 · J5.10 名称、角色与状态
  • 站内检索label-in-name · accessible name · voice control

同组卡片

快捷操作

分享

分享当前页面

ios_share

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