Skip to content

Severity Prioritization

DodaTech 4 min read

title: "Severity and Prioritization" weight: 18 description: "Learn how to assign severity levels to accessibility audit findings and prioritize remediation using impact-effort matrices, WCAG criterion weight, user impact, and business risk factors." date: 2026-06-28 lastmod: 2026-06-28 tags: [accessibility, auditing]


Severity and prioritization in accessibility audits assigns each finding a severity level (critical, serious, moderate, minor) based on user impact, WCAG violation type, and frequency, then prioritizes fixes using an impact-effort matrix to maximize accessibility improvement per development hour.

## What You'll Learn

You will assign severity levels consistently, create prioritization matrices, balance user impact against development effort, and build remediation roadmaps.

## Why It Matters

Not all accessibility issues are equal. A missing alt text on a decorative image is minor. A keyboard trap in the checkout flow is critical. Prioritization ensures the most impactful issues are fixed first, especially when development resources are limited.

## Real-World Use

An audit finds 50 issues. Using a severity-impact matrix, the team identifies 8 critical issues (blocking user tasks), 12 serious (significant barriers), 18 moderate (annoying but workable), and 12 minor (technical non-compliance). They fix all critical and serious issues in the first sprint.

## Prioritization Matrix

```mermaid
flowchart TD
  A[Issue Found] --> B[Assess User Impact]
  A --> C[Assess Development Effort]
  B --> D{Impact Level}
  D -->|Blocks task| E[High Impact]
  D -->|Slows task| F[Medium Impact]
  D -->|Minor annoyance| G[Low Impact]
  C --> H{Effort Level}
  H -->|Hours| I[Low Effort]
  H -->|Days| J[Medium Effort]
  H -->|Weeks| K[High Effort]
  E --> L[Priority Matrix]
  F --> L
  G --> L
  I --> L
  J --> L
  K --> L

Assigning Severity

Define severity levels clearly so different auditors assign the same level consistently.

<!-- Critical: blocks core functionality -->
<!-- A keyboard trap in checkout -->
<div tabindex="0" class="datepicker" role="dialog">
  <!-- Focus cannot leave this element by keyboard -->
</div>

<!-- Serious: significant barrier -->
<!-- Missing form labels -->
<input type="email" placeholder="Email">
<!-- Screen reader users cannot identify this field -->

<!-- Moderate: impacts some users -->
<!-- Heading level skipped -->
<h2>Section</h2>
<h4>Subsection</h4>
<!-- Skips h3, minor structural issue -->

<!-- Minor: technical violation -->
<html>
<!-- Missing lang attribute -->
/* Severity levels as CSS classes for tracking */
.critical-barrier { background: #dc3545; }
.serious-barrier { background: #fd7e14; }
.moderate-issue { background: #ffc107; }
.minor-issue { background: #6c757d; }
// Prioritization calculation
function calculatePriority(issue) {
  const impactScore = { critical: 5, serious: 4, moderate: 2, minor: 1 };
  const frequencyScore = Math.min(issue.occurrences / 10, 5);
  const effortScore = { hours: 5, days: 3, weeks: 1 };

  const total = impactScore[issue.severity] +
                frequencyScore +
                effortScore[issue.effort];

  if (total >= 10) return 'P0 - Immediate';
  if (total >= 7) return 'P1 - This sprint';
  if (total >= 4) return 'P2 - Next sprint';
  return 'P3 - Backlog';
}

Common Mistakes

  • Assigning every issue the same severity
  • Not considering frequency across pages
  • Prioritizing by WCAG level instead of user impact
  • Forgetting to update priorities as context changes
  • Using severity levels inconsistently across auditors
  • Ignoring the compounding effect of multiple issues
  • Not factoring in business risk (lawsuit potential)

Practice and Challenge

Practice 1: Define severity levels for your organization. Practice 2: Create an impact-effort matrix template. Practice 3: Prioritize 10 sample issues using the matrix. Practice 4: Calculate priority scores for a set of findings. Practice 5: Build a remediation roadmap from prioritized issues.

Challenge: Given an audit with 30 issues across a banking application, create a prioritized remediation plan. Include a severity distribution chart, an impact-effort matrix showing each issue's position, a sprint-by-sprint roadmap for fixing all issues within 6 sprints, and a risk assessment for leaving P3 issues unfixed.

FAQ

What is the difference between severity and priority?

Severity measures the impact if unfixed. Priority combines severity with business factors like effort, frequency, and risk to determine fix order.

How many severity levels should I use?

4 levels is standard: critical, serious, moderate, minor. More levels cause confusion. Fewer levels lack granularity.

Should I prioritize by WCAG level?

No. WCAG A issues are not always more important than AA issues. Base priority on user impact.

How do I handle issues across many pages?

A single issue occurring on 50 pages should be prioritized higher than the same issue on 1 page.

What if a fix breaks other functionality?

Adjust priority down if the fix is risky. Document the risk in the issue entry.

How often should I re-prioritize?

Re-prioritize after each remediation sprint as context and risk factors change.

Mini Project

Build a prioritization calculator tool that takes issue severity, frequency, effort, and business risk as inputs and outputs a priority level and suggested sprint. Include a visual impact-effort matrix that plots each issue on a 2x2 grid.

What's Next

Audit Report Template covers creating structured audit report documents.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro