问题标签 [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.

0 投票
3 回答
4020 浏览

angularjs - NVDA 屏幕阅读器读取文本上的可点击单词

知道为什么 NVDA 在浏览 html 示例中的文本时会读取可点击的单词:

NVDA 将读取可点击测试

0 投票
1 回答
1823 浏览

html - 如何让 NVDA 屏幕阅读器阅读 aria-label?

屏幕阅读器未阅读此 div:

它应该是“这里是多余或无关的内容”

任何帮助如何用 HTML 解决这个问题?

0 投票
1 回答
969 浏览

firefox - NVDA 屏幕阅读器在 Firefox 中单击锚标记后从 href 读取 url

我在页面上有这个项目<a role="option" href="[looong url]">My Item</a>

在 Firefox 中以常规模式单击此项目后, NVDA 显示:

文件忙

[浏览器地址栏中的 looong url]

应用

我的项目

当我再次单击该项目时,它不会读取网址(所需的行为):

文件忙

空白的

应用

我的项目

与此同时,当我在 Firefox 中以私有模式执行相同操作时,它每次都会按预期读取:

文件忙

空白的

应用

我的项目

这是常规模式和私有模式的 FF 行为的预期差异吗?

0 投票
2 回答
4422 浏览

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 需要嵌套。

0 投票
2 回答
8676 浏览

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 进行了测试,都出现了相同的问题。这里是修改后的代码:

你能帮我吗?

0 投票
2 回答
3329 浏览

javascript - 如何禁用 NVDA 的箭头键导航

我在一个 div 中有一组按钮,并带有一些 javascript 在它们之间移动焦点以响应箭头键事件。

当我使用 NVDA/Firefox/Windows 进行测试时,似乎 NVDA 会覆盖我的箭头键处理程序并根据自己的规则移动焦点。这是一个问题,因为我的小部件是高度可定制的、动态的和响应式的——所以移动焦点的规则非常复杂。

Voiceover 和 ChromeVox 都没有这种行为。

我注意到向每个按钮添加 role="gridcell" 似乎可以解决此问题,但我不想这样做,因为这意味着屏幕阅读器不会将我的按钮视为按钮。我也真的不想更改 html 结构(例如,将每个按钮包装在另一个元素中),除非它是绝对必要的。

有没有办法(例如 aria 或专有属性)告诉 NVDA 不要将自己的箭头键行为应用于按钮?

0 投票
1 回答
2454 浏览

wai-aria - 屏幕阅读器不读取特殊字符

屏幕阅读器不会读取 HTML 文件的以下内容。NVDA 读取文本直到“被屏幕阅读器读取”,然后它只读取 & (and) = (equal) < (less) > (greater) 而不是任何其他特殊字符。

0 投票
1 回答
1415 浏览

angularjs - NVDA 忽略带有 role="alert" 的角度 *ngIf 块

我的目标是向用户提供有关输入错误的信息。通过这个例子,我可以做到这一点而没有角度。我还设法使用“innerHTML”属性重新创建了以下示例,但它也不适用于 NVDA,简而言之,它只是在发生错误时将一个节点附加到正文

带有工作示例的屏幕截图 (警告输入的名称无效!)

但 NVDA 会忽略此类警报消息

失败截图

我不知道为什么 NVDA 不注册该内容更改。

角2

我正在使用 Windows 10、Firefox 50.1.0 和 NVDA 2016.4。

0 投票
1 回答
388 浏览

html - NVDA 的行为

我正在尝试在网页中添加实时区域支持,以使 NVDA 可用于该页面。但是,我已经看到与aria-live预期完全不同的属性行为。

  1. 我尝试添加一个隐藏的活动区域,并将所有消息(每条消息包含在<p>标签中)转储到该区域以供屏幕阅读器阅读。它工作正常,但唯一的问题是插入到活动区域 div 的第一条消息永远不会被 NVDA 屏幕阅读器读取。随后的消息被完美地阅读。当要宣布第一条消息时,动态创建此活动区域 div。

  2. aria-live="assertive"并不会真正中断当前流程来宣布消息。

  3. 我在网页中使用淘汰赛。当标记为 live-region 的 HTML div 基于敲除条件显示时,屏幕阅读器不会检测到它。例如:

    最初加载页面时,$data 为空。所以 live-region div 不存在。但是当获取数据时,div 会被插入。但是,NVDA 不会读取添加的 div 中的内容。这是预期的行为吗?是否有任何解决方法来解决此行为?

0 投票
1 回答
275 浏览

accessibility - 每个屏幕阅读器都有首选浏览器吗?(即 JAWS、画外音、NVDA 等)

我正在研究如何使我的代码更易于访问,但最近偶然发现了 Chase 的可访问性声明,其中评论说 JAWS 屏幕阅读器倾向于更喜欢 Internet Explorer,而 NVDA 与 FireFox 配合得更好。

资料来源:https://www.chase.com/digital/resources/accessibility

由于我的计算机上没有安装任何这些,我首先很好奇每个程序是否确实对使用哪个浏览器有偏好?其次,如果他们确实有偏好 - 每个程序的某些功能在其他浏览器上是否无法正常工作?

问题:在为这些程序进行开发时,我应该注意哪些事项?


编辑: 如果您碰巧正在寻找同一问题的答案,steveax 分享了有关此主题的大量信息来源。

http://www.webaim.org/projects/screenreadersurvey6/#browsercombos