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

问题描述 投票:0回答:1

我有此链接:

<a href="/path/to/page" data-trigger="expedient-element">The Best Page</a>

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

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

ajax onclick accessibility screen-readers progressive-enhancement
1个回答
0
投票

[在链接上按Enter键时,其作用与单击相同,并且截取Enter键以执行其他操作是一个非常糟糕的主意。

  • [有些键盘使用者非常有见识,他们没有使用屏幕阅读器。这些用户将遇到意外的行为。
  • 即使实际已按下Enter键,屏幕阅读器也可以选择直接发送单击事件,而不发送键盘事件。因此,方向相反。
  • 除了单击或输入之外,还有其他激活链接的方法:空格键,点击触摸屏,辅助技术使眼睛眨眨眼来单击等。在这些情况下,该如何操作?

顺便说一句,您不能基于是否使用屏幕阅读器来做其他事情,只是因为您没有100%可靠的方式来检测它。

您应该问自己的问题是:

  • 为什么您希望单击和输入之间有不同的行为?还是在屏幕阅读器和普通用户之间?
  • 您是要解决无法访问的内容,还是拥有相同内容的两个版本(可访问和不可访问的版本)?在这种情况下,最好只有一个内容并使其可访问。在极少数情况下,这实际上是不可能的,经验表明,这两个版本最终将不同步,比您想象的要快。
© www.soinside.com 2019 - 2024. All rights reserved.