Getting a WCAG 2.1 AA compliance report is the easy part. Knowing what to fix first, and how to fix it without a six-month remediation project, is where most teams get stuck. This guide shows you how to use AI-powered scanning to systematically work through violations from most critical to least โ with real code examples for the issues that appear most often.
1 Go to accessalyze.com
See how 321 websites scored →
View the 2026 ReportEnter your website URL in the scan field. No registration or installation required โ Accessalyze scans public URLs directly from the browser.
2 Review the violation summary
Your results are organized by WCAG principle: Perceivable, Operable, Understandable, Robust (POUR). Each violation includes the WCAG success criterion it violates, the severity level (critical / serious / moderate / minor), the specific DOM element that failed, and fix guidance.
3 Export or share your report
Share a public link to your scan results with your development team or use the report to build your corrective action plan.
Not all violations carry equal weight. The WCAG conformance model doesn't rank violations by severity, but from a practical remediation standpoint, prioritize in this order:
| Severity | What It Means | Examples | Fix Priority |
|---|---|---|---|
| Critical | Makes content completely inaccessible to a class of users | Form fields with no labels, images with no alt attribute | Fix immediately |
| Serious | Significant barrier; workaround possible but unreasonable | Low color contrast, keyboard trap, missing focus indicator | Fix within 2 weeks |
| Moderate | Creates difficulty but doesn't block task completion | Skip link missing, ambiguous link text | Fix within 1 month |
| Minor | Best-practice deviation; minimal user impact | Redundant title attributes, non-unique ARIA landmark labels | Fix in next sprint |
These issues appear on the majority of government and business websites. Fixing them often resolves 60โ70% of a site's total violation count.
Every <img> element must have an alt attribute. Screen readers read alt text aloud; without it, they announce the filename or nothing at all.
| โ Violation | <img src="city-hall.jpg"> |
| โ Fix | <img src="city-hall.jpg" alt="City Hall building, downtown Portland"> |
For decorative images that convey no information, use an empty alt attribute: alt="". This tells screen readers to skip the image entirely.
For more detail: How to Add Alt Text to Images โ
Normal text (under 18pt or 14pt bold) requires a contrast ratio of at least 4.5:1 against its background. Large text requires 3:1.
| โ Violation | color: #999; background: #fff; (ratio: 2.85:1) |
| โ Fix | color: #6b7280; background: #fff; (ratio: 4.6:1) |
Use Accessalyze's contrast checker or the WCAG color contrast guide to verify ratios before deploying.
Every form control โ text input, checkbox, radio button, select โ needs a programmatically associated label. Placeholder text doesn't count.
/* โ Violation */
<input type="text" placeholder="Enter your email">
/* โ
Fix โ explicit label */
<label for="email">Email address</label>
<input type="text" id="email" placeholder="name@agency.gov">
/* โ
Fix โ aria-label when visible label isn't possible */
<input type="search" aria-label="Search site content" placeholder="Search...">
For comprehensive guidance: How to Make Forms Accessible โ
All interactive functionality must be operable with a keyboard alone. Test by tabbing through your page โ every link, button, and form control should receive visible focus, and no keyboard traps should exist.
/* โ Violation โ click event only */
<div onclick="openMenu()">Menu</div>
/* โ
Fix โ semantic button with keyboard support */
<button type="button" onclick="openMenu()">Menu</button>
Custom interactive components (dropdowns, modals, date pickers) require ARIA roles and keyboard event handlers: full guide โ
Interactive elements must display a visible focus indicator when focused via keyboard. Many sites suppress the browser default with outline: none and don't provide a replacement.
/* โ Common mistake โ removes focus indicator entirely */
:focus { outline: none; }
/* โ
Fix โ custom focus indicator that meets contrast requirements */
:focus-visible {
outline: 3px solid #2563eb;
outline-offset: 2px;
border-radius: 2px;
}
Learn more: WCAG 2.4.7 Focus Visible Requirements โ
The HTML lang attribute tells screen readers which language to use for pronunciation. Missing or incorrect lang causes screen readers to mispronounce content.
/* โ Violation */
<html>
/* โ
Fix */
<html lang="en">
For multilingual pages, add lang attributes to individual sections with different language content.
Form error messages must be programmatically associated with the field they describe so screen readers can announce them when the field receives focus.
/* โ Violation โ error message not linked to input */
<input type="email" id="email">
<span class="error">Please enter a valid email address.</span>
/* โ
Fix โ error linked via aria-describedby */
<input type="email" id="email" aria-describedby="email-error" aria-invalid="true">
<span id="email-error" role="alert">Please enter a valid email address.</span>
Detailed guide: Accessible Error Messages for Forms โ
After addressing the issues above, manual testing is essential. These violation types require human judgment:
alt="image" passes the automated check but fails the intent. A person needs to verify alt text accurately describes the content.WCAG compliance isn't a one-time achievement โ it's an ongoing practice. Every new page, template change, or third-party widget integration is a potential new violation. Teams that treat accessibility as a project rather than a process typically find themselves out of compliance within 6โ12 months of their initial remediation.
Set up Accessalyze to scan your site on a recurring basis. When new violations appear, you catch them when they're easy to fix โ one page, one element โ rather than discovering them through a DOJ complaint or lawsuit.
Scan your website with Accessalyze and get a prioritized remediation report in under 60 seconds. Free, no registration, no browser extension required.
Start Free Scan โSee real website accessibility scores: Browse 244+ free accessibility audits โ
Try it yourself
Enter your website URL to get a free accessibility score.