Skip to main content
All guides
Serious 1.3.1 Info and Relationships · Level A

Structure lists correctly (WCAG 1.3.1)

<ul> and <ol> may only contain <li> (plus script/template) as direct children.

Why it matters

Assistive tech announces "list, 5 items" and lets users jump item to item. Wrapping list items in stray <div>s breaks that semantics so the list isn't announced as one.

How to fix it

Put content in <li> elements and keep non-list markup out of the direct children of the list.

<!-- Passes -->
<ul>
  <li>First</li>
  <li>Second</li>
</ul>

Does your site have this issue?

Run a free scan to find out in seconds.

Related guides

These guides cover automated checks (~30–40% of WCAG criteria). A full audit also needs manual review.