我正在使用常用符号来表示特定文字的网站的一部分,但不希望屏幕阅读器读取符号,而是描述符号的含义。
例如:
你将获得免费的iPad∞。
其中∞表示“如果您赢得比赛”。此文本显示在网站的其他位置。
在来源中,我有以下内容:
You'll get a free iPad<acronym title="If you win the contest"><span aria-hidden="true">∞</span></acronym>
这在Chrome中效果很好并且正确地说“如果你赢了比赛”,但在Firefox和IE中它将∞读作“无限”。
我是否遗漏了一些可以帮助IE / Firefox知道在这个例子中该做什么的东西?
如果重要,我使用的是Firefox 48.0.2,IE 11和Chrome 53.0.2785.116 m
答案 0 :(得分:1)
将评论转化为答案以便可以接受(尽管OP也可以这样做并接受他/她自己的答案)。
笔:http://s.codepen.io/aardrian/debug/VKPwrV
NVDA用户通常不使用Chrome。我会说&#34;永远不会,&#34;但有时他们会误点击。没有鼠标重新测试(确保,因为悬停导致无限宣布)。我正在使用NVDA 2016.2和NVDA 2016.3。在Firefox 48.0.2中,我听到了#34;如果您赢得比赛,您将获得免费的ipad。&#34;在IE11中我听到了#34;如果你赢了比赛,你将获得免费的ipad。&#34;
如果你用(鼠标)指针移动符号,那么屏幕阅读器就会宣布它。
通常,SR用户将通过键盘导航页面,获取他或她想要的部分,然后让它读取。按标题,地标,名单等划分是很常见的。屏幕阅读器用户通常不会使用鼠标进行冲浪(但并非所有SR用户都完全失明)。
我的建议是您可以保留代码(尽管将<acronym>
替换为<abbr>
)。