Skip to main content

Command Palette

Search for a command to run...

What WCAG actually catches when you scan a top-1000 site (Wikipedia case study)

Published
2 min read
A
Solo developer building 7 SaaS products. Founder of ToolKit Online (140+ free tools), CaptureAPI, CompliPilot, AccessiScan, ChurnGuard, and DocuMint. Open source enthusiast based in Spain.

I ran a fresh WCAG 2.1 scan on wikipedia.org this morning — a site that's arguably one of the most accessibility-conscious on the web.

Result: 90/100, with some genuinely instructive issues even on a site this mature.

The actual report (truncated)

{
  "url": "https://www.wikipedia.org",
  "score": 90,
  "scores": {
    "perceivable": 94,
    "operable": 86,
    "understandable": 84,
    "robust": 94
  },
  "issues": [
    {
      "wcagCriterion": "3.3.2",
      "severity": "serious",
      "title": "Form input missing label",
      "description": "The form element 'select#searchLanguage' has no associated label, aria-label, or aria-labelledby.",
      "fixSnippet": "<label for=\"inputId\">Field description</label>\n<input id=\"inputId\" type=\"text\">",
      "wcagLink": "https://www.w3.org/WAI/WCAG21/Understanding/labels-or-instructions.html"
    },
    ...
  ]
}

The lesson hidden in select#searchLanguage

The Wikipedia language picker — a <select> with no label — is a classic case. Visually it's surrounded by enough context that sighted users get it instantly. For a screen reader user, it's "combobox, English" with no idea what it controls.

This is WCAG 3.3.2 (Labels or Instructions) — Level A. Not even AA.

Fix:

<!-- Before -->
<select id="searchLanguage">...</select>

<!-- After -->
<label for="searchLanguage" class="sr-only">Search Wikipedia in language</label>
<select id="searchLanguage">...</select>

3 lines. Zero visual change. One screen-reader-friendly form.

What sites usually miss vs. what Wikipedia misses

In ~50 scans I've run this month:

Issue% of sitesWikipedia?
Image without alt78%✅ passes
Color contrast < 4.5:164%✅ passes
Form input without label41%🔴 catches
Heading order skipped33%🟡 1 instance
Missing main landmark28%✅ passes
Empty button/link19%✅ passes

Takeaway: even good sites still drop the form-label and heading-order checks. They're cheap to fix and they're Level A — meaning if you're trying to comply with the EU Accessibility Act (in force since June 2025), they're table stakes.

Try it on your own site

I built a free scanner that runs the full 201-check WCAG 2.1/2.2 audit in 60 seconds and gives you the JSON above plus copy-paste fix snippets for every issue.

→ https://fixmyweb.dev

No signup. Bring your URL.

More from this blog

D

DevToolsmith Blog

44 posts