3

具体问题是我是否使用类似的东西:

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

这种可访问性是“友好的”还是会妨碍视障人士使用我的页面的能力?

一般来说,在 javascript 和 jquery 中我应该远离其他项目吗?

4

2 回答 2

3

有一种简单的方法可以测试这种交互的基本可访问性:您可以使用 Tab 键选择该项目并使用空格或 Enter 激活它吗?

无障碍不仅仅是盲人,还有其他群体也依赖键盘但不使用屏幕阅读器(例如行动不便的人)。无论哪种情况,看起来都可能存在两个问题:

  1. 表格通常不是您可以通过键盘关注的元素,因此如果用户通过单击获取信息或激活功能,它也应该可以通过键盘进行选择。
  2. 键盘用户很少使用“mousedown”功能。(尽管使用屏幕阅读器的人可能可以通过模拟鼠标点击来使用它。)

假设元素不是链接或表单控件,您需要添加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 不是我的强项,请检查键码并根据需要进行改进。它应该使人们能够按空格键或回车键来激活控件。)

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

于 2013-08-29T22:27:11.437 回答
1

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

WCAG 2.0 有一个使用键盘和其他设备特定功能的技术文档,其中建议mousedown事件处理程序与处理程序配对keydown。这取决于上下文如何执行此操作。有时您可以简单地将相同的处理程序分配给两个事件。但是您还需要考虑使用鼠标的上下文。如果希望用户将鼠标移动到某处然后按下鼠标按钮,您应该尝试找到一种方法,让整个操作在没有看到任何东西的情况下执行。

于 2013-08-29T04:24:22.353 回答