- Success Criterion 1.3.1
- Conformance level A
Bulleted List Built From Divs Instead of Real List Markup
1.3.1 — Info and Relationships
Scenario
Setting
A fitness app's workout tracker
What’s wrong
Visual lists marked up as <div>/<br> sequences instead of list code (list code (ul/ol)/dl).
Example
<div class="heading">Shipping Address</div> Why it matters
Screen-reader, braille, and reading-tool users who depend on coded structure rather than visual layout.
How to test
Select a visual bulleted/numbered list and inspect DevTools: it must use ul/ol/li — if built from div/br instead, a screen reader announces plain paragraphs with no item count.
How to fix
Mark up visual lists with list code (list code (ul/ol)/dl) and list items (li) so item count and position are announced.
<h2>Shipping Address</h2>A real heading element exposes the section structure to assistive tech; a styled div doesn't.
Outcome
On a fitness app's workout tracker, this barrier is gone for screen-reader, braille — they get the same result as anyone else here.
Who is affected
Screen-reader, braille, and reading-tool users who depend on coded structure rather than visual layout.
Learn more
- Understanding Understanding document (opens in a new tab)
Related scenarios
- Text Styled to Look Like a Heading Instead of Coded as One
- Text Columns Faked With Spaces Instead of Real Table Markup
- Table Layout Faked With Spaces Instead of Real Table Code
- Clickable Div Acting as a Link Button With No Real Role
- Structural HTML Tags Used Purely for Visual Styling
- Layout-Only Table Wrongly Coded With Real Header Cells