Automation 使用NVDA屏幕阅读器自动化可访问性测试

Automation 使用NVDA屏幕阅读器自动化可访问性测试,automation,ui-automation,wai-aria,screen-readers,nvda,Automation,Ui Automation,Wai Aria,Screen Readers,Nvda,我正在为我们的一个web应用程序实现可访问性(针对视障人士)。它需要符合ARIA。现在我们正在用screen reader手动测试我们的更改。 例如,我们的应用程序中有树控件。我打开NVDA屏幕阅读器,然后浏览我的树节点。NVDA屏幕阅读器直言不讳 节点XYZ已展开,(当我使用右箭头键展开XYZ节点时) 节点XYZ折叠,(使用左箭头键折叠XYZ节点时) 除了声音,它还写下这段文字 但所有这些都是手动的。现在,我们希望为相同的测试设置自动化测试用例,以便任何回归错误都可以被are测试用例捕获。

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

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

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

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

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


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

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

来自Deque的系统得到了广泛的应用和良好的支持

我写了一篇文章来运行使用AxeCore和selenium的自动化web可访问性测试

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

您可以将axe集成到C#,类似于我的python包和


我希望这有帮助

听起来您已经在对web应用程序执行一些非常好的手动可访问性测试,没有任何自动测试工具能够完全复制这些测试。也就是说,如果您希望像Kimberly建议的那样,通过自动化解决方案解决任何低效的问题,那么有几种自动化的可访问性测试工具,您可以相对轻松地集成到现有web应用程序的测试框架中,这可能会对您有所帮助

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


Continuum有一些示例项目可以帮助您开始,具体取决于您选择的技术。如果您感兴趣,可以在上获得免费版本。目前大多数都是基于Java或JavaScript的。

我不知道有任何自动/无头工具可以让您使用NVDA实现这一点。我不确定TPG的JAWS Inspect也能像那样运行。不过要是有就好了!