Live Preview
A simple term and description pair:
- HTML
- HyperText Markup Language for structuring web pages.

By the end of this tutorial, you’ll build semantic description lists with <dl>, <dt>, and <dd> in real projects.
Write valid <dl> lists with correct dt and dd pairing.
Understand how terms and descriptions work together inside a description list.
Know when to use description lists instead of bullet or numbered lists.
Build glossaries, FAQs, and name–value metadata with semantic markup.
Style terms and descriptions with CSS grid, spacing, and typography.
Apply accessibility best practices for term–description relationships.
<dl> Tag?The <dl> element represents a description list (HTML5 name; formerly called definition list). It groups dt terms with their matching dd descriptions—ideal for glossaries, FAQs, and name–value metadata.
HTML5 renamed this from “definition list” to “description list.” Use it whenever content has a clear term–description or name–value relationship—not only dictionary-style definitions.
Combined with <dt> and <dd>, the dl element gives assistive technologies and search engines a clear semantic structure for paired content.
Wrap dt and dd pairs inside a dl element:
<dl>
<dt>Term 1</dt>
<dd>Description 1</dd>
<dt>Term 2</dt>
<dd>Description 2</dd>
</dl><dl> is a block-level container for term–description groups.dt (term) should be followed by at least one dd (description).dd elements can follow a single dt when one term needs several details.dl inside another dl—keep lists flat and semantic.| Feature | Syntax / Rule | Notes |
|---|---|---|
| Tag-specific attrs | None | Global attributes apply |
| <dt> | Term / label | Name, keyword, or question |
| <dd> | Description / value | Explanation or answer |
| Multiple dd | Allowed | Several descriptions per dt |
| HTML5 name | Description list | Not only dictionary definitions |
| Use cases | Glossary, metadata, FAQ | Term–description pairs |
<dl>, <dt>, and <dd>These three elements work together to form a description list:
| Element | Role | Content |
|---|---|---|
<dl> | Container | Wraps the whole description list |
<dt> | Term | Label, name, keyword, or question |
<dd> | Description | Detail, value, or answer for the term |
| Order | dt then dd | Term always comes before its description(s) |
<dl> vs <ul> and <ol>Choose the right list type based on your content structure:
| Element | Structure | When to use |
|---|---|---|
<dl> | Term + description | Glossaries, metadata, FAQs with paired content |
<ul> | Bulleted items | Unordered list of equal items with li |
<ol> | Numbered items | Ordered sequence of steps or ranked items |
| Choose dl when | Each item has a matching detail | Name–value or term–description relationships |
The <dl> tag has no tag-specific attributes. Style with global attributes such as class and id:
class GlobalCSS hook for styling the whole list or individual terms and descriptions.
class="glossary"id GlobalUnique identifier for linking to a specific description list on the page.
id="tech-glossary"lang GlobalLanguage of the list content when it differs from the document.
lang="en-US"title GlobalAdvisory tooltip for the entire description list section.
title="Web technology glossary"Apply classes to dl, dt, and dd separately for fine-grained CSS control over terms and descriptions.
Basic description lists, glossaries, metadata pairs, and FAQ-style multiple dd elements with copy-ready code and live previews.
A simple term and description pair:
One dl with dt terms and dd descriptions.
<dl>
<dt>HTML</dt>
<dd>HyperText Markup Language</dd>
<dt>CSS</dt>
<dd>Cascading Style Sheets</dd>
</dl>Use <dl> for glossaries, FAQ-style Q&A, product specifications, author and publish metadata, API field documentation, and any content where a label needs a clear matching value.
Multiple term–description pairs in one list.
<dl>
<dt>JavaScript</dt>
<dd>A scripting language for interactive web pages.</dd>
<dt>CSS</dt>
<dd>Styles the look and layout of HTML documents.</dd>
<dt>API</dt>
<dd>Lets applications communicate and exchange data.</dd>
</dl>Present properties and values such as author and publish date.
<dl>
<dt>Author</dt>
<dd>Mari Selvan</dd>
<dt>Published</dt>
<dd>June 10, 2026</dd>
<dt>Category</dt>
<dd>HTML Tutorial</dd>
</dl>Add several dd elements after one dt when a term needs multiple details.
<dl>
<dt>What is HTML?</dt>
<dd>A markup language for structuring web content.</dd>
<dt>What do I need to learn first?</dt>
<dd>Start with HTML basics and page structure.</dd>
<dd>Then add CSS for styling and JavaScript for interactivity.</dd>
</dl>Browsers apply default spacing to description lists. Customize terms and descriptions with CSS grid, typography, and spacing:
font-weight Bold terms (dt)margin / padding Indent descriptions (dd)display: grid Metadata name–value layoutcolor Distinguish terms from values/* Description list styling */
dl {
margin: 0;
}
dt {
font-weight: 600;
color: #1e40af;
}
dd {
margin: 0.25rem 0 0.75rem;
padding-left: 1rem;
color: #475569;
}
/* Grid metadata layout */
dl.metadata {
display: grid;
grid-template-columns: max-content 1fr;
gap: 0.35rem 1rem;
}Live styled description list
Semantic description lists help assistive technologies understand term–description relationships:
Open a description list container with dl.
Add the keyword, label, or name with dt.
One or more dd elements explain the term.
Organized term–description content for users and assistive tech.
The <dl> element is fully supported in all browsers, including legacy Internet Explorer.
From legacy Internet Explorer to the latest mobile browsers — the dl element is fully supported for glossaries, metadata, and FAQs.
Bottom line: Ship semantic description lists with confidence. The <dl> element is safe to use in every production environment today.
The <dl> tag is the container for HTML description lists. Combined with <dt> and <dd>, it creates clear glossaries, FAQs, and metadata—use it for meaning, not layout.
dt with at least one dddd when neededdl for bullet lists (use ul)dd before its dtdl with ol or ul<dl>Bookmark these before you ship — they’ll keep your list markup semantic and accessible.
<dl> groups term–description pairs semantically.
Terms in dt, descriptions in dd.
Description list—not only dictionary definitions.
SemanticsSeveral dd elements can follow one dt.
Use ul for bullets, dl for pairs.
Works in every browser, including legacy IE.
Compatibilitydt terms and dd descriptions for glossaries, FAQs, and metadata.ul is a bulleted list. dl pairs terms with descriptions using dt and dd.dd elements can follow a single dt.dl only for semantic term–description content. Use CSS for layout.Practice dl, dt, and dd in the interactive HTML editor.
6 people found this page helpful