node-nightwatch-accessibility

Nightwatch.js utility assertion for accessibility testing with aXe

MIT License

Downloads
2.6K
Stars
18
Committers
8

Nightwatch Accessibility

Nightwatch.js utility assertion for accessibility testing with aXe.

Install

npm install nightwatch-accessibility

Usage

Nightwatch >= 2.x

add nightwatch-accessibility to the plugins array

{
  plugins: ['nightwatch-accessibility']
}

Nightwatch <= 1.x

{
  custom_commands_path: ["./node_modules/nightwatch-accessibility/nightwatch/commands"],
  custom_assertions_path: ["./node_modules/nightwatch-accessibility/nightwatch/assertions"]
}

Use in your tests:

module.exports = {
  'Test': function (browser) {
    browser
      // initiate aXe
      .initAccessibility() 

      // execute accessibility check
      .assert.accessibility('#app', {
        verbose: true,
        rules: {
          'color-contrast': { enabled: false }
        }
      })
  }
}

API

browser.initAccessibility()

Injects the aXe library into the current test page.

browser.assert.accessibility(context, options)

Analyzes the defined context against applied aXe rules

Name Type Default Description
context String 'html' aXe Context Parameter
options Object null aXe Options Parameter

In addition to the standard options:

  • options.verbose set to true will log all successful aXe tests.
  • options.timeout configures the nightwatch timeout, default value is 500 milliseconds

Author: Ahmad Nassri • Twitter: @AhmadNassri