我有三个锚标签,一个带有文本,两个带有带有有效替代文本的图像。带有文本的锚标记在 JAWS 上运行良好,并且可以正确读取。但是,由于某种原因,对于内部带有图像的锚点,正在应用 -1 的 tabIndex,这意味着它们被跳过了。
这正在 IE 9 中进行测试。有什么理由应该发生这种情况吗?有没有办法防止它?
我有三个锚标签,一个带有文本,两个带有带有有效替代文本的图像。带有文本的锚标记在 JAWS 上运行良好,并且可以正确读取。但是,由于某种原因,对于内部带有图像的锚点,正在应用 -1 的 tabIndex,这意味着它们被跳过了。
这正在 IE 9 中进行测试。有什么理由应该发生这种情况吗?有没有办法防止它?
tabindex
我在将 JAWS的链接设置为 -1时遇到了类似的问题。这是带有 JAWS 14.0 的 IE9
该问题最终是由 JAWS 中的“Web / HTML / PDFs”->“链接”下名为“过滤连续重复链接”的设置引起的。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
or 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
只要所有链接的值都相同,这种行为应该可以使用任何值重现。
希望这可以帮助某人。
JAWS 自动将 tabindex="-1" 添加到具有 href="javascript:void(0)" 的锚标记。我使用 href="#" 来解决与您相同的问题。