- Success Criterion 1.1.1
- Conformance level A
Chart Drawn in Canvas With No Fallback Description
1.1.1 — Non-text Content
Scenario
Setting
A hospital's patient portal appointment scheduler
What’s wrong
<canvas> charts/drawings with no fallback content or text alternative. Example
<canvas id="availability-chart" width="400" height="200"></canvas>
<!-- rendered by drawAvailabilityChart(), invisible to assistive tech --> Why it matters
A patient trying to book an appointment can't tell which days have openings, since the calendar exists only as pixels on a canvas with nothing announced.
How to test
Inspect the canvas element's children in DevTools: canvas has no built-in accessibility, so it needs fallback content or an adjacent accessible summary — if absent, it fails.
How to fix
Add a role, label, or real fallback content describing what the canvas draws. Canvas content is invisible to assistive tech by default.
<canvas id="availability-chart" width="400" height="200" role="img" aria-label="Doctor availability: Mon-Wed mornings only, Thu-Fri fully open">
<p>Doctor availability: Monday to Wednesday mornings only; Thursday and Friday fully open.</p>
</canvas> Outcome
A patient hears which days are open and books an appointment without calling the front desk to ask.
Who is affected
Blind and low-vision patients scheduling appointments independently get no information from a canvas with no fallback.
Learn more
- Understanding Understanding document (opens in a new tab)
Related scenarios
- Product Photo Added as a CSS Background With No Alt Text
- Chart Alt Text That Never Explains What Each Color Means
- Outdated Alt Text That No Longer Matches the Image
- Alt Text Left as a Filename Instead of a Real Description
- Decorative Image Not Hidden From Screen Reader Users
- Decorative Image Given Alt Text Instead of Being Marked Silent