Skip to main content
Validación HTML

El atributo “aria-labelledby” no debe especificarse en ningún elemento “div” a menos que el elemento tenga un valor de “role” distinto de “caption”, “code”, “deletion”, “emphasis”, “generic”, “insertion”, “paragraph”, “presentation”, “strong”, “subscript” o “superscript”.

Acerca de este problema HTML

Un elemento div sin un role explícito (o con role="generic") no puede tener el atributo aria-labelledby porque los contenedores genéricos no tienen significado semántico que se beneficie de una etiqueta.

El elemento div se mapea al rol ARIA generic por defecto. Los elementos genéricos son puramente estructurales — no representan nada significativo para las tecnologías asistivas. Etiquetar algo que no tiene propósito semántico crea una experiencia confusa para los usuarios de lectores de pantalla, ya que la etiqueta apunta a un elemento que no transmite un rol claro.

El atributo aria-labelledby está diseñado para elementos interactivos o de referencia — cosas como dialog, region, navigation, form o group — donde una etiqueta ayuda a los usuarios a entender el propósito de esa sección.

Para solucionar esto, tienes dos opciones: asignar un rol ARIA significativo al div, o usar un elemento HTML más semántico que soporte naturalmente el etiquetado.

Ejemplos HTML

❌ Inválido: aria-labelledby en un div simple

<h2 id="section-title">User Settings</h2>
<div aria-labelledby="section-title">
  <p>Manage your account preferences here.</p>
</div>

✅ Corregido: Agregar un role significativo al div

<h2 id="section-title">User Settings</h2>
<div role="region" aria-labelledby="section-title">
  <p>Manage your account preferences here.</p>
</div>

✅ Corregido: Usar un elemento semántico en su lugar

<h2 id="section-title">User Settings</h2>
<section aria-labelledby="section-title">
  <p>Manage your account preferences here.</p>
</section>

Usar un elemento section o agregar role="region" le dice a las tecnologías asistivas que esta es un área distinta y significativa de la página — haciendo que la etiqueta sea útil y el marcado válido.

Encuentra problemas como este automáticamente

Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.

Ayúdanos a mejorar nuestras guías

¿Te ha sido útil esta guía?

¿Listo para validar tus sitios?
Inicia tu prueba gratuita hoy.