概述

为了标准化无障碍测试,W3C 发布了 Web 内容无障碍指南 (WCAG) 来标准化使网站对所有人包容的做法。从 v2.3 开始,无障碍测试支持现在已内置到 Nightwatch 中,使用由 Deque Systems 开发的 aXe-core 包。

无障碍测试根据 WCAG 规则和其他行业公认的最佳实践,针对一组启发式方法来审核呈现的 DOM。aXe 库拥有超过 90 个关于无障碍测试的不同方法,并且会自动发现高达 57% 的 WCAG 问题

运行所有规则

使用命令 .axeInject() 首先注入 aXe 库,然后简单地使用 axeRun() 命令运行所有无障碍测试,如下所示

describe('accessibility testing', function() {
  
it('run all accessibility rules', function(browser) { browser .navigateTo('https://www.w3.org/WAI/demos/bad/after/home.html') .axeInject() .axeRun('body'); }); });

运行选定规则

或者,您可以选择仅运行选定的测试,方法是在数组中传递 规则 ID,如下所示

describe('accessibility testing', function() {
  
it('accessibility rule subset', function(browser) { browser .navigateTo('https://www.w3.org/WAI/demos/bad/after/home.html') .axeInject() .axeRun('body', { runOnly: ['color-contrast', 'image-alt'], }); }); });

禁用选定规则

您还可以选择运行所有测试并排除一些测试。

describe('accessibility testing', function() {
  
it('accessibility rule subset', function(browser) { browser .navigateTo('https://www.w3.org/WAI/demos/bad/after/home.html') .axeInject() .axeRun('body', { rules: { 'color-contrast': { enabled: false }, 'region': { enabled: false } } }); }); });

您可以在 Axe Github 页面 上找到规则 ID 的完整列表