问题标签 [nvda]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - NVDA 屏幕阅读器读取文本上的可点击单词
知道为什么 NVDA 在浏览 html 示例中的文本时会读取可点击的单词:
NVDA 将读取可点击测试
html - 如何让 NVDA 屏幕阅读器阅读 aria-label?
屏幕阅读器未阅读此 div:
它应该是“这里是多余或无关的内容”
任何帮助如何用 HTML 解决这个问题?
firefox - NVDA 屏幕阅读器在 Firefox 中单击锚标记后从 href 读取 url
我在页面上有这个项目<a role="option" href="[looong url]">My Item</a>
在 Firefox 中以常规模式单击此项目后, NVDA 显示:
文件忙
[浏览器地址栏中的 looong url]
应用
我的项目
当我再次单击该项目时,它不会读取网址(所需的行为):
文件忙
空白的
应用
我的项目
与此同时,当我在 Firefox 中以私有模式执行相同操作时,它每次都会按预期读取:
文件忙
空白的
应用
我的项目
这是常规模式和私有模式的 FF 行为的预期差异吗?
javascript - NVDA 屏幕阅读器无法按预期切换到对焦模式
我有一段简单的代码,我试图在使用 NVDA 屏幕阅读器时使键盘可以访问。
具体来说,我有一个具有“按钮”角色的 div,其中嵌套了另一个具有“按钮”角色的 div。每个 div 都有一个不同的 onkeydown 事件,当用户切换到该 div 并按下“回车”时会触发该事件。
当我没有打开 NVDA 屏幕阅读器时,这个键盘功能都可以正常工作。
但是,当我打开屏幕阅读器时,嵌套的 keydown 事件不再触发。相反,即使嵌套事件是具有焦点的事件,也只会触发父事件。
但是,如果我手动将 NVDA 从“浏览模式”更改为“焦点模式”(通过按 NVDA 键 + 空格键),则按键事件将再次按需要工作。
不幸的是,我不能期望使用 NVDA 的人知道手动切换到“对焦模式”。它要么需要自动更改为“聚焦模式”,要么需要在“浏览模式”下工作。
这是代码:
HTML:
JavaScript:
您还可以在此处查看 codepen:http: //codepen.io/jennEDVT/pen/Yprova
任何人都可以提供的任何帮助将不胜感激!
ps 我知道,如果我采用嵌套的 div 并将其移动,使其不再嵌套,而是第一个 div 的兄弟,那么一切都按预期工作。不幸的是,这不是一个选择。div 需要嵌套。
screen-readers - NVDA 未在跨度中读取 aria-label - 替代方案是什么?
我对可访问性问题相当陌生,我正在尝试在 NVDA 中读取 aria-label。
这是我的 HTML:
该标签无法在 Windows 上的 NVDA 上读取,我发现如果元素在 div 或 span 内,它不会始终成功:
https://www.w3.org/WAI/GL/wiki/Using_aria-label_to_provide_an_invisible_label
有哪些替代方案?你能帮我吗?
谢谢,
问候,
P。
编辑:
我做了一些返工,我设法让 aria 标签只部分工作,因为它现在显示为“tl;dr”。这已经在 Windows 7 上使用 Chrome 54、IE 11 和 Firefox 49 进行了测试,都出现了相同的问题。这里是修改后的代码:
你能帮我吗?
javascript - 如何禁用 NVDA 的箭头键导航
我在一个 div 中有一组按钮,并带有一些 javascript 在它们之间移动焦点以响应箭头键事件。
当我使用 NVDA/Firefox/Windows 进行测试时,似乎 NVDA 会覆盖我的箭头键处理程序并根据自己的规则移动焦点。这是一个问题,因为我的小部件是高度可定制的、动态的和响应式的——所以移动焦点的规则非常复杂。
Voiceover 和 ChromeVox 都没有这种行为。
我注意到向每个按钮添加 role="gridcell" 似乎可以解决此问题,但我不想这样做,因为这意味着屏幕阅读器不会将我的按钮视为按钮。我也真的不想更改 html 结构(例如,将每个按钮包装在另一个元素中),除非它是绝对必要的。
有没有办法(例如 aria 或专有属性)告诉 NVDA 不要将自己的箭头键行为应用于按钮?
wai-aria - 屏幕阅读器不读取特殊字符
屏幕阅读器不会读取 HTML 文件的以下内容。NVDA 读取文本直到“被屏幕阅读器读取”,然后它只读取 & (and) = (equal) < (less) > (greater) 而不是任何其他特殊字符。
html - NVDA 的行为
我正在尝试在网页中添加实时区域支持,以使 NVDA 可用于该页面。但是,我已经看到与aria-live
预期完全不同的属性行为。
我尝试添加一个隐藏的活动区域,并将所有消息(每条消息包含在
<p>
标签中)转储到该区域以供屏幕阅读器阅读。它工作正常,但唯一的问题是插入到活动区域 div 的第一条消息永远不会被 NVDA 屏幕阅读器读取。随后的消息被完美地阅读。当要宣布第一条消息时,动态创建此活动区域 div。aria-live="assertive"
并不会真正中断当前流程来宣布消息。我在网页中使用淘汰赛。当标记为 live-region 的 HTML div 基于敲除条件显示时,屏幕阅读器不会检测到它。例如:
最初加载页面时,$data 为空。所以 live-region div 不存在。但是当获取数据时,div 会被插入。但是,NVDA 不会读取添加的 div 中的内容。这是预期的行为吗?是否有任何解决方法来解决此行为?
accessibility - 每个屏幕阅读器都有首选浏览器吗?(即 JAWS、画外音、NVDA 等)
我正在研究如何使我的代码更易于访问,但最近偶然发现了 Chase 的可访问性声明,其中评论说 JAWS 屏幕阅读器倾向于更喜欢 Internet Explorer,而 NVDA 与 FireFox 配合得更好。
资料来源:(https://www.chase.com/digital/resources/accessibility)
由于我的计算机上没有安装任何这些,我首先很好奇每个程序是否确实对使用哪个浏览器有偏好?其次,如果他们确实有偏好 - 每个程序的某些功能在其他浏览器上是否无法正常工作?
问题:在为这些程序进行开发时,我应该注意哪些事项?
编辑: 如果您碰巧正在寻找同一问题的答案,steveax 分享了有关此主题的大量信息来源。
http://www.webaim.org/projects/screenreadersurvey6/#browsercombos