Back to All Rules
Serious1.3.1 Info and Relationships (Level A)Rule ID: definition-list

Definition lists must only contain dt and dd elements

A `<dl>` contains invalid direct children that are not `<dt>`, `<dd>`, `<script>`, or `<template>`.

Rule Description

Checks direct children of <dl> to ensure valid definition-list semantics.

Why It Matters

  • Assistive technologies rely on correct term/definition structure
  • Invalid children break semantic relationships
  • Users may hear confusing or incomplete content associations

How to Fix

Use only valid child elements and wrap extra layout containers inside a <dd> when needed.

Bad Example:

<dl> <div>Term</div> <p>Definition</p> </dl>

Good Example:

<dl> <dt>API</dt> <dd>Application Programming Interface</dd> </dl>

Common Mistakes

  • Using <div> wrappers directly under <dl>
  • Styling lists as definition lists without semantics
  • Missing <dd> for a provided <dt>

Testing

  • Validate HTML structure for <dl> children
  • Use screen reader list navigation and verify term/definition reading
  • Run automated semantic checks

External Resources

Automate Your Accessibility Testing

Our tool automatically checks for this rule and hundreds of other accessibility issues.

Start Your Free Trial