如何使用开放源码工具Pa11y向CI管道添加可访问性测试

如果您不熟悉持续集成(CI),那么这是一种实践每个开发人员的代码被频繁地合并(至少每天一次)。通过这种方式,可以维护一个稳定的代码存储库,任何人都可以从它开始进行更改。通过各种自动检查,如代码质量审查、单元测试的执行等,构建是自动化的。

在可在持续集成环境中运行的测试中,我们将关注可访问性测试。可访问性测试,根据Guru99,是可用性测试的一个子集,它的执行是为了确保被测试的应用程序对聋人、盲人、色盲等残疾人以及其他弱势群体是可用的。

要执行可访问性测试,您可以使用开放源码工具,Pa11y它让您知道应用程序是否满足某些可访问性标准。同时,Pa11y允许与Circle-CI、Jenkins或Travis-CI等CI引擎进行简单集成,这就是为什么它是一个自然的选择。

pa11y

这个工具有不同的版本可以使用:通过命令行,通过web服务,以及其他方式。对于这个特定的示例,我们将使用控制台版本。

值得一提的是,为了让Pa11y正常运行,你必须安装Node.js 4+和PhantomJS。然后通过命令行非常简单地安装它,使用以下命令:

NPM安装-g pa11y

要使用pa11y,请使用以下命令:

pa11y[选项]< url >

options字段允许您自定义将以多种方式执行的测试类型。在可以指定的参数中,主要有:

  • - s,标准<名称>:选择可及性标准,以进行测试。默认情况下,它使用WCAG2AA。其他选项包括:Section508, WCAG2A, WCAG2AAA。
  • 记者- r,记者< >:表示如何返回获取的结果。如果不包含此选项,则控制台将显示结果。可选择的格式包括:cli、csv、tsv、html和json。
  • -l, -level :失败的消息级别(error, warning, notice)。
  • 我,忽略<忽略>:允许您指定您想要忽略的某些内容。例如,警告消息可能会被忽略,或者标准的某个原则可能因为某些原因而被忽略。
  • - t) <数字>:在不导致测试失败的情况下允许的错误、警告或通知的数目。

您还可以拥有更多的配置,可以在工具中找到它们网站.要做一些基本的测试(没有任何特定的配置,采用默认的),你可以使用这个命令:

pa11yhttp://myexamplepage.com

如果您希望您的测试更加严格,遵循WCAG2AAA标准,请使用以下命令:

pa11y标准WCAG2AAAhttp: // myexamplepage.com

如果你还想把结果保存在一个文件(csv),以供以后查阅:

Pa11y -reporter CSV http://myexamplepage.com > myresults.tsv

如果你想允许10个错误而不让测试失败:

Pa11y -threshold 10 -reporter CSVhttp://myexamplepage.com> misresultados.tsv

关于退出代码,pa11y有三个:

  • 0: Pa11y was executed successfully, and there are no errors.输出说明
  • 1:技术故障导致Pa11y失败。
  • 2: Pa11y run successfully,但页面出现错误。

例如,我以这种方式从Travis-CI运行命令(在.travis中配置命令。yml文件):

pa11y) 30open-cart.azurewebsites.net- s WCAG2AA

在本例中,我将阈值设置为30个错误。因此,只有当测试的页面有超过30个错误时,测试才会失败。尽管在错误较少的情况下测试不会失败,但您可以在构建的输出中查看Travis-CI的执行细节。采用了WCGAA标准。

下面是获得的错误细节的一个例子:

pa11y错误

此错误表明页面上的颜色对比度不充分。然而,根据我设置的门槛,测试并没有失败。

pa11y结果

测试以退出代码0结束,这表明它已成功执行,没有错误(高于我设置的阈值)。

欲了解更多选项,请参考以下指南:https://github.com/pa11y/pa11y-ci

这就是如何轻松地将易访问性测试添加到CI管道中的方法,考虑到用户可能需要使您的产品可访问到更广泛、更多样化的用户群的特殊需求!

你试过这个或者更高级的吗?告诉我进展如何!


推荐的文章

[信息图表]什么是移动可及性及其重要性?
如何使用Monkop进行持续移动测试