Skip to content

Conversation

@lkacenja
Copy link
Contributor

@lkacenja lkacenja commented Jun 25, 2025

We'd like to be able to use an accessibility checker on the ASAP app. It seems like directly using the Axe tools is more popular than PA11y these days. We should implement this and get a baseline status of the app.

This PR implements a scanner that must be run locally for now. I also added a rake task to help with creating document inference fixture data.

It felt increasingly weird to have the CI tools hanging out on the surface of the python_components directory, so I moved them into a "CI" folder.

Baseline Accessibility Results

Axe currently reports 22 violations. And 3 incomplete items. The incomplete items indicate places where the scanner could not determine results. For example the scanner cannot determine contrast ratio over a gradient background. These are worth considering because they may mask severe problems. I made a really simple hex to make the results more transparent.

Here is the raw JSON.
baseline_accessibility_scan.json

I will fix as many of these as I can in a follow up ticket. This dataset will give us something to compare against.

  • What additional steps are required to test this branch locally?

Try running the scanner.

  1. Reset the database: rails db:drop ; rails db:migrate ; rails db:setup
  2. Make sure the app is running bin/dev
  3. Run the shell script: python_components/accessibility_scan/scripts/local_accessibility_scan.sh
  4. Enjoy the copious JSON.
  • Are there any areas you would like extra review?

Just running the script.

  • Are there any rake tasks to run on production?

No

@lkacenja lkacenja changed the base branch from main to dev June 25, 2025 22:21
@lkacenja lkacenja self-assigned this Jun 26, 2025
@lkacenja lkacenja requested a review from allisonmorgan June 26, 2025 13:45
@lkacenja lkacenja marked this pull request as ready for review June 26, 2025 13:45
Copy link
Contributor

@allisonmorgan allisonmorgan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great and runs well locally! Thank you for making this happen. Just wanted to flag that I think the Hex dashboard is showing 25 violations, but the PR mentions (and when I run this locally), I see only 22 violations. Not a blocker to merging!

An FYI: You can add a total to tables in Hex; click "Totals" and choose the aggregation function for a cell in the new bottom row.
image

@lkacenja
Copy link
Contributor Author

As usual, I should have been more clear on my wording. There are 22 violations and 3 incomplete items for a total of 25 items to investigate. The incomplete items are incidences where the scanner could not determine the status of one of its checks. Two of the three are color contrast ratio not being checked due to a gradient background. These still warrant exploration to me.

As far as the Hex goes, I mostly built it for myself to be able to track my progress. It's definitely not very fancy. I will keep working on it though. Thanks!

@lkacenja lkacenja merged commit 8aac561 into dev Jun 27, 2025
13 checks passed
@lkacenja lkacenja deleted the asap-178-accessibility-audit-local branch October 20, 2025 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants