Volver al blog

Imágenes ARIA vacías: El peligro de simular imágenes sin contenido

Infografía detallada: Imágenes ARIA vacías: El peligro de simular imágenes sin contenido

TL;DR (Too Long; Didn’t Read... o básicamente: mucho texto, dame el resumen rápido)
Si usas un <div>, <span> o <svg> y le inyectas role="img", has asumido la responsabilidad de proveer su significado. Sin un aria-label acompañante, el lector de pantalla dirá "Imagen", y la persona usuaria no tendrá idea de qué información se oculta en ella.

La responsabilidad de sobrescribir el DOM

Las imágenes cargadas mediante CSS (background-image) o los vectores SVG inline carecen del atributo nativo alt. Para hacerlos accesibles, los desarrolladores les asignan role="img". Pero esta es solo la mitad del trabajo. Para cumplir con la WCAG 1.1.1 (Contenido no textual), el rol debe estar aparejado con una etiqueta.

El patrón erróneo: Código Accesible Deficiente

El sistema de asistencia reconoce el rol de imagen, pero se detiene en seco porque no hay un Accessible Name disponible en el árbol.

<!-- MAL: Promesa incumplida de semántica -->
<div class="icon-warning" role="img"></div>

<!-- MAL: SVG marcado como imagen sin texto asociado -->
<svg role="img" viewBox="0 0 100 100">...</svg>

La Solución Accesible: Código Recomendado

Si la imagen transmite información, usar aria-label. Si es puramente decorativa, omitir role="img" o usar role="presentation" y aria-hidden="true".

<!-- BIEN: Imagen semántica completa mediante ARIA -->
<div class="icon-warning" 
     role="img" 
     aria-label="Advertencia de seguridad crítica">
</div>

Metodología de Verificación y Testing

Pruebas Manuales con Lectores de Pantalla

Con NVDA, presionar B para saltar entre botones. Verificar que cada botón anuncie un nombre descriptivo (no solo "Botón"). En TalkBack (Android), navegar mediante swipe y confirmar que el anuncio incluya el propósito del control.

Inspección del Árbol de Accesibilidad

En Chrome DevTools, seleccionar el elemento afectado en el panel Elements, luego abrir la pestaña Accessibility. Verificar que las propiedades Role, Name y State reflejen correctamente la intención del componente según el criterio WCAG 1.1.1.

Herramientas Automatizadas

Ejecutar Axe DevTools: la regla image-alt y sus variantes detectan eficazmente imágenes, SVGs y objetos sin texto alternativo. WAVE también marca estos errores con alta fiabilidad. Limitación: Las herramientas no evalúan la calidad del texto alternativo.

Compartir artículo:

Artículos relacionados

¿Necesitas ayuda con la accesibilidad de tus proyectos?

Descubre cómo nuestro ecosistema detecta y corrige las barreras de forma automática.

Hablar con un experto (Abre en una nueva ventana)