Skip to content

A11Y Cheat Sheet

Powered byA11y University

Structure & headings

A Definition List Contains the Wrong Elements

When a `<dl>` holds stray elements or terms in the wrong order, screen readers may miss which description belongs to which term.

definition-listWCAG 2.0Introduced in WCAG 2.0.Level AA — the minimum. Missing it blocks people outright.

Status
SeriousSerious — Significant friction, or information that is lost.CurrentScanners run this rule today.
Owner
DevTest
Audit
AutomatedA scanner finds it, and a clean scan means it's fixed.

Why it matters

A definition list (<dl>) pairs a term (<dt>) with its description (<dd>). Screen readers use this to say "list, 4 items" and link each term to its description.

If other elements sit directly inside, or the order is wrong, that pairing can break. People may hear a broken list, the wrong count, or descriptions with no term.

Who it affects

Who it affects, and how much
WhoWhat they experienceImpact
Screen reader usersThey may hear a wrong item count, or a description with no clear term.High impact
Low-vision users (magnification)Affected only if they also use a screen reader. The page often looks fine.Partial impact

Business & product impact

Business & product impact, with how much each claim weighs
AreaWhyImpact
LegalIt's a Level A issue under 1.3.1 Info and Relationships. Australia's Disability Discrimination Act complaints point to WCAG 2.2 AA, as does EN 301 549.Moderate impact
ConversionIt matters where lists carry key facts, like prices, specs or order details.Low impact
SEOSearch engines barely notice. Don't sell it as an SEO win.Low impact
Cost to fixUsually a quick markup fix. Fix it once in the shared template or component.High impact

Fixing it in code

Stray element inside the list

Don't

<dl>
  <p>Shipping</p>
  <dd>3 to 5 days</dd>
</dl>

A screen reader says: “List, 1 item. 3 to 5 days”

Do

<dl>
  <dt>Shipping</dt>
  <dd>3 to 5 days</dd>
</dl>

A screen reader says: “List, 1 item. Shipping, 3 to 5 days”

Only <dt>, <dd> or a wrapping <div> may sit directly in a <dl>.

Wrapping a pair for styling

Don't

<dl>
  <span><dt>Colour</dt><dd>Blue</dd></span>
</dl>

A screen reader says: “List, 0 items. Colour Blue”

Do

<dl>
  <div><dt>Colour</dt><dd>Blue</dd></div>
</dl>

A screen reader says: “List, 1 item. Colour, Blue”

A <div> is the only allowed wrapper for a term and its description.

Designer's handoff note

When you design label and value pairs, mark them as a term and description list in your handover notes.

Quick test

Tool

NVDA (opens in a new tab) (free on Windows)

Checklist

Pass
You hear each term followed by its description, with the right count.
Fail
You hear a wrong count, or a description without its term.

What a green scan still misses

A scanner checks what sits inside the <dl>. It can't judge whether a definition list was the right choice, or whether terms and descriptions are matched correctly.

Reference

Rule ID
definition-list
Raised by
  • axe-core: “<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements”
WCAG
Other standards
EN 301 549 9.1.3.1 · RGAA 9.3.3
Last reviewed
14 October 2026