javascript - 在 JavaScript 中评估屏幕阅读器的当前状态

标签 javascript audio accessibility screen-readers

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

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

TL;DR 我正在寻找 JavaScript 中的某种方式,以便在屏幕阅读器完成朗读时得到通知。回调、事件等等。

最佳答案

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

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

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

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

当用户移动到不同的控件时,您不仅应该宣布用户移动到的控件,而且如果这些很重要,您还应该有一个“音频描述”轨道来描述动画中发生的事情。

混合声音的方式取决于在任何给定时间什么最重要,以及用户与游戏的交互是否有任何“实时”组件。

关于javascript - 在 JavaScript 中评估屏幕阅读器的当前状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28999571/

相关文章:

Android:如何从SD卡播放音频文件

c++ oop beginner - 在一次函数调用中返回 vector 中每个创建对象的输出总和

javascript - Angular JS 模块和架构设计 : multiple index. html

javascript - ReactJS 如何使用状态钩子(Hook)获取超时的文本更改按钮列表?

javascript - PhoneGap 和 Nexus S?

ios - 在 iOS 应用程序的 Web View 中加载页面时的响应式设计

javascript - 输入标签上的 aria-label 无法读取 Android chrome

javascript - 如何检查id是否包含多个单词?

audio - 可视化音频-如何做到

ios - 如何使用 UIAccessibility 协议(protocol)在 iOS 上的模式弹出窗口中捕获焦点?