如何处理 HTML 中可访问性的语义符号?

Posted

技术标签:

【中文标题】如何处理 HTML 中可访问性的语义符号?【英文标题】:How to deal with semantic symbols for accessibility in HTML? 【发布时间】:2013-12-15 21:47:51 【问题描述】:

我发现这是一个有趣的问题,因为目前还没有任何资源讨论这个问题:在编写可访问标记时如何处理具有语义意义的符号?

例如“&”、“$”、“*”、“-”、“~”等符号......也许屏幕阅读器足够聪明,可以将“&”读成“and”、“ $" 为 "dollar" 等等,但有些符号在每种情况下并不总是具有明确的含义。例如,当您看到“Jan 2 - 3, 2013”​​或“Jan 2 ~ 3, 2013”​​时,您知道“-”和“~”的意思是“从 ... 到 ...”。但是我如何将这个含义编码到标记中呢?我应该像Jan 2 <abbr title="to">~</abbr> 3, 2013 这样使用<abbr> 标签吗?

【问题讨论】:

您习惯于将连字符视为一个范围。盲人也是。 && 将以相同的方式读取。一些辅助技术会说“和”,而其他人会说“与”。要成为有效的 html,您应该使用 & 【参考方案1】:

屏幕阅读器有自己阅读字符的方式,但不应期望他们在这方面特别聪明。对于大多数特殊字符,他们只说出字符的某个名称,与上下文和含义无关。

您对此无能为力。您可以使用 span 标记和包含解释的 title 属性,但它通常会被忽略。对abbr 有更好的支持,尽管将它用于特殊字符是有问题的。更重要的是,正如a W3C WAI document 所说,“JAWS 6.2 及更高版本和 WindowEyes 5.0 及更高版本支持 abbr 和 acronym 元素。当遇到这些元素时,它们都可以设置为说出标题属性,但这不是默认设置,并且通常不会被用户打开。”

所以你可以做的是尽可能自然地写作,例如“2013 年 1 月 2 日至 3 日”(根据英文风格指南,使用破折号而不是连字符)。

【讨论】:

感谢您的信息,我会确保我始终使用自然和“正确”的符号。 也许kbd 元素比span 更好?想象一下标记可以在密码中使用哪些特殊字符的说明。 kbd 本身似乎不会将“内容”传达给屏幕阅读器,但标题似乎可以解决问题:<kbd title="exclamation point">!</kbd>【参考方案2】:

你不需要对特殊字符做任何特别的事情。你习惯于解释符号的各种含义,使用辅助技术的人也习惯于解释符号的各种含义。

需要添加额外信息的情况是当您使用符号图像或非标准含义时。

【讨论】:

我明白了,说得好,但是如果您听到“一月二连字符三,二十三”会不会很奇怪? @Xavier_Ex,这对你来说很奇怪,因为你不习惯听到它。对于经常使用屏幕阅读器的人来说,这很自然。目的不是让它像人类一样阅读,目的是识别屏幕上的所有内容。此外,屏幕阅读器阅读文本的速度比您或我可能觉得舒服得多。 是的,我见过有人使用辅助阅读器,而且他们说得很快。总而言之,您提出了很好的观点,即“事物可访问并不一定意味着事物是自然的”,或者至少对于我们不依赖辅助代理的人来说不一定是自然的。

以上是关于如何处理 HTML 中可访问性的语义符号?的主要内容,如果未能解决你的问题,请参考以下文章

Rust 中如何处理分布式内存并行性? [关闭]

解读年度数据库PostgreSQL:如何处理并发控制

Node.js如何处理健壮性

Java内存模型

如何更改视图控制器中可访问性元素的顺序而不会失去对导航栏的访问权限?

如何处理访问写入冲突错误? [复制]