Overview
HTML5 现在允许 http://dev.w3.org/html5/markup/syntax.html#svg-mathml <svg>
and <math>
使用 HTML 文档进行标记,而不依赖于外部命名空间(不错的概述here http://www.sanbeiji.com/archives/1243)。两者都有自己的alt
- 属性类似物(见下文),当今的屏幕阅读器软件实际上忽略了这些属性。因此,盲人用户无法访问这些元素。
是否计划为这些新元素实施标准的替代文本约定?我已经搜索了文档,但结果却是干巴巴的!
更多细节
关于SVG:SVG 的替代文本可以被视为根的内容title
or desc
tag.
<svg>
<title>An image title</title>
<desc>This is the longer image description</desc>
...
</svg>
我发现了one http://www.screenreader.net/屏幕阅读器可以这样读取它,但这是标准吗?以前的方法 http://www.carto.net/papers/svg/samples/svg_html.shtml插入 SVG 也存在可访问性问题,因为<object>
屏幕阅读器对标签的处理方式不一致。
关于MathML:MathML 的替代文本应存储在alttext属性 http://www.daisy.org/z3986/structure/SG-DAISY3/part2-math.html#math_examp1e1.
<math alttext="A squared plus B squared equals C squared">
...
</math>
由于屏幕阅读器似乎不承认这一点,数学渲染库MathJax http://www.mathjax.org/将文本插入到aria-label
运行时的属性。
<span aria-label="[alttext contents]">...</span>
不幸的是,NVDA、JAWS 和其他公司也无法可靠地读取这些标签。 (更多关于WAI-ARIA http://www.w3.org/TR/wai-aria/)
关于两者:由于在很大程度上不受支持的 ARIA 属性方面缺乏成功,我尝试使用title
属性。这些“外来”HTML 元素似乎也被忽略了。
Wrap-Up
不仅仅是快速破解,我正在寻找推荐方式在这些新的 HTML 元素上放置替代文本。也许我忽略了 W3C 规范?或者现在还为时过早?