UIEH-940 - Proof of Concept: Automated Accessibility Compliance Testing Tool with CI : Deque aXe

Goals:

  • evaluate existing accessibility compliance testing tools
  • create a POC by integrating this tool into testing process

Reviewed tools:

  • Deque aXe (axe-core)
  • Deque aXe (axe-cli)
  • Pa11y
  • Google Lighthouse

Findings:

RequirementDeque aXe (axe-core)Deque aXe (axe-cli)Pa11yGoogle Lighthouse

Does the tool check against current WCAG 2.1 A and AA standards?

(tick)(tick)(tick)

Does not check against all WCAG 2.1A and AA standards

How will the tool run?

Additional test cases will be written in BigTest tests

Run in CLI, a url of a page under test has to be specifiedRun in CLI, a url of a page under test has to be specifiedRun in CLI, a url of a page under test has to be specified

How manual is it to set up and manage?

Add the "axe-core" npm package and write additional cases to existing tests to check that there are no violations

Need to start the app during Jenkins build to have a url + additional tool or tests to visit different pages and collect resultsNeed to start the app during Jenkins build to have a url + additional tool or tests to visit different pages and collect resultsNeed to start the app during Jenkins build to have a url + additional tool or tests to visit different pages and collect results

Does the tool support testing color contrast with rgb(a)?

(tick)(tick)(tick)(tick)

Is the tool flexible enough to modify rules and/or bypass some violations that we do not consider an accessibility violation?

(tick)(tick)(tick)

Does the tool consider screen resolutions?

Other things to considerCan be integrated with Jest testing framework


Results: 

Deque Axe (axe-core npm library) is the most preferable way to introduce automated accessibility testing in FOLIO, since it requires least effort to integrate with existing infrastructure and can be configured according to FOLIO needs.