具体问题是我使用的是:
$("#mytable").on("mousedown", "input", function(event) {...});
这种辅助功能是否“友好”或是否会妨碍视障人士使用我的网页的能力?
一般来说,我还应该远离javascript& amp; jquery的?
答案 0 :(得分: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
处理程序配对。这取决于上下文如何做到这一点。有时您可以简单地为两个事件分配相同的处理程序。但是您还需要考虑使用鼠标的上下文。如果希望用户将鼠标移动到某个地方,然后按下鼠标按钮,您应该尝试找到一种方法,允许执行进行操作而不会看到任何内容。