Skip to main content
HTML Validation

Element “dl” is missing a required child element.

About This HTML Issue

According to the HTML specification, the <dl> element’s content model requires one or more groups, where each group consists of one or more <dt> elements followed by one or more <dd> elements. Alternatively, these groups can be wrapped in <div> elements for styling purposes. An empty <dl> or one missing either side of the pairing is invalid.

This matters for several reasons. Screen readers and other assistive technologies rely on the proper structure of description lists to convey the relationship between terms and their descriptions. When the structure is incomplete, these tools cannot communicate the intended meaning to users. Browsers may also render malformed description lists inconsistently, leading to unpredictable layouts.

To fix this issue, make sure every <dl> contains at least one <dt> element paired with at least one <dd> element. If you only have a <dd>, add the corresponding <dt>. If you only have a <dt>, add the corresponding <dd>. If the list is empty or you don’t have content for both parts, consider whether a <dl> is the right element for your use case—a <ul> or <p> might be more appropriate.

Examples

Missing <dt> element

A <dd> without its corresponding <dt> triggers this error:

<dl>
  <dd>A box without hinges, key, or lid, yet golden treasure inside is hid.</dd>
</dl>

Add the missing <dt> to complete the group:

<dl>
  <dt>Egg</dt>
  <dd>A box without hinges, key, or lid, yet golden treasure inside is hid.</dd>
</dl>

Missing <dd> element

A <dt> without a following <dd> also triggers this error:

<dl>
  <dt>Egg</dt>
</dl>

Add the missing <dd> to provide the description:

<dl>
  <dt>Egg</dt>
  <dd>A box without hinges, key, or lid, yet golden treasure inside is hid.</dd>
</dl>

Empty <dl> element

An empty description list is invalid:

<dl></dl>

Either populate it with a complete term-description group or remove the element entirely.

Multiple terms and descriptions

A single <dt> can have multiple <dd> elements, and multiple <dt> elements can share the same <dd>. Both are valid:

<dl>
  <dt>Egg</dt>
  <dt>Ova</dt>
  <dd>A box without hinges, key, or lid, yet golden treasure inside is hid.</dd>
  <dd>An oval body laid by birds, reptiles, and other creatures.</dd>
</dl>

Using <div> wrappers

You can wrap each name-value group in a <div> for styling purposes, but each <div> must still contain the required <dt> and <dd> pairing:

<dl>
  <div>
    <dt>Egg</dt>
    <dd>A box without hinges, key, or lid, yet golden treasure inside is hid.</dd>
  </div>
  <div>
    <dt>Sun</dt>
    <dd>An eye in a blue face saw an eye in a green face.</dd>
  </div>
</dl>

Find issues like this automatically

Rocket Validator scans thousands of pages in seconds, detecting HTML issues across your entire site.

Help us improve our guides

Was this guide helpful?

Ready to validate your sites?
Start your free trial today.