• 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