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

c++ - 调试 sapi5 文本转语音引擎

我目前正在开发 TTS 引擎,我的工作是使其与 Microsoft SAPI5 兼容。我使用 SAPI 示例项目长期遵循这里的教程,并成功构建了引擎 dll。我用 regsvr32 注册了 dll 并将语音附加到注册表中。但是,当应用程序(在我的例子中是 NVDA 屏幕阅读器)调用我的引擎时,我收到了错误(来自 NVDA 日志)

我显然在引擎上做错了,但我不知道如何调试它。

0 投票
2 回答
364 浏览

html - NVDA - 自定义输入选定的焦点值

我的网站上有一个简单的输入,例如:

目前,焦点 NVDA 读取后:
“多少个月?
选择 50”
(50 是示例输入值)

NVDA 是否可以读取自定义选择值?喜欢:
“多少个月?
选择50个月”

对于像滑块这样的角色,有 aria-valuetext 但我没有看到任何其他有用的 aria 输入。

0 投票
0 回答
241 浏览

java - 如何以 Swing 形式编写 NVDA 读取文本字段和按钮文本

加号摇摆申请

大家好,
我正在努力让视障人士可以访问摇摆应用程序。我使用 Swing 组件设计了表单,但我无法让 NVDA 读取我的文本字段和按钮的文本。

我所做的事情是: 1. 配置 Java Access Bridge
2. 实现 Accessible 接口
在此处输入图像描述

我怎样才能使 NVDA 工作?提前致谢。

0 投票
0 回答
684 浏览

html - NVDA 屏幕阅读器忽略 Bootstrap `sr-only` 类

我们有一个 Web 应用程序,我们正在努力使其更易于访问,我们发现当使用NVDA 屏幕阅读器时,它会忽略我们用 Bootstrap 3 的sr-onlycss 类标记的所有文本。

根据WebAIM的说法,现代屏幕阅读器应该能够识别和阅读文本。但是,如果我能看到文本,我只能让 NVDA 识别文本。一旦我调整 CSS(剪辑、溢出等)并且它变得可见,NVDA 就会开始拾取它。

没有我用 显示文本left: -10000px,屏幕阅读器将无法识别它。在开始将所有文本移出屏幕之前,我想知道是否缺少某些东西。

提前致谢!

更新

我们正在使用 NVDA 2017.1 在 Chrome (v58.0.3029.110) 和 Firefox (v52.0.2) 上进行测试。您可以在我们的实时网站上亲自尝试。我们的主要重点是位于页面中间阅读部分顶部的下一个/上一个/主页/展开屏幕按钮。

我们试图使其易于访问的按钮

经过一些额外的测试后,我们注意到 NVDA 在 Chrome 和 Firefox 上按选项卡时会读取文本,但在鼠标与按钮交互时不会。我们也刚刚尝试过 Microsoft Edge,它似乎可以完美运行(去图)......

0 投票
1 回答
967 浏览

accessibility - 如何让 Android 语音助手将连字符读作“to”?

我有一项任务需要 Android 上的语音助手读取 HTML 页面上显示的文本“周一至周五”的“周一至周五”。

这是我的代码:

我试过<span aria-label="monday to friday">Monday - Friday</span>了,但这也不起作用。

非常感谢任何建议

0 投票
1 回答
1868 浏览

html - ARIA - 跳过阅读屏幕阅读器中的输入值 (NVDA/Windows)

我正在尝试找到一种方法,让屏幕阅读器(如 Windows Narrator 的 NVDA)停止读取输入值并改为读取aria-describedby唯一值。

在这种情况下,我有一个 Web 组件,它是一个掩码输入字段。假设它配置了一个电话掩码,设置为(___) ___-____下划线只能是数字。现在屏幕阅读器会读取left parens, 3 lines, right parens, space...等等,然后读取我设置的aria-describedby值,例如“电话号码,1231231234”,它使用我的组件的未屏蔽值。

我想要的是屏幕阅读器只说“电话号码,1231231234”,这是我的aria-describedby价值并跳过其余部分,因此它保持简短并避免说出可能会使受损用户感到困惑的事情。

一些背景知识,也许这可以改变一些响应,我的组件是用 Aurelia 构建的,我正在利用绑定系统来更新值。

这有可能吗?我有几个选择?我完全偏离了我想要实现的目标吗?

谢谢!

0 投票
0 回答
186 浏览

wai-aria - NVDA 何时宣布“警报不可用”?

我正在单击一个选择按钮。一个滑块打开,但 NVDA 宣布“警报不可用”。为什么它会宣布?

0 投票
1 回答
202 浏览

asp.net - 带有 NVDA 屏幕阅读器的向导控件的多步 asp.net 网络表单中的焦点问题

我正在使用 ASP.NET 向导控件来显示多步骤过程。我必须让 NVDA 屏幕阅读器和所有浏览器都可以访问该表单。由于 NVDA 从顶部读取屏幕,因此可以在 Chrome 中访问该表单

这是标题

按顺序到底部。但是在 Firefox + NVDA 中检查相同的表单时,焦点有时会移到中间,有时会移到页脚。我的要求是屏幕阅读器应始终从

这是标题

在所有向导步骤中。拜托,我需要你的帮助来解决这个问题。我的代码如下:

0 投票
1 回答
139 浏览

c++ - NVDA 屏幕阅读器请求错误的 QAccessible::InterfaceType

我在 Qt 5.9.1 上。

我正在尝试使应用程序可以通过屏幕阅读器访问。我有一个自定义小部件(我们称之为MyWidget),其中包含文本(很多)。文本是使用 绘制的QPainter,这就是为什么使用自定义小部件而不是类似QTextBrowser.

我在派生自和的类中QAccessibleTextInterface为小部件实现了。它适用于 Linux 下的 Orca,但在带有 NVDA 的 Windows 7 中使用时,请求错误的接口类型。使用 Orca,我收到了对. 在 NVDA 中,它始终是.AccessibleMyWidgetQAccessibleWidgetQAccessibleTextInterfaceQAccessibleInterface::interface_cast()QAccessible::TextInterfaceQAccessible::ValueInterface

AccessibleMyWidget定义为:

在 Linux 下使用 Orca,一切似乎都按预期工作。我接到了interface_cast()for a 的电话TextInterface,然后调用了 of 的各种功能QAccessibleTextInterface。使用 Linux 下的 NVDA,我只收到interface_cast()的调用ValueInterface,并且没有调用任何QAccessibleTextInterface函数。这意味着MyWidget完全无法访问,除非我覆盖QAccessibleWidget::text()并将所有文本作为单个字符串返回,这意味着没有光标导航,没有选择支持......QLabel在这一点上它基本上变成了一个,但是有大量的文本,因此很难使用。

我在这里想念什么?

0 投票
2 回答
5701 浏览

google-chrome - Content being read twice on focus of element + lots of "clickable"

The Problem

When the parent div gets focus, the entire contents of the div are read twice instead of once. In addition "clickable" gets read six times instead of one.

This problem occurs in Google Chrome only.

I'm pretty horrible at accessibility and trying to get better, so feel free to rip apart what I have here.

These ARE the Droids I'm Looking For

I'm looking for a way to have Chrome read these contents only once, and preferably only say "clickable" once instead of six times as I am sure this would be immensely annoying to any screen read user.

The Markup:

How this works:

So essentially anytime the parent div with the tabindex="0" attribute gets focus the tooltip is shown via CSS. It is also shown on hover of the parent div, and when the icon is clicked the open class is toggled which will keep it open regardless of the users mouse interactions.

So the vast majority of the functionality here falls on default browser behavior and CSS with very little JavaScript in the mix.

It might be helpful to note that I am using Angular 4 here, hence the seemingly strange markup that the average developer may not be familiar with.

Actual Tooltip Content:

What NVDA Outputs:

Any help would be greatly appreciated!