Volver al blog

Cajas Negras: El misterio de los elementos <object> sin texto alternativo

Infografía detallada: Cajas Negras: El misterio de los elementos <object> sin texto alternativo

TL;DR (Too Long; Didn’t Read... o básicamente: mucho texto, dame el resumen rápido)
Si usas la etiqueta <object> para incrustar un visor de PDF o un applet interactivo, el lector de pantalla no puede "ver" mágicamente hacia adentro. Si no inyectas texto interno de respaldo o un aria-label, el sistema simplemente dirá "Objeto", bloqueando a la persona usuaria en seco.

El abismo de los contenidos de terceros

El Criterio WCAG 1.1.1 (Contenido no textual) aplica para todo. Los desarrolladores suelen olvidar que <object> no posee el atributo alt nativo de las imágenes. Si el plugin incrustado falla o si es interceptado por un lector de voz, no habrá contexto alguno sobre si eso era un formulario de quejas o un mapa de sucursales.

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

El contenedor es declarado y cargado, pero queda mudo para el árbol de accesibilidad.

<!-- MAL: Objeto sin descripción ni respaldo -->
<object data="/documentos/resolucion-123.pdf" type="application/pdf">
</object>

La Solución Accesible: Código Recomendado

Escribir un enlace de descarga directo como "fallback" (contenido de respaldo) entre las etiquetas de apertura y cierre, y proveer un nombre accesible.

<!-- BIEN: Nombre accesible ARIA y enlace de respaldo puro -->
<object data="/documentos/resolucion-123.pdf" 
        type="application/pdf" 
        aria-label="Visor del documento: Resolución 123">
  <p>Su navegador no soporta el visor de PDF. 
     <a href="/documentos/resolucion-123.pdf">Descargue la Resolución 123 aquí</a>.
  </p>
</object>

Metodología de Verificación y Testing

Pruebas Manuales con Lectores de Pantalla

Con NVDA, presionar G para saltar entre imágenes. Verificar que cada imagen informativa anuncie su texto alternativo descriptivo. Las imágenes decorativas deben ser completamente ignoradas por el lector. En VoiceOver (iOS), confirmar mediante swipe que las imágenes informativas se anuncien correctamente.

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)