【问题标题】:Automate accessibility testing with NVDA screen reader使用 NVDA 屏幕阅读器自动进行可访问性测试
【发布时间】:2018-03-14 06:25:29
【问题描述】:

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

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

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

它还会随着声音写下这段文字。

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

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

【问题讨论】:

  • 我不知道有任何自动化/无头工具可以让您为此使用 NVDA。我也不确定 TPG 的 JAWS Inspect 是否可以这样运行。要是有就好了!

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


【解决方案1】:

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

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

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

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

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

我希望这会有所帮助!

【讨论】:

    【解决方案2】:

    听起来您已经对您的 Web 应用程序执行了一些相当不错的手动可访问性测试,而任何自动化测试工具都无法完全复制这些测试。也就是说,如果您希望像 Kimberly 建议的那样使用自动化解决方案来处理任何容易实现的目标,那么有几种自动化的可访问性测试工具,您可以相对轻松地集成到现有 Web 应用程序的测试框架中,这可能帮助你。

    这样的工具之一是Continuum,它目前没有提供基于 C# 的库,但可以在一个单独的测试框架中使用,以便在您的 Web 应用程序已经构建后对其运行。根据您的用例,这可能更可取,因为可访问性的代码检查器并不完美并且高度依赖于语言,而测试 Web 应用程序的 HTML 更接近于您说要测试的屏幕阅读器用例为了。您甚至可以将 Continuum 集成到您现有的 CI/CD 流程中,以确保您的应用程序在开发期间而不是之后进行测试,从而减少您的手动可访问性测试负载。

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

    【讨论】:

      猜你喜欢
      • 2018-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多