Skip to main content
Version: 2x

@qavajs/steps-accessibility-ea

qavajs steps to perform accessibility checks using the accessibility-checker (IBM Equal Access) library. Works on top of both Playwright and WebdriverIO drivers.

Installation

npm install @qavajs/steps-accessibility-ea

Configuration

Import the library after the corresponding driver library in your qavajs config:

export default {
require: [
'node_modules/@qavajs/steps-playwright/index.js', // or steps-wdio
'node_modules/@qavajs/steps-accessibility-ea/index.js'
],
format: [
['@qavajs/html-formatter', 'report.html']
],
}

Steps

Basic accessibility check

Runs an accessibility audit on the full page and fails if any issues at or above the configured failLevels are found. Attaches the report to the test output.

When I open 'https://example.com/' url
And I perform accessibility check

Configured accessibility check

Accepts a JSON options object to override accessibility-checker configuration for this step only.

PropertyTypeDescription
contextstringCSS selector to scope the audit to a specific element
outputFormatstring[]Report formats to generate (html, json, csv, xlsx, disable)
failLevelsstring[]Issue levels that cause the step to fail
reportLevelsstring[]Issue levels included in the report
When I open 'https://example.com/' url
And I perform accessibility check:
"""
{
"context": "[aria-label='main navigation']",
"outputFormat": ["html", "json"],
"failLevels": ["violation"],
"reportLevels": ["violation", "potentialviolation", "recommendation"]
}
"""

Save results to memory

Stores the full report object in a memory variable for custom assertions. Does not throw on failures.

When I open 'https://example.com/' url
And I perform accessibility check and save results as 'report'
Then I expect '$report.summary.counts.violation' to equal '0'

With options:

When I open 'https://example.com/' url
And I perform accessibility check and save results as 'report':
"""
{
"outputFormat": ["html", "json"],
"failLevels": []
}
"""
Then I expect '$report.summary.counts.violation' to equal '0'

Step reference

StepDescription
I perform accessibility checkRun audit on the full page; throw if fail levels exceeded
I perform accessibility check: + docstringRun audit with options; throw if fail levels exceeded
I perform accessibility check and save results as {value}Run audit; store results in memory variable
I perform accessibility check and save results as {value}: + docstringRun audit with options; store results in memory variable