dl

The description list element represents a collection of term-description pairs, such as glossaries, metadata, or key-value data.

Description

The <dl> element (description list, formerly "definition list") contains groups of terms (<dt>) and their descriptions (<dd>). It represents an association list of name-value pairs.

Unlike <ul> and <ol>, which use <li> elements, definition lists use the <dt> and <dd> pair structure.

When to Use

  • Glossaries — Terms and definitions
  • Metadata — Author, date, category displays
  • FAQ sections — Question-answer pairs
  • Product specifications — Specs and details
  • Contact information — Label-value pairs

When Not to Use

  • For simple sequential items — use <ol>
  • For unordered collections — use <ul>
  • For tabular data with multiple columns — use <table>

Basic Usage

A basic definition list with single term-description pairs.

Multiple Descriptions

A single term can have multiple descriptions. Useful for words with multiple meanings or items with several explanations.

Multiple Terms

Multiple terms can share a single description. Useful for synonyms, abbreviations, or alternate names.

Metadata Display

Definition lists are excellent for displaying metadata or properties in a structured way.

Product Specifications

Definition lists work well for product specs and technical details.

Striped Variant

Add the data-striped attribute for alternating row backgrounds, making it easier to scan long definition lists. This mirrors the table.striped pattern.

Comparison: dl vs ul/ol

Feature <dl> <ul>/<ol>
Structure Term-description pairs Single items
Child elements <dt>, <dd> <li>
Best for Key-value data, glossaries Lists of items
Markers None (styled with indentation) Bullets or numbers
Order significance No <ol>: yes, <ul>: no

CSS Properties

Accessibility

Screen Reader Behavior

  • Announced as "description list" with item count
  • Terms (<dt>) announced as labels or keys
  • Descriptions (<dd>) announced as associated values
  • Users can navigate between term-description groups

Grouping with div

HTML5 allows wrapping <dt>/<dd> pairs in <div> for styling purposes. This is especially useful with the striped variant when terms have multiple descriptions.

  • <dt> — Definition term (the key/name)
  • <dd> — Definition description (the value)
  • <ul> — Unordered list (for simple item collections)
  • <ol> — Ordered list (for sequential items)