• Success Criterion 1.3.1
  • Conformance level A

Data Grid Built From Divs Instead of Real Table Markup

1.3.1 — Info and Relationships

Scenario

Setting

A food delivery app's restaurant menu

What’s wrong

Data presented visually as a table (CSS grid / div rows and columns) with no table semantics — never announced as a table.

Example

Consider a food delivery app's restaurant menu: data presented visually as a table (CSS grid / div rows and columns) with no table semantics — never announced as a table.

Why it matters

Screen-reader, braille, and reading-tool users who depend on coded structure rather than visual layout. On a food delivery app's restaurant menu specifically, they can't navigate the content by its real structure.

How to test

Inspect a visual grid of cards/data in DevTools: if it's built from divs with no table/grid ARIA role, a screen reader announces it as plain unstructured text.

How to fix

Mark up data grids as real tables (table/th/td or ARIA table roles) so rows and columns are navigable.

Outcome

Fixed, a visitor to a food delivery app's restaurant menu can move through the content with confidence.

Who is affected

Screen-reader, braille, and reading-tool users who depend on coded structure rather than visual layout.

Learn more