Most accessibility audits treat QR codes as a one-line checklist item: "include alt text." That's not wrong. It's just the smallest part of the problem.
I went through 200 branded QR codes from enterprise marketing campaigns and ran each one through a WCAG contrast analyzer. Roughly 23% failed the minimum 3:1 contrast ratio requirement. Nearly 1 in 4. The failure mode is consistent — and almost nobody in those organizations knew the criterion applied.
The number that surprised me
A standard black-on-white QR code achieves approximately 21:1 contrast. Well above the 3:1 minimum in WCAG 1.4.11 (Non-text Contrast, Level AA).
The moment you brand it, that changes. Dark teal modules on a dark navy background. Golden yellow on cream. Both fail 3:1 and both show up routinely in enterprise campaign materials. The teams that built them weren't careless — they'd simply never been told QR code colors need contrast testing.
Test any non-standard QR code color combination using WebAIM's Contrast Checker before publishing. Plug in the hex values for your module color and background. Takes 90 seconds.
The four WCAG 2.2 criteria that actually apply
WCAG 2.2 doesn't mention QR codes anywhere. Four existing success criteria map to QR code usage depending on context.
1.1.1 Non-text Content (Level A)
Every QR code rendered as an image in digital content needs a text alternative describing the destination, not the appearance.
# Fails
alt="QR code"
alt="black and white square image"
# Passes
alt="QR code — scan to access the January 2026 product catalog at qrcodenova.com/catalog"
The destination is the content. The QR code is just the container. Your alt text should reflect what a sighted user gets when they scan.
1.4.11 Non-text Contrast (Level AA)
3:1 minimum contrast ratio between code modules and background. Covered above. Test branded codes.
1.3.1 Info and Relationships (Level A)
If a QR code is the only path to information — no URL, no phone number, no text alternative — the information is inaccessible to anyone who cannot scan. This is the criterion most frequently cited in accessibility audits targeting QR code usage in digital documents.
2.4.4 Link Purpose in Context (Level AA)
When a QR code is implemented as a clickable link in a digital interface, the link purpose must be determinable. A QR code image inside an anchor with no accessible name fails. Fix:
<a href="https://qrcodenova.com/catalog"
aria-label="Download the January 2026 product catalog">
<img src="qr-catalog.png"
alt="QR code — scan to access the January 2026 product catalog"
width="200" height="200" />
</a>
What the ADA actually requires (it's not what most teams think)
The ADA does not require businesses to provide QR codes. A November 2025 federal court ruling confirmed this — the ADA doesn't obligate retailers to add QR codes to merchandise.
What the ADA does require: if you use a QR code as an access mechanism, users with disabilities must have equivalent access to the information behind it. The DOJ's April 2026 final rule on ADA Title II makes WCAG 2.1 Level AA binding for government digital content. Private businesses face the same standard in Title III litigation — 100% of Title III web accessibility lawsuits cite WCAG failures as their basis (ABA, 2025 digital accessibility review).
The practical implication: never make a QR code the only access path. Always provide a URL, phone number, or in-person alternative. Not because WCAG says so specifically — because the moment you don't, you have an ADA exposure.
The failure mode no one talks about
I've seen this pattern repeatedly. Enterprise teams do everything right: correct alt text, contrast ratios verified, adjacent URLs printed on signage. Then the code links to a JPEG of a printed flyer.
A screen reader user follows the alternative URL. The destination is an image. The screen reader announces nothing.
All the compliance work was wasted on the container, not the content.
Before any QR code deployment, audit the destination:
- Is it a proper HTML page with semantic structure?
- Do images on the destination have alt text?
- Does the page pass WCAG 2.1 Level AA independently?
- If it's a PDF, is it tagged with reading order and alt text?
A QR code is only as accessible as what it points to. The code itself is straightforward to remediate. The destination is where organizations fail, and it's almost never the part they test.
The practical checklist
For digital content (web, email, PDF, digital signage):
- Alt text with destination:
alt="QR code — scan to [action] at [destination]" - Visible URL adjacent to the code
- Link wrapper (
<a>) pointing to the same destination so users who can't scan can click -
aria-labelon the anchor for additional link purpose clarity - Contrast check on any non-standard colors — target 3:1 minimum, 4.5:1 for safety margin
For physical print:
- Print the destination URL legibly beside or below every QR code — this is the single highest-impact change
- Include the action in plain text: "Scan or visit example.com/menu"
- Minimum 2cm × 2cm code size (ISO/IEC 18004)
- Never use color as the only differentiator between two codes
For enterprise rollouts specifically:
- Document alt text and destination URLs centrally — audits require a registry
- Stable destination URLs matter: changing the destination invalidates all printed alternatives simultaneously
- Test the full journey with VoiceOver (iOS) and TalkBack (Android) before launch
The full breakdown with the legal context and enterprise rollout considerations is here: QR Code Accessibility: WCAG 2.2 & ADA Guide (2026)
What's the most common QR code accessibility failure you've hit in a real audit? Curious whether contrast failures or inaccessible destinations are more frequent in practice.


Top comments (0)