[英]How can I determine with JavaScript what a screen reader would read?
我有一个已经可以使用 iOS 和 Android 设备访问的 Web 应用程序,但我正在尝试在没有屏幕阅读器的设备上进行相同的操作。 我有一个应用程序外壳形式的解决方案,我可以在其中启动我的 Web 应用程序; shell 可以像 Talk Back 一样导航/操作元素,没有问题......实际上,我已经使用替代屏幕操作设备为行动不便的人实现了可访问性。
我还需要支持屏幕阅读器,我不知道是否有办法(在 JavaScript/Typescript 中)检索给定按钮应该读取的内容。 例如,如果显示一个标题为“下一步”的按钮,我想检索文本“下一步,按钮”或类似的内容。
有没有基于标准的方法来做到这一点? 或者,是否有其他人已成功使用第三方库来解决类似问题? 还是我注定要自己写?
澄清一下:我可以访问 JAWS 和 NVDA 并且已经在它们两个上验证了我的解决方案。
TL;DR:我正在寻找一种让 JavaScript 查询元素并检索将要讲述的内容的方法,不是为了我自己的启迪,而是为了我可以将正在讲述的信息传递给我自己创建的另一个工具.
我认为最好的方法是实际安装/启用屏幕阅读器(例如,macOS 内置了一个),然后闭上眼睛自己听。
基本上,您无法获得特定屏幕阅读器朗读的字符串,您也无法确定屏幕阅读器是否已启动。
更重要的是,不同的屏幕阅读器以不同的方式传达信息,甚至此外,用户可以调整他/她的屏幕阅读器,因此可以说,下面的例子中,下一个按钮,按钮旁边或旁边(或播放声音,而不是说“按钮”)。 因此,您似乎没有真正的机会获得所需的东西。
也许您可以使用Puppeteer 的可访问性 API来计算给定节点的可访问性树是什么样的。
Accessibility 类提供了检查 Chromium 的可访问性树的方法。 辅助技术(例如屏幕阅读器或开关)使用可访问性树。
我不确定您是否可以准确计算出每个屏幕阅读器的输出,但这可能值得一试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.