5

我有三个锚标签,一个带有文本,两个带有带有有效替代文本的图像。带有文本的锚标记在 JAWS 上运行良好,并且可以正确读取。但是,由于某种原因,对于内部带有图像的锚点,正在应用 -1 的 tabIndex,这意味着它们被跳过了。

这正在 IE 9 中进行测试。有什么理由应该发生这种情况吗?有没有办法防止它?

4

2 回答 2

4

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属性而没有考虑其他属性,例如onclickor 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只要所有链接的值都相同,这种行为应该可以使用任何值重现。

希望这可以帮助某人。

于 2013-04-09T20:59:29.360 回答
3

JAWS 自动将 tabindex="-1" 添加到具有 href="javascript:void(0)" 的锚标记。我使用 href="#" 来解决与您相同的问题。

于 2013-04-09T04:21:27.353 回答