aria-required-parent
Les rôles qui exigent un rôle de contexte précis doivent se trouver dans ce contexte
Vérifie que les rôles ayant une entrée documentée « required context role » (listitem, option, tab, treeitem, row, cell, ...) ont un ancêtre ou un propriétaire aria-owns doté d’un rôle de contexte acceptable.
Applicabilité. S’applique aux éléments dotés d’un rôle explicite, valide et non abstrait qui fait aussi partie des rôles ayant une entrée « required context role » documentée et non vide (listitem, option, menuitem, menuitemcheckbox, menuitemradio, tab, treeitem, row, cell, gridcell, columnheader, rowheader, rowgroup). L’élément doit avoir son rôle explicite, mais son contexte peut tenir son rôle des ElementInternals d’un élément personnalisé (this.attachInternals().role), comme un contexte natif tient le sien de sa balise.
Attendu. L’élément a un ancêtre (inclusion dans le DOM) ou un propriétaire (via l’aria-owns de cet ancêtre/propriétaire) dont le rôle effectif est l’un des rôles de contexte acceptables pour le rôle de l’élément.
Ce que rapporte un constat.
role: le rôle de l’élément.requiredContextRoles: les rôles dont l’un doit le contenir ou le posséder. Chaque élément est un nom de rôle.
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
<div role="tablist"><div role="tab">Overview</div></div>
role="tab" exige un ancêtre (ou un propriétaire aria-owns) doté de role="tablist", et il y en a un.
<nav role="tab"></nav>
role="tab" n’a aucun ancêtre ni propriétaire tablist nulle part dans la page.