2013-08-28 16 views
3

具体的问题是,如果我使用类似网页:能蒙蔽人使用利用进行交互的鼠标事件

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

这是辅助功能“友好”或这并不妨碍一个人有视觉障碍的用我的网页的能力?

一般来说,有没有其他的项目我应该远离javascript & jquery?

回答

3

有一种简单的方法可以测试这种交互的基本可访问性:您是否可以选中该项目并使用空格将其激活或输入?

辅助功能不仅仅是盲人,还有一些人依赖键盘,但不使用屏幕阅读器(例如行动障碍人士)。在这两种情况下,它看起来像有可能是两个问题:

  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是不是我的最强点,请检查键码,提高如果你认为合适的话,它应该使人们按空间或进入来激活控制。)

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

1

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

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

+0

+1供参考。我以前没看过那个页面。很有用。具体来说,虽然听起来像我可以使用mousedown视力不佳的游客,但它应该与视觉障碍者的角逐或变化事件相结合。 – kasdega