具体的问题是,如果我使用类似网页:能蒙蔽人使用利用进行交互的鼠标事件
$("#mytable").on("mousedown", "input", function(event) {...});
这是辅助功能“友好”或这并不妨碍一个人有视觉障碍的用我的网页的能力?
一般来说,有没有其他的项目我应该远离javascript & jquery?
具体的问题是,如果我使用类似网页:能蒙蔽人使用利用进行交互的鼠标事件
$("#mytable").on("mousedown", "input", function(event) {...});
这是辅助功能“友好”或这并不妨碍一个人有视觉障碍的用我的网页的能力?
一般来说,有没有其他的项目我应该远离javascript & jquery?
有一种简单的方法可以测试这种交互的基本可访问性:您是否可以选中该项目并使用空格将其激活或输入?
辅助功能不仅仅是盲人,还有一些人依赖键盘,但不使用屏幕阅读器(例如行动障碍人士)。在这两种情况下,它看起来像有可能是两个问题:
假设元素不是一个链接或表单控件,您需要添加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上提问。
盲人可以使用利用鼠标事件进行交互的网页,前提是该网页还提供了用于交互的替代方法。即使没有提供替代方法,一些盲人可能也能够使用该页面,例如,这要归功于将鼠标事件映射到可以使用的辅助软件,如键盘事件。但是,你不应该依赖这一点。
WCAG 2.0有一个技术文档Using both keyboard and other device-specific functions,其中建议mousedown
事件处理程序与处理程序配对。这取决于上下文如何做到这一点。有时你可以简单地将相同的处理程序分配给两个事件。但是您还需要考虑使用鼠标的上下文。如果用户希望将鼠标移动到某个位置,然后按下鼠标按钮,则应该尝试找到一种允许在不看到任何东西的情况下执行Entiring操作的方法。
+1供参考。我以前没看过那个页面。很有用。具体来说,虽然听起来像我可以使用mousedown视力不佳的游客,但它应该与视觉障碍者的角逐或变化事件相结合。 – kasdega