- 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
The appointment scheduler draws doctor availability on a bare <canvas> with no accessible name and no fallback content. The chart exists only as pixels, so assistive technology gets nothing that says which days are open (1.1.1).
Example
<canvas id="availability-chart" width="400" height="200"></canvas>
<!-- drawn by drawAvailabilityChart(); pixels only, no text alternative --> Why it matters
A patient trying to book an appointment may not learn which days have openings, because the availability chart is never exposed as text. They may call the front desk, pick the wrong day, or give up.
How to test
Find charts or drawings rendered in <canvas>. In the browser's accessibility tree (DevTools), the canvas should have a non-empty name that describes what it shows (or a short name plus a nearby long description or data table). Check for role="img" (or another image-like role) with aria-label / aria-labelledby, and/or real fallback content inside the canvas for environments where canvas is not supported. An empty canvas with only an id and size, and nothing announced, fails. Then listen: you should hear the availability summary, not silence.
How to fix
Give the canvas a short text alternative that serves the same purpose as the chart (G94 / ARIA6): put role="img" and an aria-label that states the availability, and keep matching fallback content inside the <canvas> for when canvas is not available. Canvas bitmap content is not exposed to assistive technology by default. If the chart is complex and a short label cannot carry all the data, add a nearby data table or long description as well (G95 / G73 / G74) — do not rely on a vague label like "availability chart". Keep the label accurate as the chart updates.
<canvas id="availability-chart" width="400" height="200"
role="img"
aria-label="Doctor availability: Monday to Wednesday mornings only; Thursday and Friday fully open">
<p>Doctor availability: Monday to Wednesday mornings only; Thursday and Friday fully open.</p>
</canvas> Outcome
A patient hears something like "Doctor availability: Monday to Wednesday mornings only; Thursday and Friday fully open, image" and can book without calling the front desk. Sighted users still see the chart.
Who is affected
Screen reader users, and people using text-to-speech or braille, who get no information from a canvas chart that has no text alternative — including patients booking appointments on their own.
Learn more
- Understanding Understanding document (opens in a new tab)
- Technique Technique G94: Providing a short text alternative that serves the same purpose and presents the same information (opens in a new tab)
- Technique Technique ARIA6: Using aria-label to provide labels for objects (opens in a new tab)
- Technique ACT rule: Image accessible name is descriptive (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