盲人可以使用利用MOUSE事件进行交互的网页

时间:2013-08-28 23:38:19

标签: javascript jquery html accessibility

具体问题是我使用的是:

$("#mytable").on("mousedown", "input", function(event) {...});

这种辅助功能是否“友好”或是否会妨碍视障人士使用我的网页的能力?

一般来说,我还应该远离javascript& amp; jquery的?

2 个答案:

答案 0 :(得分:3)

有一种简单的方法可以测试此类交互的基本可访问性:您可以使用空格标记项目并使用空格或输入吗?

可访问性不仅仅是盲人,还有其他群体依赖键盘,但不使用屏幕阅读器(例如行动不便的人)。在任何一种情况下,看起来可能存在两个问题:

  1. 表格通常不是您可以使用键盘关注的元素,因此如果用户通过点击获取信息或激活功能,则也可以使用键盘选择它。
  2. 键盘用户很少可以访问“mousedown”功能。 (虽然使用屏幕阅读器的人可能会通过模拟鼠标点击来使用它。)
  3. 假设元素不是链接或表单控件,您需要添加tabindex(在HTML中或通过JavaScript):

    <table tabindex="0">
    

    0值将它放在tabindex中它在DOM中的位置。 (http://www.w3.org/TR/wai-aria-practices/#focus_tabindex

    然后你应该确保按键也会触发事件,像这样的事情应该这样做:

    $("#test").mousedown(function() {
        // your function
    });
    
    // also activate with enter/space
    $("#test").on("keydown", 
       function (e) {
        if (e.which === 13 || e.which === 32) {
            $('#test').click();
        } 
      }
    );
    

    (JavaScript / jQuery不是我的最强点,请检查密钥代码并根据需要进行改进。它应该让人们按空格键或输入以激活控件。)

    通常,我会寻找一个考虑了可访问性的JavaScipt库,并讨论如何使用WAI-ARIA。 JQuery和jQuery UI是最好的之一,但它也可用于测试。使用标准HTML控件并使用JS进行增强通常是最安全的方法,最好是创建基本测试并在list like WebAim上提问。

答案 1 :(得分:1)

盲人可以使用利用鼠标事件进行交互的网页,前提是该页面还提供了交互的替代方法。即使没有提供替代方法,一些盲人也可能能够使用该页面,例如,感谢辅助软件将鼠标事件映射到他们可以使用的东西,比如键盘事件。但是,你不应该依赖它。

WCAG 2.0有一个技术文档Using both keyboard and other device-specific functions,其中建议mousedown事件处理程序与keydown处理程序配对。这取决于上下文如何做到这一点。有时您可以简单地为两个事件分配相同的处理程序。但是您还需要考虑使用鼠标的上下文。如果希望用户将鼠标移动到某个地方,然后按下鼠标按钮,您应该尝试找到一种方法,允许执行进行操作而不会看到任何内容。