---
title: "List contains invalid children (a11y/list)"
description: "a11y/list: A <ul>/<ol> may contain only <li> (plus script/template). Wrap every direct child of the list in <li>, and move wrappers such as divs inside the…"
canonical: https://void-design.vercel.app/rules/a11y/list
lastModified: 2026-09-16
---

# List contains invalid children

`a11y/list` · severity **warn** · category Accessibility · detected by `void a11y` and `void audit`

## Why it matters

A <ul>/<ol> may contain only <li> (plus script/template). Other children break list semantics, so screen readers announce the wrong item count.

## How to fix it

Wrap every direct child of the list in <li>, and move wrappers such as divs inside the <li>.

## Example

```
<ul>
  <li><a href="/docs">Docs</a></li>
</ul>
```

## References

- https://dequeuniversity.com/rules/axe/4.13/list

## More accessibility rules

`void a11y` reports 48 rules in this category. WCAG 2.2 AA through axe-core, plus checks axe can't do alone: visible keyboard focus, 24/44px target size on mobile, 320px reflow and disabled zoom.

- `landmark-unique` Landmarks are not uniquely identifiable — [a11y/landmark-unique](https://void-design.vercel.app/rules/a11y/landmark-unique)
- `page-has-heading-one` Page has no level-one heading — [a11y/page-has-heading-one](https://void-design.vercel.app/rules/a11y/page-has-heading-one)
- `heading-order` Heading levels skip — [a11y/heading-order](https://void-design.vercel.app/rules/a11y/heading-order)
- `empty-heading` Heading is empty — [a11y/empty-heading](https://void-design.vercel.app/rules/a11y/empty-heading)
- `listitem` <li> is not inside a list — [a11y/listitem](https://void-design.vercel.app/rules/a11y/listitem)
- `aria-allowed-attr` ARIA attribute is not allowed on this role — [a11y/aria-allowed-attr](https://void-design.vercel.app/rules/a11y/aria-allowed-attr)
- `aria-required-attr` Required ARIA attribute is missing — [a11y/aria-required-attr](https://void-design.vercel.app/rules/a11y/aria-required-attr)
- `aria-required-children` ARIA role is missing required children — [a11y/aria-required-children](https://void-design.vercel.app/rules/a11y/aria-required-children)

Detected by `void a11y` and `void audit`. Explain it in a terminal: `void rules a11y/list`
