屏幕阅读器用户更喜欢在替代文本“&”或“&”中使用啥?
Posted
技术标签:
【中文标题】屏幕阅读器用户更喜欢在替代文本“&”或“&”中使用啥?【英文标题】:What is prefered to use in alt text "&" or "&" for screenreader users?屏幕阅读器用户更喜欢在替代文本“&”或“&”中使用什么? 【发布时间】:2011-02-05 15:09:33 【问题描述】:服务&
产品
或
服务和产品
更新:
流行的屏幕阅读器和纯文本浏览器将如何处理&
?
【问题讨论】:
所有已知的实体引用都被它们所代表的文本所取代。所以&
被&
替换,然后被它所代表的字符&
替换。所以 html 中的&
显示为&
。
【参考方案1】:
屏幕阅读器会将“&”读作“and”,而纯文本浏览器会将其显示为“&”。
之所以写&
是因为“&”是XHTML 中的一个特殊字符,必须转义。任何理解 XHTML 的浏览器/屏幕阅读器都知道 &
是转义的 & 符号 ('&'),并将其显示为“和”,或将其大声朗读为“和”。
如果您正在编写 XHTML 文档,这不是如何使您的 alt-text 对屏幕阅读器更友好的问题 - 您必须用 &
替换您的裸 & 或冒险您的文档不验证并可能显示不正确。
【讨论】:
【参考方案2】:在 HTML 中——这无关紧要(因为 & 号后面跟着一个空格)。
在 XHTML 中——&
是格式正确的错误,完全不能接受。
【讨论】:
不会的。浏览器将解析 HTML 或 XHTML 并生成将呈现的 DOM。然后,屏幕阅读器将通过浏览器的提示阅读屏幕上的内容。 根据经验——编写好的 HTML,不要指望屏幕阅读器会要求您出错。【参考方案3】:您必须 escape the plain &
with a character reference 喜欢 &
才能获得有效的 XHTML 文档:
& 符号 (
对其进行转义&
) […] 仅在用作标记分隔符时,或在注释、处理指令或 CDATA 部分中时,才可能以其文字形式出现。如果在其他地方需要它们,则必须使用数字字符引用或字符串“&
”[...]
【讨论】:
我的正常网站是否需要有效的 XHTML 文档?【参考方案4】:始终使用正确的字符编码转义 & 字符。在 HTML 中是 &或 &。在 URI 中,它是 %26 而不是前两个中的任何一个。不转义语法字符将导致 XML 失败。如果您的 HTML 要被 XML 引擎集成或解释,您的代码将会中断。
【讨论】:
&
的正确代码是 %26
而不是 %38
。请注意href="foo%26bar"
与href="foo&bar"
不同,因为前者的值声明将被评估为foo%26bar
,而后者将被评估为foo&bar
。
你是正确的,正确的 URI 转义符是 %26,但是 href="food&bar" 是无效的 URI 语法。您提到的转义是用户代理应用程序预处理的结果,而不是对 URI 本身的考虑。这就是为什么人们通常会错误地转义 URI 中的字符。以上是关于屏幕阅读器用户更喜欢在替代文本“&”或“&”中使用啥?的主要内容,如果未能解决你的问题,请参考以下文章