Fix · Moderate · should fix soon
How to fix: lists not marked up as lists
Screen readers do not announce list count or position. Semantic lists provide programmatic structure.
- WCAG references
- 1.3.1
- Severity
- Moderate
What it looks like in the wild
Screen readers do not announce list count or position.
The screen-reader user, keyboard user, or low-vision user encountering this issue does not get an error message. The page just stops working for them. Which is why this kind of bug rarely shows up in your error tracker; it shows up in support tickets, lawsuits, and abandoned conversions.
Why it fails WCAG
Semantic lists provide programmatic structure.
Map this back to 1.3.1 when you log the bug. Auditors and procurement teams expect that mapping; "broken" is not enough context.
The wrong pattern (avoid)
<div class="bullet">• Item 1</div>
<div class="bullet">• Item 2</div>The right pattern (copy this)
<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>Notes from real audits
Screen readers announce the list count ("list, 5 items") and position ("item 2 of 5") — this context is lost with div-based lists.
Use <ol> for ordered sequences where the position matters (steps, rankings); use <ul> for unordered collections.
Navigation menus are typically lists: <nav><ul><li><a>...</a></li></ul></nav> is the correct pattern.
list-style: none in CSS does not affect semantic list behaviour, though Safari/VoiceOver may de-list it — add role="list" if needed for compatibility.
Related fixes
How to fix: missing alt text on images
1.1.1
How to fix: low color contrast
1.4.3, 1.4.11
How to fix: form fields without labels
3.3.2, 1.3.1, 4.1.2
How to fix: missing H1 / wrong heading order
2.4.6, 1.3.1
WCAG 1.3.1 — Info and Relationships
The visual structure of a page (headings, lists, tables, form labels) must also be availab
All fix recipes
Browse fixes by severity
Find every accessibility issue on your site in 60 seconds.
Free public scan. No card. AI-generated fixes for every issue we find.