强制“旁白”在 Web 浏览器 (OS X) 中朗读文本
Force Voiceover to speak text in Web Browsers (OS X)
我正在尝试使复杂的Web应用程序可访问。 我现在正在处理的部分涉及获取带有验证的表单字段,以便与屏幕阅读器很好地配合使用。
整体结构是一个输入标签(#input-with-validation(,带有控制验证的javascript。 根据输入的验证状态显示或隐藏单独的div(#validation 错误(。
我让它在 Chrome、Firefox 和 Windows 上的 IE 中使用 JAWS 主要一致地使用 role="alert" 和 aria-live="assertive" 的组合。
我正在寻找正确的方法来使其与OS X上的Voiceover(Chrome/Firefox/Safari或它们的任意组合(一起使用。 行为应该是,当 #input-with-validation具有焦点时,在每次按键上,如果存在验证错误,它将从 #validation 错误中向用户读取完整的验证错误消息。
它不应将焦点从验证 #input 改变。 我们可以使用 wai-aria 属性的任意组合,或者以我们认为合适的任何方式更改结构。
或者,有没有办法让我进行 javascript 调用,告诉 Voiceover "立即阅读此文本"? 这将解决几乎所有问题。
我们希望让每个人都能更容易访问互联网,但他们肯定不会让互联网变得容易。 感谢您的帮助!
注意:我们的页面是一个主要用 React 编写的复杂 Web 应用程序。
在努力使页面可供所有用户组访问时,您必须记住的一件事是,对于您可能选择使用的每个控件来说,现在都处于早期阶段。这包括浏览器、小部件库、屏幕阅读器;真的是整个工具集。
如果您测试并发现给定的 ARIA 功能不起作用,您可能不得不放弃某个浏览器/AT 组合。确保检查其他人是否有类似的问题,以支持您对您为其编写代码的任何人的声明。
我认为您这里有正确的解决方案,我可能会做同样的事情 - 将验证消息放在一个自信的 aria-live 区域中,并在出现问题时向这些区域触发验证消息。
我发现了这点测试,但我不能说你的具体情况被记录在案。但是,我说相信你的测试。在这个领域有很多工作要做。
- 如何使用jquery在填充自动完成的值后使文本框只读
- 使用Clipboard.js复制span文本
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 用程序搜索JQuery数据表中的文本
- jQuery匹配JSON对象的部分文本
- onkeyup无法动态创建多个文本区域
- 如何在下面的ES6循环中获得前面的文本
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 借助asp.net验证或java脚本对多个文本进行验证
- 无法在ajaxStart中更改跨度文本
- 高亮显示时编辑文本大小和颜色
- jquery中的文本框验证
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- Sails.js:同时发布文本输入和一个文件
- 当鼠标悬停在文本中的单词上时显示警报
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 将纯文本URL转换为可单击链接
- 强制“旁白”在 Web 浏览器 (OS X) 中朗读文本
- 黑莓OS 7 sencha触摸点击文本框