Perceptible Alternativas de texto Nivel A WCAG 2.0, 2.1, 2.2

1.1.1 Contenido no textual

Meta Toda la información no textual debe estar disponible para todas las personas.
Qué hacer Crea alternativas de texto para contenido visual y auditivo para que todos puedan entenderlo.
Por qué importa Las personas que no pueden ver ni escuchar el contenido completamente podrán comprenderlo a través de las alternativas.

Criterio de éxito oficial

Nivel A · WCAG 2.0, 2.1, 2.2

Todo contenido no textual que se presenta al usuario tiene una alternativa de texto que cumple la misma función, excepto en las situaciones que se enumeran a continuación:

Controles y entrada
Si el contenido no textual es un control o acepta entrada del usuario, debe tener un nombre que describa su propósito.
Medios basados en el tiempo
Las alternativas textuales proporcionan al menos una identificación descriptiva del contenido no textual.
Prueba o ejercicio
Si no sería válido en formato texto, la alternativa textual al menos proporciona una identificación descriptiva.
Experiencia sensorial
Si busca crear una experiencia sensorial específica, las alternativas al menos proporcionan una identificación descriptiva.
CAPTCHA
Se proporcionan alternativas que identifican y describen el propósito, y se ofrecen formas alternativas de CAPTCHA para diferentes tipos de percepción sensorial.
Decoración, formato, invisible
Si es puramente decorativo, solo formato visual o no se presenta al usuario, se implementa de manera que la tecnología de asistencia pueda ignorarlo.

¿Qué es el contenido no textual?

El contenido no textual es cualquier elemento de un sitio web que no sea texto: imágenes, vídeos, audio y otros contenidos visuales y auditivos. Las personas con discapacidad visual, auditiva o con dificultades para procesar la información pueden tener problemas para percibir o comprender este tipo de contenido.

Las alternativas textuales facilitan el acceso a este contenido para todos. La información puede ser leída individualmente, en voz alta por lectores de pantalla, transmitida a través de pantallas braille actualizables o traducida a otros idiomas.

El contenido no textual puede adoptar muchas formas:

  • Elementos visuales informativos: gráficos, diagramas e infografías
  • Grabaciones de audio como podcasts
  • Vídeos pregrabados con y sin audio
  • Pistas de audio o vídeo en vivo
  • Imágenes, fotografías y animaciones
  • Elementos decorativos o estéticos
  • Música y obras de arte
  • Entradas visuales de usuario: botones de iconos o mapas de imágenes
  • Pruebas o cuestionarios con contenido visual
  • CAPTCHA y ejercicios de verificación humana

¿Por qué es importante?

El contenido no textual puede ser una barrera para muchas personas, incluyendo personas con discapacidad visual, auditiva o cognitiva. Además, es inaccesible para quienes no comprenden el idioma en el que se presenta.

Las alternativas de texto ofrecen una manera para que todos accedan al mismo contenido que de otro modo solo se proporcionaría por medios visuales o auditivos. Además, hacen que el contenido se pueda buscar y reutilizar de nuevas maneras.

Nota

Las alternativas textuales son una forma fundamental de hacer accesible la información, ya que pueden reproducirse mediante cualquier modalidad sensorial —visual, auditiva o táctil— para satisfacer las necesidades del usuario.

¿Quién se ve afectado?

Personas con discapacidad visual — No pueden percibir imágenes, diagramas o vídeos. Las alternativas de texto permiten acceder al contenido mediante lectores de pantalla o pantallas braille.

Personas sordas o con dificultad auditiva — No pueden percibir contenido auditivo como podcasts o bandas sonoras. Las alternativas textuales les permiten leer la información.

Personas con dificultades cognitivas — Pueden beneficiarse de las alternativas al proporcionar múltiples formas de explicar el mismo contenido.

Personas sordociegas — Pueden leer las alternativas de texto en braille, accediendo así a información que de otro modo sería completamente inaccesible.

Cómo implementar 1.1.1

Consejo

Dada la gran variedad de contenido no textual, cada pieza deberá tratarse de forma diferente. Busca la categoría que mejor se adapte al contenido con el que trabajas y comienza desde ahí.

Imágenes

Al agregar imágenes a las páginas, revisa si son importantes para comprender el contexto general. Usa el atributo alt de HTML para añadir un texto alternativo que explique su significado. El texto alternativo debe ser breve y conciso — una buena regla es mantenerlo en torno a los 125 caracteres.

El texto alternativo debe centrarse en el contexto de la imagen dentro de la página. Evita incluir palabras como «imagen de» o «fotografía de» y no repitas el pie de foto.

El caso más habitual en desarrollo web es el logotipo en el header. Su propósito no es describir la imagen sino indicar la función del enlace que contiene:

Correcto
AW AccesibleWeb Accesibilidad digital Servicios Recursos CTA
"AccesibleWeb — Ir a la página de inicio, enlace"
Incorrecto
AW AccesibleWeb Accesibilidad digital Servicios Recursos CTA
"logo, enlace"
Correcto
<a href="/">
  <img
    src="logo.svg"
    alt="AccesibleWeb — Ir a la página de inicio"
  />
</a>
Incorrecto
<a href="/">
  <img src="logo.svg" alt="logo" /> ← no describe el propósito
</a>
<!-- O sin alt: el lector de pantalla leerá el nombre del fichero -->
Importante

Omitir el atributo alt no es lo mismo que dejarlo vacío. Sin alt, el lector de pantalla leerá el nombre del fichero. Con alt="" lo ignora. Con alt="texto descriptivo" lo anuncia correctamente.

Imágenes decorativas

Las imágenes que solo mejoran la estética sin transmitir información no necesitan texto alternativo. En estos casos, utiliza un atributo alt vacío para que la tecnología de asistencia las ignore. No omitas el atributo — debe estar presente y vacío.

Otra técnica es usar CSS para incluir imágenes decorativas mediante background-image, ya que las tecnologías de asistencia las ignoran por defecto.

Correcto
<!-- alt vacío: el lector de pantalla la ignora -->
<img src="patron-ondas.svg" alt=""/>

<!-- O mejor: imagen decorativa en CSS -->
.hero {
  background-image: url('patron-ondas.svg');
}

Imágenes vinculadas

En listados de productos, artículos de blog o portfolios es habitual tener una imagen y un título que enlazan al mismo destino. Si se implementan como dos enlaces separados, el lector de pantalla visita el mismo destino dos veces seguidas, lo que resulta confuso y redundante.

La solución es contener la imagen dentro del mismo elemento <a> que el texto, dejando el alt de la imagen vacío para evitar repetición:

Correcto — un enlace
auriculares Auriculares Pro — Ver detalles 89,99 € 1 enlace
"Auriculares Pro — Ver detalles, enlace"
Incorrecto — dos enlaces
enlace 1 auriculares Auriculares Pro — Ver detalles enlace 2 89,99 €
"Auriculares Pro, enlace" → "Auriculares Pro — Ver detalles, enlace"
Correcto
<a href="/producto/auriculares-pro">
  <img src="auriculares.jpg" alt=""/>
  Auriculares Pro — Ver detalles
</a>
Incorrecto
<a href="/producto/auriculares-pro">
  <img src="auriculares.jpg" alt="Auriculares Pro"/>
</a>
<a href="/producto/auriculares-pro">
  Auriculares Pro — Ver detalles
</a>

Agrupaciones de iconos

Cuando un grupo de elementos no textuales transmite información en conjunto —como un sistema de clasificación por estrellas— proporciona una sola alternativa de texto que describa el grupo como unidad. Evita la repetición: asigna el texto alternativo significativo a un solo elemento y deja los demás con alt="".

Correcto
Auriculares Pro alt="Valoración: 4 de 5 estrellas" alt="" en las 4 restantes 215 valoraciones
"Valoración: 4 de 5 estrellas"
Incorrecto
Auriculares Pro alt="estrella" en cada imagen sin información real del grupo 215 valoraciones
"estrella" · "estrella" · "estrella" · "estrella" · "estrella vacía"
Correcto
<img src="star.svg" alt="Valoración: 4 de 5 estrellas"/>
<img src="star.svg" alt=""/>
<img src="star.svg" alt=""/>
<img src="star.svg" alt=""/>
<img src="star-empty.svg" alt=""/>

Emojis, emoticonos y arte ASCII

Los emojis tienen nombres predefinidos que no siempre coinciden con su significado cultural. Los emoticonos y caracteres ASCII se leen carácter por carácter. Debes incluir alternativas de texto para transmitir su significado:

Correcto — botón de reacción
<button type="button">
  <span aria-label="Me gusta" role="img">👍</span>
  <span>42</span>
</button>

Controles de formulario con iconos

Los botones que contienen solo un icono necesitan un nombre accesible. Sin él, el lector de pantalla anuncia simplemente "botón" sin ningún contexto. Usa aria-label en el botón o un texto visualmente oculto con .sr-only.

Correcto
Buscar en el sitio Busca criterios WCAG... aria-label="Iniciar búsqueda"
"Buscar en el sitio, edición" / "Iniciar búsqueda, botón"
Incorrecto
Busca criterios WCAG... Sin label — sin aria-label en el botón Sin label visible ni aria-label
"botón" (sin nombre — sin contexto)
Correcto
<label for="busqueda">Buscar en el sitio</label>
<input type="search" id="busqueda"/>
<button aria-label="Iniciar búsqueda">
  <svg aria-hidden="true">...</svg>
</button>

Audio, música e ilustraciones

Para archivos de audio, música e ilustraciones, incluye los nombres propios del material: nombre de la obra, del artista, medio utilizado, fecha de creación y una breve descripción del contenido. Para música, puedes añadir información sobre el género, compositor o un enlace a la letra.

CAPTCHA

Los CAPTCHA son un tema controvertido en accesibilidad. Para hacerlos más accesibles: proporciona una alternativa de texto que describa el propósito del CAPTCHA, ofrece un CAPTCHA alternativo con una modalidad diferente (visual y auditivo) y, si es posible, considera alternativas como honeypots o verificación por email.

Nota

Requerir dos formas diferentes de CAPTCHA garantiza que la mayoría de las personas con discapacidades encontrarán una forma que puedan usar. Sin embargo, las organizaciones deben ir más allá de los requisitos mínimos siempre que sea posible.

Contenido complejo

El contenido complejo —gráficos, infografías, diagramas— no puede describirse con un texto alternativo breve. Para este tipo de contenido, combina un alt breve que resume el propósito con una descripción larga accesible mediante aria-describedby o un enlace a la descripción completa.

Correcto
<figure>
  <img
    src="grafico-usuarios.png"
    alt="Gráfico: usuarios con y sin discapacidad (ene–dic 2024)"
    aria-describedby="desc-grafico"
  />
  <figcaption id="desc-grafico">
    Los usuarios con discapacidad crecieron un 34% tras el rediseño accesible
    de marzo. El mayor crecimiento se registró en mayo (+8%) y septiembre (+7%).
  </figcaption>
</figure>

Técnicas recomendadas

  • H37 — Uso del atributo alt en elementos img
  • H67alt vacío en imágenes decorativas
  • H2 — Combinar imágenes y texto adyacentes en el mismo enlace
  • ARIA10aria-labelledby para alternativas de texto
  • G94 — Alternativa de texto breve que cumple el mismo propósito
  • G95 — Alternativa de texto breve + descripción larga

Errores comunes

  • Alt que describe el aspecto en lugar del propósito — "foto de personas reunidas" en vez de "Equipo de producto en sesión de revisión de accesibilidad".
  • Atributo alt ausente en imágenes informativas — el lector de pantalla anuncia el nombre del fichero.
  • Alt genérico como alt="imagen" o alt="foto" que no aporta información.
  • Imágenes decorativas con alt descriptivo — genera ruido para los usuarios de lector de pantalla.
  • Botones con solo icono sin nombre accesible — el lector de pantalla anuncia "botón" sin contexto.
  • SVGs inline sin role="img" y <title> — los SVGs inline necesitan marcado adicional para ser accesibles.

Criterios relacionados