在 JavaScript 中评估屏幕 reader 的当前状态

Evaluating current state of a screen reader in JavaScript

过去 2 年我一直在进行屏幕 reader 优化,没有任何问题,但现在我正在开发一个将音频播放作为核心功能的应用程序。据我了解,当屏幕 reader 为 运行 并且我的所有音频流现在都在互相交谈时,无法延迟播放。我已经多次阅读 WAI-ARIA 规范,以至于我怀疑那里是否包含我正在寻找的功能。

是否有 JavaScript 可访问的整体屏幕 reader API 允许我协调我的应用程序音频以不与辅助设备重叠?我可以只听回调或订阅事件的东西——比如 window.addEventListener('screenReaderAudioFinished', handlerFn); ?

TL;DR 我正在 JavaScript 中寻找某种方法,以便在屏幕 reader 结束讲话时得到通知。回调、事件等等。

TL;DR 您要查找的内容在浏览器中不存在

听起来您正在开发一款游戏,如果这是真的,那么您可以做的就是完全接管正在发生的公告——本质上是实现您自己的屏幕 reader。这可以通过在键盘操作的控件上实现一个带有虚拟 "cursor" 的应用程序区域来实现。这个日历小部件展示了如何通过键盘和手势控制实现这一点。

http://dylanb.github.io/datepicker/datepicker.html

音频输出可以通过您自己的音频管道实现。如果你有能力播放音频,那么写这篇文章应该是相当简单的,但混合选择和优先级可能是困难的部分。

您不仅应该在用户移动到不同的控件时宣布他们移动到的控件,而且您还应该有一个 "audio description" 轨道来描述动画中发生的事情(如果这些很重要)。

如何混合声音取决于在任何给定时间什么最重要,以及用户与游戏的互动是否有任何 "real-time" 组成部分。

您必须阅读 WCAG 的音频控制部分 (http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-dis-audio.html)

事实上,你想要的和残障人士想要的完全相反。

需要的是能够在您的应用程序中停止音频,并再次启动它按需

我会做的是在你的应用程序中提供一个暂停音频的控件,让用户能够知道你的应用程序想要在关闭音频模式时通过一声哔哔声 (<3s) 告诉他一些事情.

屏幕阅读器并未与浏览器完全集成,因此如果您想全面支持无障碍设备,很难找到更好的解决方案。