我了解到<abbr>
标记应该由屏幕阅读器解释,其title
属性在屏幕阅读器读取时会替换其内容。但是,当我尝试这种方式时,MacOS(Firefox和Safari)Voiceover和NVDA(Windows 10,Edge和Firefox)都不会这样。这是相关的代码部分:
... bla bla bla <abbr title="nervus">N.</abbr> peronaeus ...
(这是医学表达)
IMO这应该被解读为“...... bla bla bla nervus peronaeus ...”,但它被读作“... bla bla bla N.”,然后长时间的沉默(或者屏幕阅读器甚至停止之前)它),显然是因为点,然后“peronaeus ......” - 没有“神经”......
我是否正确使用了语法或者是否存在我遗漏的内容?或者,如果这是正确的:是否有任何WAI-ARIA代码或类似代码,我可以添加它以使其在大多数屏幕阅读器上的工作方式工作?
答案 0 :(得分:3)
您无法真正依赖于听到该元素的title
属性的用户。 Here's a good resource on how screen readers process HTML elements和abbr
,条目如下:
正如您所看到的,屏幕阅读器通常只是读出元素内容。由于N.
包含句点,因此它只读出“N”,然后在此期间完全停止。您可以设置屏幕阅读器以阅读title
内容,但这是一个选择加入设置,因此您不应该依赖它。实际上无法使用title
为屏幕阅读器设置内容。
答案 1 :(得分:2)
abbr
标记只是误导。
在您的情况下,您不希望仅向盲人用户提供信息,而是向忽视看似常见的医学缩写术语的人提供信息。非盲用户(不使用屏幕阅读器)需要此信息。
相反,使用盲文显示器的盲人确实喜欢缩写。很多。
如果您想要一种非常有效的方法来处理缩写,请使用词汇表:
<a href="/glossary/nervus-peronaeus"
aria-label="Nervus peronaeus"
title="Nervus peronaeus" class="glossary">N. Peronaeus</a>
aria-label
对链接有很好的支持,title
属性可用于向非屏幕阅读器用户提供提示。
例如,词汇表可以插入页面底部。
<a href="#nervus-peronaeus"
aria-label="Nervus peronaeus"
title="Nervus peronaeus" class="glossary">N. Peronaeus</a>
我处理缩写的首选方法是不使用它们。
Nervus Peronaeus
清除。简洁。这似乎是微不足道的,但当你认为缩写值得解释时,这对每个人来说都是最好的方式(运动,视觉,认知障碍)。
当然,对于缩写语言的一部分,您不需要解释它们(FBI,NATO,......)。在专业人士的医疗网站中,“N. peronaeus”一词可能是目标公众语言的一部分。
答案 2 :(得分:0)
另一种方法:在页面上的第一个实例上使用括号中的完整术语加缩写,然后只使用缩写。维基百科:&#34;超文本标记语言(HTML)是用于创建网页和Web应用程序的标准标记语言。&#34; https://en.wikipedia.org/wiki/HTML