Skip to main content

HTML Guide

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

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.

Learn more:

Related W3C validator issues