Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve accessibility using automation #817

Open
lukebrody opened this issue Dec 27, 2024 · 1 comment
Open

Improve accessibility using automation #817

lukebrody opened this issue Dec 27, 2024 · 1 comment
Assignees
Labels

Comments

@lukebrody
Copy link
Collaborator

lukebrody commented Dec 27, 2024

e.g. it should be relatively easy to have some sort of automation to ensure alt tags, etc

Research what's important for accessibility, maybe get feedback from users

@lukebrody
Copy link
Collaborator Author

lukebrody commented Dec 29, 2024

Design:

  • Use https://github.com/dequelabs/axe-core
    • Include the axe.min.js when in dev or CI mode, conditionally in build.py
    • Serve axe.min.js directly from cdnjs (using hash to verify integrity)
      • Downside: a11y testing doesn't work offline
      • Upside: Reduces complexity around bundling/serving the axe.min.js
  • When running e2e tests, when a screenshot is taken, use axe to analyze using ClientFunction and return a report.
    • Output the report to a text file artifact named similarly to screenshots, formatted using code similar to this
      • Similar functionality as screenshots for artifact handling in CI (merging) and local (clearing on test run)
    • For now, show a warning when there are a11y problems. Slowly backfill fixes, and then turn on enforcement, failing the test. (Consider only failing at the end of the suite, so that tests can still run)

@lukebrody lukebrody assigned kavigupta and lukebrody and unassigned kavigupta Dec 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants