definition-list-children-valid
Beschreibungslisten müssen korrekt strukturiert sein
Prüft, dass <dl>-Elemente direkt nur <dt>/<dd>-Gruppen (optional in einem <div> gruppiert), <script>, <template> oder <style> enthalten.
Anwendbarkeit. Gilt für <dl>-Elemente, die mindestens ein direktes Kindelement oder nicht leeren Text direkt in sich enthalten.
Erwartung. Jedes direkte Kindelement ist <dt>, <dd>, <script>, <template>, <style> oder ein <div>, dessen eigene Kinder aus derselben Menge stammen (eine einzige Ebene umschließender divs ist erlaubt, entsprechend der üblichen Gruppierung von dt/dd-Paaren). Nicht leerer Text direkt im <dl> oder in einem umschließenden <div> ist ebenfalls ein ungültiges Kind. Enthält die abgeflachte Menge überhaupt ein <dt> oder <dd>, muss sie BEIDE enthalten (ein unausgewogenes dt ohne dd oder dd ohne dt ist ungültig) und, der Reihe nach gelesen, aus Gruppen von einem oder mehreren <dt> gefolgt von einem oder mehreren <dd> bestehen: Ein <dd> vor dem ersten <dt> hat keinen Begriff, und ein <dt> nach dem letzten <dd> hat keine Definition. Eine abgeflachte Menge ohne beide (eine leere Liste oder eine, die nur <script>, <template> oder <style> enthält) ist kein Verstoß: Die Paarbildung wird nur von einer Liste verlangt, die Einträge hat. Jedes andere direkte oder umschlossene Kind bricht die Semantik der Beschreibungsliste, auf die sich assistive Technologien stützen.
Was ein Befund meldet.
invalidChildren: die Kinder, die nicht in die Liste gehören, ein Tag-Name pro Kind (#textfür Text, der direkt darin steht). Leer, wenn das Problem ein fehlendes oder falsch angeordnetes<dt>/<dd>ist.
Diese Felder in data.details helfen, einen Befund zu lesen und zu reproduzieren. Außer reasonCode und den wenigen Feldern, die Ausgabeschema als stabil nennt, sind sie kein stabiler Vertrag: Ein Feld kann in einer Minor-Version umbenannt werden oder wegfallen, bauen Sie also nicht darauf auf.
Beispiele
<dl><dt>Term</dt><dd>Definition</dd></dl>
Die einzigen direkten Kinder von <dl> sind dt/dd.
<dl><dt>Term</dt><dd>Definition</dd><p>oops</p></dl>
Das <p> ist ein direktes Kind von <dl>, das weder dt/dd noch ein erlaubter Wrapper ist.