【问题标题】:JAWS screen reader adding tabIndex of -1 to anchors with imagesJAWS 屏幕阅读器将 -1 的 tabIndex 添加到带有图像的锚点
【发布时间】:2013-03-26 15:20:36
【问题描述】:

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

这是在 IE 9 中测试的。有什么原因会发生这种情况吗?有没有办法防止它?

【问题讨论】:

    标签: screen-readers jaws-screen-reader


    【解决方案1】:

    JAWS 将链接的 tabindex 设置为 -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 属性,而没有考虑其他属性,例如onclickonkeydown。将此与应用于初始图像/文本链接对之后的任何图像链接的重复删除配对,您最终可能会遇到这样的情况,即图像/文本链接对之后的图像链接在不应该出现的情况下出现。示例:

    <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 把它变成了一场噩梦!
    • +1 很高兴找到这个和上面的答案。那个 tabindex=-1 快疯了。我不知道该解决方案是否适用于我的问题,但至少知道问题出在哪里会有很大帮助。
    【解决方案2】:

    JAWS 自动将 tabindex="-1" 添加到具有 href="javascript:void(0)" 的锚标记。我用 href="#" 解决了和你一样的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-15
      相关资源
      最近更新 更多