automation - 使用 NVDA 屏幕阅读器自动进行辅助功能测试

标签 automation ui-automation wai-aria screen-readers nvda

我正在为我们的一个 Web 应用程序实现可访问性(针对视障人士)。它需要符合 ARIA 标准。现在我们正在使用屏幕阅读器手动测试我们的更改。 例如,我们的应用程序中有 Tree 控件。我打开 NVDA 屏幕阅读器,然后浏览我的树节点。 NVDA 屏幕阅读器说出来

  • 节点XYZ展开,(当我用右方向键展开XYZ节点时)

  • Node XYZ collapsed,(当我用左箭头键折叠 XYZ 节点时)

除了语音,它还写下了这段文字。

但这一切都是手动的。现在我们想要为相同的设置自动化测试用例,以便任何回归错误都可以被测试用例捕获。是否存在我们可以用来自动化测试用例的任何此类工具。任何方向都会有所帮助。

PS:只是为了比较。我们有 nunit 来为 c# 应用程序编写测试用例。编写测试用例后,我们将它们集成到我们的构建过程中。当我们运行构建时,任何重大更改都会被捕获。我正在寻找类似的东西来测试我们的网络应用程序的 aria 合规性和屏幕阅读器的行为。

最佳答案

我不知道有任何现有的屏幕阅读器测试工具,但是,有可访问性 API 可以测试网站和网络应用程序。

axe-core来自 Deque Systems 的应用被广泛使用并得到了很好的支持。

我写了一个python package运行使用 axe-core 和 selenium 的自动化 Web 可访问性测试。

虽然它不是您要找的东西,但它确实涵盖了大约 60% 的可访问性指南,包括 aria 角色和属性。它应该有助于确定屏幕阅读器的可用性。

您可以将 ax 集成到 C# 中,类似于我的 python 包和 Java package, also created by Deque .

希望对您有所帮助!

关于automation - 使用 NVDA 屏幕阅读器自动进行辅助功能测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49271002/

相关文章:

javascript - 我可以使用 JavaScript 增强复杂表格的可访问性吗?

objective-c - 在 UIAutomation 测试期间禁用 iPad 上的网络

wpf - 过时的 UI 自动化树

c++ - 从 MATLAB 调用 C++ 可执行文件时如何绕过错误对话框?

html - 如何格式化 HTML5 中的 <section> 元素以向辅助设备用户提供有意义的见解?

javascript - 哪一个是更好的可访问性解决方案? aria hidden,从 DOM 或其他东西中删除元素

testing - 如何在 Selenium 的帮助下捕获编辑器数据?

java - Selenium Java 对象动态更改位置

java - 无法启动 Appium session ,错误为 : Error: Bad app:

linux - 使用 chrome 驱动程序在 centos 6.5 上安装和运行 headless chrome 浏览器的步骤