[Outreachy Testing Task] Implemented Accessibility Testing with Pa11y CI #995
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
To improve the accessibility of the Ushahidi platform, a command line tool called pa11y-ci has been added to the codebase. This tool provides automated accessibility testing to help identify and fix potential issues. pa11y-ci is an accessibility test runner built using Pa11y and designed to run in Continuous Integration environments.
I selected pa11y-ci because it offers flexibility in configuration, allows the accessibility checks to be tailored to specific needs, and integrates well with continuous integration environments which can help to prevent accessibility issues from reaching production.
I found pa11y-ci to be a useful tool as it is relatively easy to set up (creating a .pa11yci file in the root directory of the project) and utilize, and provides clear and actionable feedback about potential accessibility issues. The flexibility to customize the configuration is particularly beneficial as it can be configured to run on axe.
Yes, the output from pa11y-ci is straightforward to understand. It identifies the type of issue, and the affected element, and provides a suggestion for fixing the issue.
The implementation was easy as the documentation for it is comprehensive, which made the setup process smooth. The most time-consuming part was understanding how to customize the configuration file to suit specific needs.
Well, while no tool can catch every accessibility issue, the output of pa11y-ci can be trusted as a valuable guide. It is also important to note that this tool is just one part of a wider accessibility strategy, and manual testing is also necessary.
Implementing pa11y-ci on the Ushahidi platform has been a learning experience as this is my first time reading about it and my first time using it. It will be interesting to see how pa11y-ci can help improve the platform's accessibility over time.