- Success Criterion 1.4.5
- Conformance level AA
Restaurant Menu or Price List Uploaded as a Photo
1.4.5 — Images of Text
Scenario
Setting
A podcast app's episode list
What’s wrong
Menus, price lists, schedules uploaded as photos (restaurant PDFs/JPGs).
Example
<img src="premium-plans.jpg" alt="Premium plans">
<!-- the photo is a screenshot of a pricing table: Free, Plus $4.99, Pro $9.99 --> Why it matters
A listener comparing plans can't search the page for '$4.99' or have a screen reader announce individual prices, since it's one flat photograph.
How to test
Try to select menu, price list, or schedule text: if it's a photographed or scanned image (e.g., a restaurant PDF/JPG) rather than real text, it fails.
How to fix
Rebuild tabular pricing as an actual HTML table instead of a photographed screenshot.
<table>
<tr><th>Plan</th><th>Price</th></tr>
<tr><td>Free</td><td>$0</td></tr>
<tr><td>Plus</td><td>$4.99/mo</td></tr>
<tr><td>Pro</td><td>$9.99/mo</td></tr>
</table> Outcome
A listener uses find-in-page to jump straight to the Plus plan's price instead of scanning a flat photo.
Who is affected
Screen reader users and anyone using find-in-page can't locate or hear individual plan prices inside a photographed table.
Learn more
- Understanding Understanding document (opens in a new tab)
Related scenarios
- Text-Heavy Content Rendered as an Image Instead of Real Text
- Page Heading or Banner Exported as an Image File
- Button or Navigation Label Rendered as an Image
- Marketing Text Baked Directly Into a Composite Image
- Screenshot of Text Used as the Page’s Primary Content
- Email-Style Hero Image With All Its Copy Baked In