J5.08.2semantic correctness设计研究
语义正确性无法自动判断
别名: 语义无法自动判 · 有意义的名称 · 人工判断
概念解释
alt 属性在,工具给通过;写的是「图片」,人听完仍不知道图里是什么。标题标记在,工具给通过;标记包的是一句广告词,阅读器的标题列表仍是废目录。语义正确性问的是标记与人要完成的任务是否对准,这件事没有可计算的真值,自动化给不了判决。
机制
语义是标记和人类意义之间的关系。检查器拿得到标记:有没有角色、有没有名称、名称是不是空。拿不到意义:这个名称能不能让人在列表里认出「提交订单」,这个标题是不是一节的题目,这组节点是不是真的选项卡。谓词里的「正确」依赖任务和语言,不依赖 DOM。
启发式能抓到一些烂模板(「点击这里」「image」「untitled」),也会放过看起来像样、其实对不上任务的句子,还会误伤正当的短名。分类器猜的是像不像好名字,不是这个名字在这笔结账里成不成立。自动层停在「槽位是否被填上」;「填上的东西对人够不够」仍是人的判断。
怎么研究
构造两页:结构槽位同样齐全,一页名称与标题对准任务,一页用合法但无意义的套话。自动引擎应两页都通过或都只标复查;阅读器用户只在对准的那页能完成任务。
自变量:槽位是否齐全、名称 / 标题是否与任务对准。 因变量:自动引擎结果、用户能否在标题列表里点名目标、任务成功。
把「alt 非空」和「听完能报告图中事实」分成两个因变量,不要合成一个「替代文本得分」。
边界
空名称、非法角色这类结构错误可以被自动判定,它们不是语义问题。特定语言的禁用词表能抓住一部分套话,换领域、换语言立刻失效。生成模型可以给「像不像好 alt」打分,仍然不是对这张图、这个用户任务的真值。法律要求「提供文本替代」时,机器能证明替代存在,不能证明替代正确——正确仍要人读。
怎么落地
- 自动通过之后,抽主任务上的名称、标题、替代文本,用阅读器只听这些字符串,问能不能据此操作。
- 标题列表、按钮列表、链接列表里出现套话或与任务无关的词,当作语义失败,哪怕工具是绿的。
- 验证:听完整张图的名字和主按钮那一句。说不出图要传达的事实、或在按钮列表里找不到要按的那一个,语义就不正确——与自动引擎有没有报错无关。