landmark-main-is-top-level

La región de referencia main debe estar en el nivel superior

manualconfianza: mediumgravedad: minoroperable

Comprueba que la región de referencia main (role="main" o <main>) no está anidada dentro de otra región de referencia.

Ámbito de aplicación. Se aplica siempre que la página contenga al menos una región de referencia main (role="main" explícito, o un elemento <main> implícito). Un elemento personalizado cuyos ElementInternals le dan un rol de landmark (this.attachInternals().role), sin un atributo role que nombre otro, es un landmark como lo es un elemento nativo con ese rol.

Resultado esperado. Ninguna región de referencia main tiene un ancestro que sea a su vez una región de referencia. Una región main anidada dentro de otra región de referencia no es un área de contenido principal de nivel superior que abarque toda la página, y confunde la navegación basada en regiones de referencia para los usuarios de tecnología de asistencia.

Ejemplos

pass
<main>Content</main>

La región de referencia main no está anidada dentro de ninguna otra región de referencia.

can't tell
<div role="navigation">
<main>Nested main</main>
</div>

La región de referencia main está anidada dentro de una región de referencia navigation en lugar de estar en el nivel superior.

Cómo comprobarlo

Cuando esta regla no puede decidir, informa cantTell y deja la pregunta a una persona. Cada pregunta que puede plantear aparece aquí bajo su código de motivo, con los pasos para responderla. Un hallazgo lleva los mismos pasos en howToCheck, en el idioma del análisis. Consulta Esquema de salida.

LANDMARK_MAIN_NOT_TOP_LEVEL

  1. Localizar el punto de referencia main que indica el informe y el punto de referencia en el que está.
  2. Abrir la lista de puntos de referencia de un lector de pantalla, o el panel Accesibilidad, y observar dónde aparece main.
  3. Comprobar si main es el contenedor más externo del contenido principal de la página.

Se cumple. El punto de referencia main está en el nivel superior de la página, fuera de cualquier otro punto de referencia.

No se cumple. El punto de referencia main está dentro de otro punto de referencia, lo que confunde la navegación por puntos de referencia, un incumplimiento de buena práctica según el rol main de WAI-ARIA.

Ver código fuente