<dt> and <dd> elements must be contained by a <dl>
How to Fix the Problem
Wrap the list item in parent
dl elements to ensure the list
follows the proper hierarchy. Furthermore, make sure that the
dd elements are in the proper order.
This rule checks for the valid hierarchical use of definition list elements to help screen reader users know what they are listening to, and what to expect as they listen to definition lists with regard to the organizational relationship of parent and child items.
For example, if you have the following code causing an error:
<dt>Coffee</dt> <dd>Black hot drink</dd> <dt>Milk</dt> <dd>White cold drink</dd>
Wrap it in the <dl> element:
<dl> <dt>Coffee</dt> <dd>Black hot drink</dd> <dt>Milk</dt> <dd>White cold drink</dd> </dl>
Why it Matters
A definition list item must be wrapped in parent
otherwise it will be invalid.
A definition list must follow a specific hierarchy. A list is defined using
dl element. What follows are alternating sets of
dd elements, starting with the
dt elements define a term while
dd elements denote a term's description. Each set of
dt elements must have a corresponding set of
dd elements. Only
are allowed in definition list. If this hierarchy is not followed, the list
will be invalid.
Definition list items (
dd) must be wrapped
dl elements to be valid. This enables screen reader
users to understand the proper hierarchy of information in the list.
The Algorithm (in simple terms)
Ensures that all child
dt elements have a
dl as a parent.