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

时间:2018-03-14 06:25:29

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

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

  • 节点XYZ展开,(当我用右箭头键展开XYZ节点时)

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

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

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

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

2 个答案:

答案 0 :(得分:4)

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

axe-core来自Deque Systems,得到了广泛的使用和良好的支持。

我写了python package来运行使用斧头核心和硒的自动化Web访问功能测试。

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

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

我希望这会有所帮助!

答案 1 :(得分:1)

听起来您已经在对Web应用程序执行了一些相当不错的手动可访问性测试,没有任何一种自动化测试工具能够完全复制该测试。就是说,如果您希望通过自动化解决方案来解决任何困难的事情(如Kimberly建议的那样),则可以使用几种自动化的可访问性测试工具,可以相对轻松地将其集成到现有Web应用程序的测试框架中,帮助您。

Continuum是此类工具之一,目前尚不提供基于C#的库,但可以在单独的测试框架中使用该工具,以在构建Web应用程序之后对其进行运行。根据您的用例,这可能是更可取的,因为可访问性的代码linter并不完美,并且高度依赖于语言,而测试Web应用程序的HTML与您说要测试的屏幕阅读器用例更加匹配对于。您甚至可以将Continuum集成到现有的CI / CD流程中,以确保在开发过程中(而不是在开发后)对您的应用程序进行测试,以减少手动可访问性测试的负担。

Continuum有一些示例项目可以帮助您入门,这取决于您选择的技术。如果您有兴趣,可以在webaccessibility.com上获得免费版本。目前大多数都基于Java或JavaScript。