Skip to main content
HTML Validation

The element “h2” must not appear as a descendant of the “dt” element.

About This HTML Issue

An h2 heading cannot be placed inside a dt element.

The dt (definition term) element is only allowed to contain phrasing content, such as text or inline elements (e.g., span, a). Heading elements like h2, which are flow content, are not permitted within dt. Description lists should structure terms and their descriptions with dt for each term and dd for each description. To include headings within the flow of a description list, place the heading outside the dt and dd elements or directly before the list.

Invalid Example:

<dl>
  <dt>
    <h2>Heading Inside Term</h2>
    Term Title
  </dt>
  <dd>Description of the term.</dd>
</dl>

Valid Example — Place Heading Before the List:

<h2>Terms and Definitions</h2>
<dl>
  <dt>Term Title</dt>
  <dd>Description of the term.</dd>
</dl>

Valid Example — Place Heading Outside dt:

<dl>
  <dt>Term Title</dt>
  <dd>
    <h2>Description</h2>
    Description of the term.
  </dd>
</dl>

Always ensure that heading elements are not nested within dt elements to comply with HTML standards.

Last reviewed: August 07, 2025

Was this guide helpful?

Find issues like this automatically

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

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