【问题标题】:How to find out if a user is using screen reader on my website如何确定用户是否在我的网站上使用屏幕阅读器
【发布时间】:2017-05-30 22:55:51
【问题描述】:

有没有一种方法(库)可以让网页检测到正在使用的屏幕阅读器?这可能仅用于报告/分析目的。

PS:一个 Drupal 8 网站。

我知道这是一个愚蠢的问题。但是,寻找是否有我从未遇到过的东西!

【问题讨论】:

  • 您可以这样做,但可能不应该尝试,因为在编码中,很多事情都是可能的,尽管不建议这样做。例如,在 Chrome 中,如果用户将 ChromeVox 语音反馈作为插件安装,您将拥有一个可以测试的 window.cvox JavaScript 对象。其他插件和浏览器可能会有自己的 window.object 来检测,但几乎不可能找到并测试所有这些。

标签: drupal accessibility drupal-8 wcag2.0 web-accessibility


【解决方案1】:

没有。这不可能。屏幕阅读器作为计算机上的应用程序运行 - 这类似于试图找出查看您网站的人是否也打开了他们的计算器 - 这是一种隐私限制。此外,这些用户中的许多人可能正在他们的移动设备上使用 Voiceover 或 Talkback,但也无法检测到。

您的网站应该努力遵循网络标准并为所有用户平等地工作。

我也很好奇您检测此问题的具体目标是什么,因为屏幕阅读器只是许多人使用的辅助工具的一部分 - 仅关注屏幕阅读器用户不会使您的网站易于访问。

【讨论】:

  • 所以,你错了,我希望人们不要在 stackoverflow 上发布这样的“不可能,这是不可能的”答案。在编码中,很多事情都是可能的,尽管可能并不可取。例如,在 Chrome 中,如果用户将 ChromeVox 语音反馈作为插件安装,您将拥有一个可以测试的 window.cvox 对象。其他插件和浏览器可能会有自己的 window.object 来检测,但几乎不可能找到并测试所有这些。
  • @ChrisN 这个问题的措辞在某种意义上暗示它试图检测屏幕阅读器的存在一般,而不是枚举已知的列表可检测到......并且没有理由让那些纯粹在浏览器外部运行(通过用于使其他应用程序可访问的相同 API)以这种方式被检测到。
  • 检测到屏幕阅读器(即使它是可能的)是可访问性的危险信号。不要这样做!!!!
【解决方案2】:

没有。你不能。绝对不是。

编辑:更严重的是,您可以做的一件事是检测用户是否使用他的鼠标。这并不意味着他使用了屏幕阅读器,或者他没有使用屏幕阅读器,但这只是一个指标(但这应该归类为“仅限键盘用户”而不是“屏幕阅读器用户”)。在我看来,这是一个比了解用户是否使用屏幕阅读器更有趣的问题。

关于检测屏幕阅读器的不当行为有很多讨论:

【讨论】:

  • 抱歉,答案必须包含 30 个字符。
  • 对您对“仅键盘”用户的编辑的评论:许多视障用户也可能使用鼠标。我知道一些盲人用户使用鼠标跳转到页面上的一般区域,因为它比尝试通过键盘找到它要快(尤其是在编码不佳的网站上)。此外,在移动设备上查看页面可能会给此键盘指标增加额外的障碍,因为其中许多用户永远不会使用键盘进行导航。许多用户还通过键盘导航表单字段,这是需要考虑的。
  • 此外,有许多视力正常的用户也依赖屏幕阅读器,例如患有 ADD/ADHD 和文盲的用户 - 其中许多人还会使用鼠标。
  • @Skerrvy 你是完全正确的。出于这个原因,我们可以检测鼠标/触摸屏/键盘用户,但它不会提供任何有关使用或不使用屏幕阅读器的信息,也不会告诉我们他们是否存在缺陷(如果有的话)。
  • @ChrisN 这个问题是关于屏幕阅读器(使用系统辅助功能 API),而不是关于一个浏览器插件(与 DOM 交互)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-04
  • 2021-08-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多