首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止屏幕阅读器/辅助技术触发单击处理程序

防止屏幕阅读器/辅助技术触发单击处理程序
EN

Stack Overflow用户
提问于 2020-02-13 06:46:26
回答 1查看 98关注 0票数 1

我有这样的联系:

代码语言:javascript
复制
<a href="/path/to/page" data-trigger="expedient-element">The Best Page</a>

当前页面中存在的ajax填充和-revealed元素是一个“增强”,具有aria-hidden="true"。屏幕阅读器和辅助技术最好遵循链接的href到随后的静态页面,而不是触发单击处理程序(特别是因为它将要操作的元素已经隐藏了,如前所述)。

这种行为是已经发生了,还是我需要添加一些东西?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-13 15:49:13

当在链接上按enter时,它的操作与单击相同,为了做一些不同的事情而拦截enter键是一个非常糟糕的主意。

  • 有一些键盘用户,他们的视力非常好,他们没有使用屏幕阅读器。这些用户将体验到意外的behavior.
  • Screen阅读器可能选择直接发送单击事件,而不是键盘事件,即使enter实际上已被按下。因此,在相反的direction.
  • There中,除了单击或输入之外,还可能有其他激活链接的方式:空格键、触摸屏上的点击、通过眨眼来单击的辅助技术,等等。在这些情况下,它应该如何表现?

顺便说一句,你不能根据是否使用屏幕阅读器来做不同的事情,仅仅因为你没有100%可靠的方法来检测它。

你应该问自己的问题是:

  • 为什么要在单击和输入之间进行不同的行为?还是在屏幕阅读器和普通用户之间?
  • 您是在处理不可访问的内容,还是有两个版本的相同内容(一个可访问的和一个不可访问的)?在这种情况下,最好有一个单一的内容,并使其可访问。真正不可能的情况很少,经验表明,这两个版本最终将失去同步,比你想象的要快得多。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60201932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档