我有三个锚标签,一个带有文本内部,两个带有有效alt文本的图像。带有文本内部的锚标记可以正常使用JAWS并且可以正确读取。但是,出于某种原因,对于内部带有图像的锚点,正在应用tabIndex为-1,这意味着它们被跳过。
这正在IE 9中进行测试。是否有任何理由应该发生这种情况?有没有办法防止它?
答案 0 :(得分:4)
我在JAWS中遇到类似问题,将tabindex
链接设置为-1。这是使用IE9和JAWS 14.0
问题最终是由“Web / HTML / PDF”下的JAWS中的设置引起的 - > “链接”称为“过滤连续重复链接”。 JAWS描述的功能如下:
此选项控制是否过滤指向同一位置(一个图形和一个文本)的连续链接。选中后,仅宣布文本链接。默认情况下会选中此复选框。
例如,假设您有一个图标/文本链接对,它们都做同样的事情:
<a href="javascript:void(0)" onclick="test();">
<img src="untitled.png" title="Test" alt="Test">
</a>
<a href="javascript:void(0)" onclick="test();">TEST</a>
设置完成后,JAWS将从标签顺序中删除图像,只保留文本链接:
<a tabindex="-1" href="javascript:void(0)" onclick="test();">
<img src="untitled.png" title="Test" alt="Test">
</a>
<a href="javascript:void(0)" onclick="test();">TEST</a>
根据我的经验和一些基本测试,我认为这仅适用于图像链接后面是重复文本链接而不是相反的情况。它也适用于图像/文本对之后的任何重复图像链接。
我遇到的问题是JAWS似乎只比较了href
属性,并没有考虑其他属性,例如onclick
或onkeydown
。将此选项与应用于初始图像/文本链接对之后的任何图像链接的重复删除配对,并且最终可以得到图像/文本链接对之后的图像链接在不应该的情况下获得的情况。示例:
<a href="javascript:void(0)" onclick="test();">
<img src="untitled.png" title="Test" alt="Test">
</a>
<a href="javascript:void(0)" onclick="test();">TEST</a>
<a href='javascript:void(0)' onclick="dontTest();">
<img src="untitled2.png" title="Test" alt="Test">
</a>
结果:
<a tabindex="-1" href="javascript:void(0)" onclick="test();">
<img src="untitled.png" title="Test" alt="Test">
</a>
<a href="javascript:void(0)" onclick="test();">TEST</a>
<a tabindex="-1" href='javascript:void(0)' onclick="dontTest();">
<img src="untitled2.png" title="Test" alt="Test">
</a>
注意:href
设置为javascript:void(0)
的事实纯属巧合。只要所有链接的值相同,就可以使用href
的任何值重现此行为。
希望这有助于某人。
答案 1 :(得分:3)
JAWS自动将tabindex =“ - 1”添加到具有href =“javascript:void(0)”的锚标签。我使用href =“#”来解决与你相同的问题。