Enhanced Accessibility Scoring Model
Most automated accessibility tools give you a single number without explaining what’s behind it. Seednd’s Enhanced Scoring Model is designed to be:
- Transparent – you can see exactly what contributes to the score.
- WCAG-aware – it knows the difference between A, AA and AAA requirements.
- Business-aware – critical templates (checkout, booking, login, etc.) are treated with higher weight.
- Normalised – scores are comparable across small and large pages.
The model produces two separate scores for each page:
- Raw Severity Score (0–100)
How “heavy” the automated accessibility problems are on this page. - Compliance Score (0–100)
How many of the auto-testable WCAG criteria for a given standard (e.g. WCAG 2.2 AA) are currently passing.
1. Inputs
For each scanned page we use:
- Violations – the full list of failing nodes from our axe-core based engine.
- Impact level (critical, serious, moderate, minor) – how severe each rule is.
- WCAG mapping – which WCAG criterion and level (A / AA / AAA) each rule relates to under WCAG 2.2.
- Page importance – an optional weight for business-critical templates.
- Page size – the approximate number of nodes scanned, so we can fairly compare small and large pages.
- Rule diversity – how many different accessibility rules are broken, not just how often one pattern repeats.
2. How we calculate raw severity
We calculate a penalty contribution for each rule and then convert the final penalty into a score.
2.1. Impact and WCAG level weights
Each rule is assigned two base weights:
- Impact weight – how severe the issue is:
- critical: 3.0
- serious: 2.0
- moderate: 1.0
- minor: 0.5
- WCAG level weight – how important the requirement is:
- Level A: 1.3
- Level AA: 1.0
- Level AAA: 0.3
We then combine these:
Rule base weight = impact weight × WCAG level weight
This ensures that, for example, a critical Level A failure has more influence than a minor AAA suggestion.
2.2. Pattern repetition (node density)
If the same issue repeats many times, it should hurt the score more—but not linearly without bound.
For each rule we count how many nodes are failing (Nᵣ) and apply a density multiplier that grows and then saturates:
- Up to a certain threshold (e.g. 20 nodes), each extra failure increases the multiplier.
- Beyond that, additional copies still matter but with diminishing returns.
This captures the idea that:
“One broken button label is bad; 30 identical broken buttons is worse—but not 30× worse.”
2.3. Diversity of problems (rule variety)
We also look at how many different rules are broken on a page.
- If a page only breaks one rule (e.g. color contrast), that’s different from breaking ten unrelated rules (forms, landmarks, keyboard access, etc.).
- We apply a rule diversity multiplier that grows as more distinct rules fail, then caps.
The result: a page with lots of different accessibility smells gets treated more harshly than one that simply repeats a single pattern.
2.4. Page importance
Not all pages are equal. A broken:
- checkout or booking flow can block revenue and legal compliance.
- blog post is still important, but not at the same level.
Seednd allows you to define a page importance weight per template or per URL:
- Critical flows (e.g. checkout): 1.5–2.0
- High-value marketing pages: ~1.2
- Normal/low-priority content: 1.0 (default)
This weight is applied to the total penalty, so the same technical issue on a checkout page hurts more than on a low-traffic article.
2.5. Normalising for page size
Very large pages naturally have more DOM nodes and more opportunities for failures. To keep scores comparable across pages, we divide the total penalty by a page size factor that grows slowly with page size.
This means:
- A huge, complex page doesn’t automatically look “worse” purely because of its size.
- But if a large page is both big and consistently inaccessible, it will still score poorly.
2.6. Soft caps and hard caps
To keep the scoring scale stable and readable over time:
- We apply a soft cap to the penalty: beyond a certain point, extra problems still lower the score, but with diminishing returns.
- We apply a hard cap so the penalty can’t grow without bound.
This prevents a single extremely bad page from skewing the system and keeps our scores in a predictable 0–100 range.
3. Converting penalty to a Raw Severity Score
Once we have the effective penalty for a page (after weighting, normalisation, and caps), we convert it into a score:
Raw Severity Score = 100 − (scaled penalty), with a minimum floor (e.g. 5–10).
Interpretation:
- 90–100 – Very strong automated baseline. Mostly small or rare issues.
- 70–89 – Moderate issues. Focus on the top critical/serious patterns.
- 40–69 – Significant accessibility debt. Users will feel this.
- 0–39 – Severe accessibility problems; expect strong impact on disabled users.
This is the number we use for the big donut in the UI.
4. Compliance Score: WCAG 2.2 AA
Separately, we calculate a Compliance Score for a given WCAG standard and level, such as WCAG 2.2 AA.
- For each WCAG version/level we maintain the set of criteria that Seednd can test automatically.
- For each criterion, if any related rule fails on this page, that criterion is considered failing.
- The Compliance Score is:
Compliance Score = 100 × (1 − failing criteria / auto-testable criteria)
If all auto-testable WCAG 2.2 AA criteria pass, you get a Compliance Score of 100 and we label the page:
“Meets WCAG 2.2 AA (automated checks).”
If some criteria fail, we show how many are impacted and list them in the issue detail panels.
We also always remind users:
“Automated checks can’t cover every WCAG requirement. Manual testing is still required for full conformance.”
5. Why we keep the scores separate
We deliberately keep:
- Raw Severity Score – “how bad is this page overall?”
- Compliance Score – “how aligned is this page with WCAG 2.2 AA (within what can be automated)?”
separate because they answer different questions:
- A page might have lots of minor issues (lower severity score) but still pass all the core WCAG 2.2 AA criteria we can test.
- Another page might have a few very serious failures on important criteria, leading to a relatively low Compliance Score.
This split makes it easier to explain the state of a website to stakeholders and legal teams.