<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements
How to Fix the Problem
Check that your definition list has only dt
and
dd
elements. Furthermore, make sure these are properly ordered,
dt
should precede dd
elements.
Definition list items require dl
elements around the list,
dt
elements for each term, and dd
elements for each
definition. Each set of dt
elements must be followed by one or
more dd
elements. Ensure that your definition lists follow these
specifications and mimic the example below.
Example
<dl>
<dt>Coffee</dt>
<dd>Black hot drink</dd>
<div>
<dt>Milk</dt>
<dd>White cold drink</dd>
</div>
</dl>
Why it Matters
Screen readers have a specific way of announcing definition lists. When such lists are not properly marked up, this creates the opportunity for confusing or inaccurate screen reader output.
A definition list is used to provide the definitions of words or phrases. The
Definition List is marked up using the dl
element. Within the
list, each term is put in a separate dt
element, and its
definition goes in the dd
element directly following it.
Rule Description
Definition lists (dl
) must contain only properly-ordered
dt
and dd
groups, div
,
script
, or template
elements.
The Algorithm (in simple terms)
Ensures that all dl
elements are structured correctly.
"; if (!!window.MSInputMethodContext && !!document.documentMode ) document.getElementById("form_message").innerHTML = checkMark + msg + "
"; else document.getElementById("form_message").innerHTML = checkMarkAnimation + msg + "
"; } if(type === "warning" ) { document.getElementById("form_message").style.color = "#916216"; document.getElementById("form_message").innerHTML = warningIcon + msg + "
"; } if(type === "error" ) { document.getElementById("form_message").style.color = "#b40909"; document.getElementById("form_message").innerHTML = errorIcon + msg + "
"; } document.getElementById("form_message").tabIndex = -1; document.getElementById("form_message").focus(); } function clearMessage() { document.getElementById("form_message").innerHTML = ""; } function showFeedbackForm() { document.getElementById("feedback-form").className = ""; document.getElementById("feedback-info").className = "deque-hidden"; document.getElementById("yesButton").focus(); setTimeout((function (){ document.getElementById("yesButton").focus(); }), 5000); } function hideFeedbackForm() { if( feedbackData ) { document.getElementById("feedback-info").className = ""; showMessage("You have cancelled editing your earlier feedback.", "warning"); } document.getElementById("feedback-form").className = "deque-hidden"; document.getElementById("yesButton").style.display = ""; document.getElementById("noButton").style.display = ""; document.getElementById("noFeedback").className = "deque-hidden"; setTimeout((function() { clearMessage(); }), 4000); }