摘要

  • HTML 3.2 称 IMG 的 alt 对语音和纯文本用户代理至关重要,DTD 却把它标为 #IMPLIED;AREA 的 alt 则是 #REQUIRED。
  • HTML 3.2 称图像 ALT 对语音和纯文本代理很重要,却允许普通 IMG 省略它;每个地图 AREA 都要有标签。

分析

对只用文字浏览网页的人来说,图像地图不是一幅画,而是一组要选的链接。HTML 3.2 要求每个 AREA 提供名称,让用户代理能列出文字菜单;普通 IMG 的 ALT 却可以省略。

DTD 是验证器用来检查属性规则的语法表:#IMPLIED 表示可以省略,#REQUIRED 表示必须出现。

这个落差从 HTML 2.0 就能看到。1995 年 11 月发布的 RFC 1866 允许用户代理把 ALT 当作 SRC 所指图像资源的替代内容来处理;它的 DTD 同样把 IMG alt 设为可选。HTML 3.2 于 1997 年 1 月 14 日发布,目标是记录 1996 年初的推荐实践;它保留了这个语法,同时更明确地谈到互操作性。建议和机器可检查的规则走的是两条线。(RFC 1866;HTML 3.2)

再看 AREA:它表示图像地图里的一个可点击区域。HTML 3.2 把每个 AREA 的 alt 都标为 #REQUIRED,注释说非图形用户代理需要它。正文还指出,这些标签可以组成一份地图热区的文字菜单。同一份 DTD 允许整张图片没有 alt,却不允许它的可点击区域没有自己的文字名称。

WAI 在 1999 年 3 月的技术指南里按 HTML 版本梳理了可用办法:HTML 4.0 的 IMG 和 AREA 必须有 alt,HTML 3.2 为更多元素提供这个属性,HTML 2.0 则为 IMG 提供。若旧格式的用户代理不支持这些属性,指南建议把等价信息写进正文,或链接到更完整的描述。两个月后,WCAG 1.0 的检查点 1.1 要求每个非文本元素都提供文本等价物,优先级为 1;达到 A 级必须满足所有优先级 1 检查点。义务从一个属性转向了内容所承载的信息。(WAI 技术指南,1999 年 3 月 24 日;WCAG 1.0)

这条边界很清楚:正文可以说出需要什么,DTD 可以拒绝缺字段,创作准则也可以覆盖单个标签以外的内容;但这些步骤都证明不了 alt 是否解释了图像的作用。若要判断读者当时实际遇到了什么,需要带日期的网页样本,并与浏览器和语音用户代理的支持记录配对;这些记录才能算出遗漏和实现情况。

来源