概觀

為了將無障礙測試標準化,W3C 發布了網頁內容無障礙指南 (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 的完整清單