listitem-parent-valid
Les éléments de liste doivent se trouver dans un conteneur de liste
Vérifie que les éléments <li> sont contenus dans un <ul>, un <ol>, un <menu> ou un élément avec role="list".
Applicabilité. S’applique aux éléments <li> qui ont un élément parent.
Attendu. Le parent est un <ul>/<ol>/<menu> sans rôle de substitution (tous trois ont le rôle implicite list), ou un élément avec un rôle explicite "list", "directory" (obsolète, mais parent requis de listitem dans WAI-ARIA 1.2), "presentation" ou "none". Un <li> utilisé hors d’un vrai conteneur de liste (p. ex. comme élément flex/grid générique sous un <div>) n’est pas exposé comme élément de liste aux technologies d’assistance.
Ce que rapporte un constat.
reasonCode:LIST_ROLE_OVERRIDDENlorsque le parent est un <ul>, un <ol> ou un <menu> dont le rôle explicite remplace list (<ul role="tablist">),LISTITEM_INVALID_PARENTsinon. Les deux échouent.parentElement: le nom de balise du parent du<li>, le conteneur dans lequel il se trouve au lieu d’une liste.parentRole: avecLIST_ROLE_OVERRIDDEN, le rôle du parent.parentElementest un contrat stable, contrairement au reste dedata.details.
Ces champs de data.details aident à lire et à reproduire un constat. À part reasonCode et les quelques champs que la page Schéma de sortie donne comme stables, ils ne constituent pas un contrat stable : un champ peut être renommé ou supprimé dans une version mineure, ne vous appuyez donc pas dessus.
Exemples
<ul><li>Apple</li></ul>
Le <li> se trouve dans un <ul>.
<div><li>Date</li></div>
Le <li> n’a aucun ancêtre <ul>/<ol>/role="list".