盲人可以使用利用鼠标事件进行交互的网页吗

Can blind people use web pages that utilize MOUSE events for interactions

本文关键字:交互 网页 事件 可以使 鼠标 盲人      更新时间:2023-09-26

具体的问题是,如果我使用以下内容:

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

这种无障碍访问是"友好的",还是会阻碍视障人士使用我的页面?

一般来说,在javascript&jquery?

有一种简单的方法可以测试这种交互的基本可访问性:您可以用制表符标记项目并使用空格或回车键激活它吗?

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

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

假设元素不是链接或表单控件,则需要添加tabindex(在HTML中或通过JavaScript):

<table tabindex="0">

0值将它放在DOM中的tabindex中。(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和jQueryUI是比较好的两种,但测试也很有用。使用标准的HTML控件并使用JS进行增强通常是最安全的方法,最好创建一个基本的测试并在WebAim之类的列表中提问。

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

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