问题标签 [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 投票
1 回答
5158 浏览

javascript - 当角度改变状态时,如何让屏幕阅读器阅读整个页面?

要求:在每一页更改时,屏幕阅读器必须阅读整个页面内容。

我们使用 firefox+NVDA 进行测试,由于 Angular 不会“更改页面”,我们尝试了以下方法以使其在更改状态时读取整个页面:

这在很大程度上读取了我们网站中文本的更改,但它只读取了它正在添加的内容,在我们的例子中,我们有一个正在填充的表格ng-repeat,它读取正在添加的信息但没有任何上下文(它没有说明哪一行或正在读取列)

另一个问题是表单,当被角度填充时,屏幕阅读器会在它们被角度填充之前读取它,这已经解决了$timeout但是当aria-live读取更改时它仍然会跳过一些部分,如果我们添加aria-atomic强制读取,我们有一些带有多个选项的选择,并且已阅读(所有这些,我们有一百多个选项)。这不是屏幕阅读器的阅读方式,它们仅阅读前十个选项或单击它们时可见的选项。

请记住,如果没有任何 aria-live 或 aria-atomic,当您更改 Angular 状态时,不会通知用户任何更改。

在几乎放弃之后,我们决定也许我们的焦点是错误的,我们需要让每个州都有自己的页面,所以我们使用了以下内容:

这对于 URL 中的每次更改都会强制重新加载。这很好用,一切都被正确读取,我们几乎认为这解决了一切。除非这会导致客户端向我们的服务器发出双重请求。

有什么方法可以让 NVDA 像常规页面加载一样读取角度状态的内容,而不必强制重新加载页面?

请不要说仅使用 aria-roles 或类似的东西对此不起作用,我们已经拥有它们,我们需要应用程序在更改状态时读取所有内容。

感谢任何帮助,我们即将放弃,并在没有角度的情况下重新启动项目,因为我们无法实现我们的可访问性要求。

0 投票
1 回答
3806 浏览

html - 如何让 NVDA 分别读取同一行上的元素?

我在使用 NVDA 屏幕阅读器时遇到问题,因为它会在一个块中读取同一行中的所有元素。

例如,使用以下代码:

这将在一行中显示所有导航链接,这在视觉上是正确的,但 NVDA 在浏览模式下,当使用箭头键滚动时,会一起读取所有链接。用户不能在每个单独的链接之间移动,这意味着不可能停留在一个链接上并选择它。

段落中间的链接也会发生同样的情况:

在我的导航示例中,更改样式以使每个链接位于单独的行上:

修复了 NVDA 的问题 - 用户可以在链接之间移动 - 但在视觉上是错误的。

我发现使它在视觉上正确并强制 NVDA 单独读取它的唯一方法是将每个锚点显示为列表项中的一个块:

但这感觉很老套,并不是在所有情况下都可以解决(例如,这在段落中不起作用)。

有没有我可以添加的属性,或者任何其他更好的方法让 NVDA 分别读取每个元素?

此问题适用于所有浏览器。

0 投票
1 回答
130 浏览

java - NVDA + JAB + Swing 对摆动组件上的悬停事件没有响应

我在使用 NVDA 开发 Swing 应用程序时遇到了问题,当我点击该组件时,NVDA 仅读取我分配给该组件的可访问内容(在我的情况下为切换按钮),但我正在寻找的是 NVDA 开始当我将鼠标悬停在上面时阅读。

我实际上已经看到它在其他人的笔记本电脑上工作(NVDA 在鼠标悬停组件上读取),所以它让我确信我一定有一些错误配置,但是两台笔记本电脑(我的和工作的)都使用默认选项安装了 NVDA 并遵循相同将 jaccess 安装到 jre 的过程。

我已经在这个问题上苦苦挣扎了好几天,在尝试解决这个问题时感到很痛苦,如果有人能提供帮助,我将不胜感激

我使用openJdk7

0 投票
1 回答
452 浏览

google-chrome - 如何让 NVDA 和 JAWS 在 Chrome 中以表单模式正确读出 Hans Hillen 日期选择器?

不久前,一个名叫 Hans Hillen 的人创建了一些可访问的 jQuery UI 控件版本。他的可访问 jQuery UI 日期选择器的弹出版本已在我正在审查的 WCAG 2.0 合规性的原型中实现,并且日期选择器的弹出版本在 Chrome 中表现不佳。

日期选择器弹出版本的基本原理是:专注于输入,然后按下以专注于日期选择器本身。然后,您可以使用箭头键从那里浏览它,或向上/向下翻页以跳过几个月等。

在 Firefox 和 IE 中,当您浏览日期单元格时,NVDA 和 JAWS 会愉快地读出日期编号和行/列位置。

在 Chrome 中,对于每个单元格,NVDA 读出“单元格”,而 JAWS 读出“包含控件”,仅此而已——没有数字或任何内容,也没有实际读出单元格的内容。我已经在具有 NVDA 和 JAWS 的 Windows Server 2008 机器以及具有 NVDA 的 Windows 8.1 机器上可靠地重现了这一点(没有可用于测试的 JAWS)。

当我将 NVDA 退出表单模式并进入虚拟光标模式(即NVDA+ Space)时,它会再次读出单元格内容,但随后键盘控件不起作用。将 JAWS 退出表单模式 ( numpad +) 会使日期选择器变得难以理解。

在表单模式下,如何让 NVDA 和 JAWS 在 Chrome 中正确读出日期?我正在寻找那些处理过这个问题的人的解决方案。如果可以更改日期选择器代码的最小部分,它们是什么?

0 投票
0 回答
163 浏览

java - JAWS 无法读出 SWT 可访问性代码段上的“活动区域”。如何强制 JAWS 读取该区域?

我尝试了名为Here is a link的 SWT Accessibility Snippetdeclare a message area to be a "live region"

但 JAWS 不会读出“实时区域”文本,并且可刷新的盲文显示器不会显示任何内容。NVDA 读出文本,但盲文显示器不显示任何内容。

如何强制 JAWS 读出文本?(我不能让文本有焦点,因为它是一个标签。)

提前致谢!

0 投票
2 回答
1222 浏览

html - 如何指示屏幕阅读器将“DoIT”发音为“do it”?

我正在开发一个使用首字母缩写词的网站(“DoIT”,发音为“do it”)。不幸的是,视障人士的屏幕阅读器读错了首字母缩写词(“duh-IT”)。

我在想有两种解决方案之一:

  1. 找到整个网站(HTML5)中使用“DoIT”的每个元素,并以某种方式添加一些内容,告诉屏幕阅读器不要阅读显示的文本,而是用“do it”替换“DoIT”的替代文本......我没有想想如何做到这一点……</p>

  2. 添加某种类型的脚本,当使用屏幕阅读器时,将单词“DoIT”替换为“do it”→我不知道该怎么做。

整个网站有很多文本、段落、标题、图片等。我知道我可以alt在某些地方使用属性,但不是全部,例如:

我应该使用一些标签组合(span, label, alt),还是已经存在我无法立即找到的更好的东西?

0 投票
0 回答
300 浏览

html - NVDA 阅读器读取 img 标签中的图像源 - 仅在 IE 浏览器中

在 IE 浏览器中将鼠标悬停在图像上时,NVDA 屏幕阅读器会读取图像文件的整个源以及 alt 文本和标题,例如:

笑脸http://blog.smiley.com/wp-content/uploads/2015/05/High-Res-image.jpg

我该如何避免这种情况发生?我希望屏幕阅读器只读取替代文本和标题。

0 投票
1 回答
607 浏览

javascript - How do I make a screenreader automatically read cell contents?

I'm trying to use a CSS table to represent a grid of items. My screenreader (NVDA) will automatically read the contents of a focusable div, but not if the div is display: table-cell. Is there a way to make the contents be automatically be read upon tabbing?

0 投票
1 回答
790 浏览

firefox - 下拉列表和咏叹调直播?

NVDA 是否可以在加载 aria live 时仅读取下拉选择值?

现在在 Firefox 上,它会读取 A、B、C,而不知道选择了哪个。当有很多选项时,这会成为一个问题,因为正在读取所有选项。有没有办法将选择标记为只读取选定的值?“乙”

没有 aria live 下拉选择被正确读取,只是读取“B”。有没有办法在 aria live 中实现这一点?

0 投票
1 回答
1060 浏览

html - NVDA + Firefox 无法正确读取内容

所以我有这个代码:

我想要它,这样当我专注于#sitetour-header 时,屏幕阅读器会相应地阅读文本的内容......但是在使用 NVDA + Firefox 时这段代码无法正确阅读......我做了什么错误的?