Accessibility score
Cypress provides a top-line percentage score to give a general sense of accessibility for your project. This score, calculated for a run, reflects the average score of all application snapshots captured during the run. It is based on the ratio of passing versus failing accessibility checks for each snapshot, with results weighted by the severity of the issues.
Severity levels​
Severity levels in Cypress Accessibility align with the Axe Core® impact classification. Developed by Deque Systems, this classification helps prioritize accessibility issues by highlighting those likely to create the most substantial barriers for users (such as missing label text) so they can be addressed first. You can learn more about the Axe Core® impact classification in the Axe Core® documentation.
Note: WCAG standards do not categorize Success Criteria by severity; all failures require resolution for compliance. However, Axe Core® impact levels are helpful for prioritizing fixes to maximize usability improvements quickly.
Scoring algorithm​
The accessibility score calculation applies the following weights:
Severity of Issue | Weight |
---|---|
Critical | 10 |
Serious | 7 |
Moderate | 3 |
Minor | 1 |
Score Calculation Process​
- Snapshot Score:
- Calculate the total weight of passed checks.
- Calculate the total weight of failed checks.
- Compute the score as:
Score = (Passed Weights) / (Passed Weights + Failed Weights)
- View Score:
- Average the scores of all snapshots within the View.
- Run Score:
- Average the scores of all snapshots in the run.
Interpreting your scores​
Accessibility scores should be viewed in the context of your specific project and your goals. There is no single number that can tell you the accessibility of your application. For example:
- A score of 99% may indicate progress if the previous score was lower, but a single failure could represent a significant barrier (e.g., an inaccessible login page).
- Even a 100% score does not guarantee full compliance or user-friendliness but indicates that Axe Core® detected no violations in the tested scope.
The key value of the score is that the calculation is repeated consistently across runs - Cypress is not trying to catch anything "in the moment" during test execution. This means that changes in the score reliably reflect accessibility improvements or regressions.
In general, the ideal state is a clean 100% score in your Cypress Accessibility report, which you can achieve with a combination of fixing existing issues and ignoring things you know you won't fix.
What a 100% score means​
A 100% score with Cypress Accessibility means:
- No Axe Core® violations were detected in the tested scope.
- Up to 57% of issues typically identified in manual audits have been addressed (source).
- While not a guarantee of full compliance, it reflects that the team has actively considered accessibility and is well-positioned to address user-reported issues or findings from manual audits.
Reaching a 100% score, also known as "Axe-clean," signals that the application likely meets basic usability needs for disabled users, providing a foundation for further usability enhancements.
Improving Accessibility scores​
Address Violations​
Most accessibility violations can be resolved through HTML and CSS adjustments. Each violation in Cypress Accessibility includes a "Learn More" link to understand the impact of the issue on users and get step-by-step guidance to fix it.
Refer to the Inspecting Violation Details section for more information on understanding and addressing violations.
Ignore Non-relevant Issues​
For issues you decide not to fix, update your configuration to ignore them. This keeps the score focused on actionable issues while maintaining visibility into ignored elements for transparency.
By actively addressing violations and maintaining a clean score, your team can ensure consistent progress towards a more accessible application.