具体问题是我是否使用类似的东西:
$("#mytable").on("mousedown", "input", function(event) {...});
这种可访问性是“友好的”还是会妨碍视障人士使用我的页面的能力?
一般来说,在 javascript 和 jquery 中我应该远离其他项目吗?
具体问题是我是否使用类似的东西:
$("#mytable").on("mousedown", "input", function(event) {...});
这种可访问性是“友好的”还是会妨碍视障人士使用我的页面的能力?
一般来说,在 javascript 和 jquery 中我应该远离其他项目吗?
有一种简单的方法可以测试这种交互的基本可访问性:您可以使用 Tab 键选择该项目并使用空格或 Enter 激活它吗?
无障碍不仅仅是盲人,还有其他群体也依赖键盘但不使用屏幕阅读器(例如行动不便的人)。无论哪种情况,看起来都可能存在两个问题:
假设元素不是链接或表单控件,您需要添加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 之类的列表上提问。
盲人可以使用利用鼠标事件进行交互的网页,前提是该页面还提供交互的替代方法。即使没有提供替代方法,一些盲人也可能能够使用该页面,例如,借助将鼠标事件映射到他们可以使用的东西(如键盘事件)的辅助软件。但是,您不应该依赖它。
WCAG 2.0 有一个使用键盘和其他设备特定功能的技术文档,其中建议mousedown
事件处理程序与处理程序配对keydown
。这取决于上下文如何执行此操作。有时您可以简单地将相同的处理程序分配给两个事件。但是您还需要考虑使用鼠标的上下文。如果希望用户将鼠标移动到某处然后按下鼠标按钮,您应该尝试找到一种方法,让整个操作在没有看到任何东西的情况下执行。