Every accessibility audit turns up something unique to that site. But the vast majority of what we find is not unique at all. It's the same dozen mistakes, made by different teams, for the same reasons: nobody tested without a mouse, nobody tested with a screen reader, and a design system decision from three years ago never got revisited.
Here are the 12 failures we see most often, in roughly the order we find them, along with the fix for each. Most of these take five minutes once you know where to look.
1. Low-contrast text
What it is: Body text, placeholder text, or button labels that don't meet the 4.5:1 contrast ratio required by SC 1.4.3. Who it hurts: Anyone with low vision, color vision deficiency, or just a phone screen in direct sunlight. 5-minute fix: Run your text and background colors through a contrast checker and darken or lighten one value until it passes.
2. Missing or meaningless alt text
What it is: Images with no alt attribute, or one that says image.jpg, photo1, or is left blank on a non-decorative image.
Who it hurts: Screen reader users, who get either silence or noise where information should be.
5-minute fix: Write a short, specific description of what the image conveys. If it's purely decorative, use alt="" on purpose, not by accident.
3. Form fields with no programmatic label
What it is: An input that looks labeled because of a placeholder or nearby text, but has no <label for> or aria-label tied to it.
Who it hurts: Screen reader users, who hear "edit text, blank" instead of "email address."
5-minute fix: Wrap the field's visible text in a <label> element and connect it with a matching for/id pair.
4. No visible keyboard focus indicator
What it is: Interactive elements where outline: none was set in CSS and never replaced with an alternative focus style.
Who it hurts: Keyboard-only users and screen magnifier users, who lose track of where they are on the page.
5-minute fix: Remove the blanket outline: none rule, or add a clear :focus-visible style back in.
5. Keyboard traps
What it is: A modal, menu, or widget that a keyboard user can tab into but cannot tab or Escape out of.
Who it hurts: Keyboard-only users, who can get functionally stuck on the page.
5-minute fix: Add an Escape key handler and confirm Tab cycles within the dialog and back out cleanly on close. See SC 2.1.1, Keyboard.
6. Vague link text
What it is: Links that say "click here," "read more," or "learn more" with no context in the link text itself. Who it hurts: Screen reader users who navigate by pulling up a list of links out of context, per SC 2.4.4. 5-minute fix: Rewrite the link text to describe the destination: "Read our EAA compliance guide" instead of "Learn more."
7. No skip link
What it is: No way to jump past a repeated header and navigation menu straight to the main content. Who it hurts: Keyboard and screen reader users, who otherwise tab through the same 15+ links on every single page. 5-minute fix: Add a "Skip to main content" link as the first focusable element on the page, per SC 2.4.1.
8. Heading levels used for font size, not structure
What it is: <h3> used because it "looked right" visually, skipping <h1> and <h2>, or multiple <h1> tags on one page with no real hierarchy.
Who it hurts: Screen reader users, who navigate long pages by jumping between headings and rely on the outline making sense.
5-minute fix: Fix the heading order to reflect the actual document structure, then use CSS, not heading level, to control the font size.
9. Missing document language
What it is: No lang="en" (or the correct language code) on the <html> tag.
Who it hurts: Screen reader users, whose software mispronounces every word without a language declaration, per SC 3.1.1.
5-minute fix: Add the lang attribute to your root HTML tag. One line.
10. Auto-advancing carousels and content with no pause control
What it is: Hero carousels or auto-playing content that moves every few seconds with no way to stop it. Who it hurts: Users with cognitive or attention-related disabilities, and anyone trying to read before the slide changes, per SC 2.2.2. 5-minute fix: Add a visible pause/stop control, or simply stop auto-advancing by default.
11. Video with no captions
What it is: Product demos, testimonials, or marketing video with audio and no synchronized captions. Who it hurts: Deaf and hard-of-hearing users, and anyone watching muted, per SC 1.2.2. 5-minute fix (per video, ongoing for new ones): Auto-generate a caption file with your video host's built-in tool, then spend a few minutes correcting names and technical terms.
12. Custom widgets with no ARIA state
What it is: A custom-built dropdown, tab set, or accordion built from <div>s with click handlers but no role, aria-expanded, or keyboard support.
Who it hurts: Screen reader users, who have no way to know the control exists, what it does, or whether it's open, per SC 4.1.2.
5-minute fix for the interim: Add the correct ARIA role and state attributes now; plan a proper rebuild using a tested pattern from the ARIA Authoring Practices Guide.
The Stat: This list lines up with the WebAIM Million report's own findings across a million home pages: low contrast, missing alt text, and missing form labels are consistently the three most common detectable failures on the web.
Fixing the 12 doesn't mean you're done
These 12 will clear out the most common and most damaging issues fast, but they're not a full WCAG 2.2 AA conformance review. Some failures, like a confusing reading order or an inaccessible custom date picker, only surface under real manual and screen reader testing. If you want to check your progress today, start with our free accessibility tools, then follow our step-by-step WCAG audit checklist for the full process.
Ready to see your real number? Get a free accessibility audit and get a prioritized list of exactly what to fix next, in order of impact.
