salesforce / sa11y

Salesforce Automated Accessibility Testing Libraries
https://www.npmjs.com/org/sa11y
BSD 3-Clause "New" or "Revised" License
91 stars 22 forks source link
accessibility accessibility-automation accessibility-testing automation axe javascript salesforce test

Salesforce Accessibility Automation Libraries

Automated Accessibility Testing Libraries and Tools (@sa11y packages) based on axe-core providing support for Jest unit tests, WebdriverIO component/integration tests used by teams in Salesforce. However, they are not specific to Salesforce and can be used to test any UI supported by axe-core for accessibility. These libraries are designed to be flexible, customizable and reusable to support automated accessibility testing in different testing workflows from unit to integration tests.

Sa11y Code Coverage semantic-release License NPM downloads per month of @sa11y/common package Known Vulnerabilities OpenSSF Scorecard

Docs

References

Packages

This repo contains the following packages for automated accessibility testing:

Jest integration

published npm version of @sa11y/jest node-current (scoped)

Screenshot showing Sa11y Jest API usage and a11y errors showing up in VSCode

WDIO integration

published npm version of @sa11y/wdio node-current (scoped)

Screenshot showing a11y errors from a test using Sa11y WDIO in a terminal

assertAccessible API

published npm version of @sa11y/assert node-current (scoped)

a11y results formatter

published npm version of @sa11y/format node-current (scoped)

Preset accessibility rules

published npm version of @sa11y/preset-rules node-current (scoped)

Minified bundle for testing in browser

published npm version of @sa11y/browser-lib node-current (scoped)

Internal packages

Test utilities

Integration Tests

Common

Dependency graph

Dependency graph of sa11y packages


Epilogue

A wise person once said…

"Don't talk to me until I've had coffee and you've run axe"

Embroidery that says "Don't talk to me until I've had coffee and you've run axe" in a hoop

(Image courtesy: @shleewhite, @jorycunningham)