aria-required-parent
Los roles que requieren un rol de contexto específico deben estar en ese contexto
Comprueba que los roles con una entrada documentada de "required context role" (listitem, option, tab, treeitem, row, cell, ...) tengan un ancestro o un propietario aria-owns con un rol de contexto aceptable.
Ámbito de aplicación. Se aplica a elementos con un rol explícito, válido y no abstracto que además sea uno de los roles con una entrada documentada y no vacía de "required context role" (listitem, option, menuitem, menuitemcheckbox, menuitemradio, tab, treeitem, row, cell, gridcell, columnheader, rowheader, rowgroup). El elemento necesita su rol explícito, pero su contexto puede tomar su rol de los ElementInternals de un elemento personalizado (this.attachInternals().role), igual que un contexto nativo toma el de su etiqueta.
Resultado esperado. El elemento tiene un ancestro (contención en el DOM) o un propietario (mediante el aria-owns de ese ancestro/propietario) cuyo rol efectivo es uno de los roles de contexto aceptables para el rol de este elemento.
Qué informa un hallazgo.
role: el rol del elemento.requiredContextRoles: los roles dentro de uno de los cuales debe estar, o por uno de los cuales debe ser poseído. Cada elemento es un nombre de rol.
Estos campos de data.details ayudan a leer y reproducir un hallazgo. Salvo reasonCode y los pocos campos que Esquema de salida indica como estables, no son un contrato estable: un campo puede cambiar de nombre o desaparecer en una versión menor, así que no construyas sobre ellos.
Ejemplos
<div role="tablist"><div role="tab">Overview</div></div>
role="tab" requiere un ancestro (o propietario aria-owns) con role="tablist", y hay uno presente.
<nav role="tab"></nav>
role="tab" no tiene ningún ancestro o propietario tablist en ninguna parte de la página.