guides
Pruebas de lectores de pantalla
Una guía práctica para probar con NVDA, JAWS, VoiceOver y TalkBack: por qué importa usar varios lectores, qué probar y errores comunes que evitar.
Una página puede pasar todas las comprobaciones automáticas, publicarse con HTML válido y aun así resultar inutilizable para quien navega la web de oído. Las herramientas automáticas detectan aproximadamente un tercio de los problemas de accesibilidad; el resto vive en la brecha entre lo que el árbol de accesibilidad contiene técnicamente y lo que un lector de pantalla realmente anuncia al usuario. Cerrar esa brecha significa poner tu interfaz frente a las mismas herramientas de las que depende tu audiencia, y para eso sirven precisamente las pruebas de lectores de pantalla.
Esta guía recorre en qué se diferencian los principales lectores de pantalla, por qué nunca basta con probar uno solo, qué probar exactamente, qué combinaciones de lector y navegador usar, y las trampas que atrapan incluso a los equipos con experiencia. Está escrita para desarrolladores, ingenieros de QA y especialistas en accesibilidad que quieren probar de forma deliberada en lugar de adivinar. Si prefieres dejar el trabajo en manos de especialistas que usan estas herramientas a diario, nuestro servicio de evaluación con lectores de pantalla hace exactamente eso.
Por qué un lector de pantalla no es una herramienta de “lectura en voz alta”
El error más común es pensar que un lector de pantalla simplemente lee el texto de la página. Hace mucho más que eso, y entender la diferencia es la base de unas buenas pruebas. Un lector de pantalla construye un modelo paralelo y no visual de la interfaz a partir del árbol de accesibilidad del navegador. Anuncia el nombre de cada elemento (“Enviar, botón”), su rol (botón, enlace, encabezado, casilla de verificación) y su estado (marcado, expandido, deshabilitado, obligatorio). Permite al usuario saltar entre encabezados, regiones, campos de formulario y enlaces sin tocar el diseño visual. Anuncia los cambios dinámicos —mensajes de error, resultados de búsqueda, actualizaciones de estado— cuando esos cambios se exponen correctamente.
Eso es fundamentalmente distinto de la conversión de texto a voz, que transforma un bloque de texto en audio sin ningún concepto de roles, estados o navegación. Tratamos la distinción en detalle en texto a voz frente a lectores de pantalla, y aquí importa porque probar para uno no prueba para el otro. Un usuario de lector de pantalla no consume tu página de arriba abajo; la navega estructuralmente y espera que cada elemento interactivo declare qué es y qué está haciendo.
En qué se diferencian NVDA, JAWS, VoiceOver y TalkBack
Los cuatro lectores que la mayoría de los equipos deben tener en cuenta se comportan de forma suficientemente distinta como para que “funciona en uno” no te diga casi nada sobre los demás.
NVDA (Windows)
NVDA es un lector gratuito y de código abierto, y el lector de pantalla más usado del mundo. Se combina de forma más natural con Firefox y Chrome. NVDA tiende a seguir de cerca la semántica de ARIA y HTML, lo que lo convierte en una excelente referencia base: si algo está roto en tu marcado, NVDA suele evidenciarlo con claridad. Tiene dos modos clave —el modo de exploración (para leer y navegar por la estructura) y el modo de enfoque (para escribir en formularios y operar widgets)— y una fuente frecuente de errores son los widgets que no logran activar el cambio de modo correcto.
JAWS (Windows)
JAWS es el lector comercial consolidado desde hace tiempo, todavía dominante en empresas, gobiernos y muchos lugares de trabajo. Se combina con Chrome y Edge. JAWS es famoso por ser “servicial”: aplica heurísticas que adivinan el significado, a veces anuncia cosas sobre las que NVDA permanece en silencio y, en ocasiones, disimula errores de marcado que deberían corregirse. Esa amabilidad corta por ambos lados: el código que “funciona en JAWS” puede fallar en NVDA o VoiceOver porque JAWS tapó el problema. También tiene su propio cursor virtual y un comportamiento del modo de formularios que difiere sutilmente del de NVDA.
VoiceOver (macOS e iOS)
VoiceOver viene integrado en cada Mac, iPhone y iPad, y se combina casi exclusivamente con Safari. En macOS la navegación se realiza mediante el rotor y las combinaciones con la tecla VO; en iOS es totalmente basada en gestos: deslizar para moverse, doble toque para activar, el rotor girando dos dedos. VoiceOver es generalmente el más estricto de los cuatro respecto a ARIA: a menudo se queda en silencio en lugar de adivinar cuando faltan nombres o roles, de modo que un control que JAWS anuncia puede no decir nada en VoiceOver. VoiceOver de escritorio y móvil también difieren entre sí, así que cuentan como dos objetivos de prueba distintos.
TalkBack (Android)
TalkBack es el lector integrado en Android, combinado con Chrome. Al igual que VoiceOver de iOS, se basa en gestos, pero sus gestos, su comportamiento del foco y su manejo de las regiones en vivo y los controles personalizados difieren de los de VoiceOver. Los lectores móviles, en general, exponen problemas que nunca aparecen en escritorio: objetivos táctiles que no se pueden alcanzar al deslizar, un foco que salta de forma inesperada tras una transición de pantalla, y contenido que está presente visualmente pero se omite por completo en el orden lineal de los gestos.
Por qué es esencial probar con varios lectores
Como estos lectores divergen en cómo interpretan exactamente el mismo marcado, probar con un solo lector produce una falsa sensación de seguridad. Aparecen una y otra vez algunos patrones concretos:
- Un combobox personalizado que JAWS anuncia a la perfección puede quedarse completamente en silencio en VoiceOver porque VoiceOver se niega a inferir un
roleo un estadoaria-expandedfaltante. - Una región en vivo que NVDA anuncia educadamente una vez puede anunciarse repetidamente, o no anunciarse en absoluto, en otro lector según cómo interactúen
aria-livey el momento de inserción en el DOM. - Un control con un nombre redundante o conflictivo (etiqueta visible más
aria-labelmástitle) puede anunciarse de forma sensata en un lector y como una cadena confusa de duplicados en otro. - Un orden de lectura que coincide con el orden visual en una combinación de navegador/lector puede divergir en otra cuando el CSS reordena el contenido pero el DOM no.
Cada lector también está ligado a un navegador distinto, así que en realidad estás probando combinaciones de lector más navegador, no lectores por separado. La única manera de saber que tu producto es coherente para todos es probar las combinaciones reales que usa tu audiencia. Ese principio es el mismo que hay detrás de las auditorías de accesibilidad manuales en general: las herramientas acotan la búsqueda, las personas confirman la experiencia.
Qué probar
Las pruebas son mucho más eficaces cuando están estructuradas. Estas son las dimensiones que importan, aproximadamente por orden de prioridad, y cada una se asocia a criterios de éxito específicos de WCAG 2.2.
Anuncios: nombre, rol, valor
Para cada elemento interactivo, confirma que el lector anuncia un nombre preciso (qué es), el rol correcto (botón, enlace, casilla de verificación, pestaña) y, cuando proceda, el valor o el estado. Este es el núcleo de WCAG 4.1.2 (Nombre, función, valor). Presta especial atención a: controles silenciosos, controles anunciados solo como “se puede hacer clic” o “grupo”, botones de icono sin nombre accesible, y nombres que se leen como rutas de archivo o nombres de clases sin procesar.
Roles y estados
Los estados deben actualizarse a medida que el usuario interactúa. Un desplegable que se expande debería pasar de “contraído” a “expandido”; una casilla de verificación debería pasar de “no marcada” a “marcada”; un botón de ordenación debería anunciar su dirección actual. El marcado estático que nunca actualiza aria-expanded, aria-checked, aria-selected o aria-pressed es uno de los defectos más comunes, y solo se revela cuando operas el widget con un lector en marcha.
Orden del foco y gestión del foco
Recorre con el tabulador toda la interfaz. El foco debe moverse en un orden lógico y predecible (WCAG 2.4.3), debe ser siempre visible y nunca debe quedar atrapado salvo deliberadamente dentro de un modal. Los casos difíciles son los dinámicos: cuando se abre un diálogo, el foco debería entrar en él; cuando se cierra, el foco debería volver al elemento que lo abrió. Omitir esto es la razón más común de que un flujo modal resulte inutilizable.
Orden de lectura y de navegación
Más allá del foco, los usuarios de lectores de pantalla navegan por la estructura. Verifica que los encabezados formen un esquema lógico (WCAG 1.3.1), que las regiones (header, nav, main, footer) permitan a los usuarios desplazarse, y que las listas y tablas estén marcadas de modo que el lector pueda navegarlas y contarlas. Comprueba que la secuencia de lectura coincida con la intención visual y que nada importante se anuncie en un orden incorrecto.
Regiones en vivo y actualizaciones dinámicas
Los cambios asíncronos —errores de validación, “3 resultados encontrados”, “guardando…”, notificaciones tipo toast— deben llegar al usuario sin abrumarlo. aria-live="polite" para actualizaciones no urgentes, aria-live="assertive" solo para las realmente urgentes, y role="status" o role="alert" para los casos habituales. Prueba que la región exista en el DOM antes de que cambie el contenido, que la actualización se anuncie exactamente una vez y que no interrumpa al usuario a mitad de frase. Esto respalda WCAG 4.1.3 (Mensajes de estado).
Widgets ARIA personalizados
Todo lo que hayas construido tú mismo —menús, pestañas, comboboxes, selectores de fecha, carruseles, cuadrículas de datos, vistas de árbol— necesita el mayor escrutinio. Pruébalo frente a las ARIA Authoring Practices para verificar la interacción de teclado y los anuncios esperados, y luego confirma que los lectores reales se comportan realmente así. La APG describe lo ideal; los lectores lo implementan de forma imperfecta, por lo que un patrón que funciona aun así debe verificarse en cada lector.
Un ejemplo concreto: un conmutador inaccesible frente a uno accesible
Considera un conmutador de ajustes. Una versión con estilo visual pero semánticamente vacía:
<div class="toggle" onclick="setNotifications()">
<span class="dot"></span> Notifications
</div>
Para un lector de pantalla esto es, en el mejor de los casos, un fragmento de texto estático. No hay rol, así que no se anuncia como un control; no hay estado, así que el usuario no puede saber si las notificaciones están activadas o desactivadas; y no está en el orden de tabulación, así que un usuario de teclado o de lector de pantalla no puede alcanzarlo ni operarlo en absoluto. En las pruebas, NVDA lee “Notifications” y sigue adelante; VoiceOver puede omitirlo por completo.
El equivalente accesible usa el elemento nativo y expone el estado:
<button type="button" aria-pressed="false" id="notif">
Notifications
</button>
const btn = document.getElementById('notif');
btn.addEventListener('click', () => {
const on = btn.getAttribute('aria-pressed') === 'true';
btn.setAttribute('aria-pressed', String(!on));
});
Ahora cada lector anuncia “Notifications, botón de conmutación, no pulsado”, es alcanzable con el tabulador, operable con Enter o Espacio, y el estado cambia de forma audible al activarse. La lección se generaliza: prefiere la semántica nativa y, cuando debas usar ARIA, prueba que cada lector respeta realmente el rol y el estado. Patrones como este defecto de estado ausente están entre los problemas de accesibilidad comunes que evitar.
Combinaciones recomendadas de lector y navegador
Prueba las combinaciones que usan los usuarios reales, no pares arbitrarios. Una matriz práctica que cubre a la gran mayoría de los usuarios de lectores de pantalla:
- NVDA + Firefox (Windows): la referencia más limpia para detectar problemas de marcado
- NVDA + Chrome (Windows): la combinación de lector gratuito más común en la práctica
- JAWS + Chrome (Windows): dominante en entornos empresariales y gubernamentales
- VoiceOver + Safari (macOS): la única combinación de VoiceOver de escritorio totalmente compatible
- VoiceOver + Safari (iOS): móvil basado en gestos, un objetivo distinto del de escritorio
- TalkBack + Chrome (Android): la combinación estándar de Android
Las combinaciones importan porque los lectores están ajustados para navegadores específicos; VoiceOver con Chrome o JAWS con Firefox produce un comportamiento que no refleja cómo experimenta realmente la página tu audiencia. Cuando tus analíticas muestren una audiencia concreta —por ejemplo, un producto del sector público con un uso intensivo de JAWS, o una aplicación de consumo orientada al móvil— pondera la matriz en consecuencia. Nuestro servicio de evaluación con lectores de pantalla ajusta esta matriz a las analíticas de cada cliente en lugar de probar una lista fija.
Errores comunes
Incluso los equipos cuidadosos tropiezan con las mismas cosas. Vigila lo siguiente:
- Probar con los ojos abiertos. Si puedes ver la pantalla, compensarás de forma inconsciente lo que el lector no te está diciendo. Apaga el monitor, o al menos aparta la vista, y navega solo de oído.
- Probar un solo lector. Cubierto más arriba: es la mayor fuente de falsa confianza.
- Saltarse el modo de formularios/enfoque. En NVDA y JAWS, los widgets personalizados a menudo necesitan que el usuario esté en el modo correcto. Si solo pruebas en modo de exploración, te perderás interacciones que se rompen en modo de enfoque.
- Abusar de
aria-label. Añadir etiquetas ARIA por todas partes puede anular el texto visible, desincronizar el nombre accesible de lo que se muestra y confundir a los usuarios de control por voz. Prefiere el etiquetado nativo; recurre a ARIA solo cuando HTML no pueda expresar la relación. - Suponer que la APG garantiza el éxito. Las ARIA Authoring Practices describen el comportamiento previsto, no lo que hace cada lector. Verifica siempre frente a lectores reales.
- Confiar en los widgets de superposición. Los widgets de superposición y de “accesibilidad con IA” que afirman arreglar el acceso con lectores de pantalla en tiempo de ejecución no ofrecen una experiencia fiable y a menudo empeoran la navegación para las mismas personas a las que dicen ayudar. No hay sustituto para un marcado accesible confirmado mediante pruebas reales. Audita el DOM y los anuncios reales, no el marketing de la superposición.
- Tratar lo móvil como algo secundario. VoiceOver de iOS y TalkBack de Android exponen sus propios problemas de gestos, foco y regiones en vivo que las pruebas de escritorio nunca revelan.
Por qué las pruebas realizadas por personas con discapacidad aportan valor
Usar un lector tú mismo detecta muchísimo, pero hay una diferencia significativa entre pasar técnicamente y ser realmente utilizable, y ahí es donde más importa la experiencia vivida. Un usuario diario de lector de pantalla navega por reflejo: se mueve por encabezados, hojea con el rotor, reconoce cuándo un anuncio es prolijo o redundante, e inmediatamente percibe cuándo un flujo lo obliga a seguir un camino ineficiente aunque cada elemento individual sea “conforme”.
Un desarrollador con visión que prueba por primera vez tiende a verificar la presencia —“el botón se anuncia”—, mientras que un usuario experto evalúa la experiencia: “el botón se anuncia, pero la etiqueta es ambigua, la confirmación no se dice, y llegar hasta aquí supuso doce deslizamientos de más”. Esos hallazgos de usabilidad rara vez aparecen en una lista de comprobación de conformidad y, sin embargo, son exactamente lo que determina si alguien puede completar realmente una tarea. Por eso QualiBooth combina el software de escaneo de accesibilidad automatizado y nuestro kit de herramientas de accesibilidad con auditorías realizadas por personas con discapacidad: las herramientas encuentran lo evidente, los expertos encuentran lo que realmente rompe la experiencia. Para productos que cambian con frecuencia, las auditorías de accesibilidad periódicas evitan que esa cobertura se desvíe entre versiones.
Dónde encajan las pruebas de lectores de pantalla en tu programa
Las pruebas de lectores de pantalla son una disciplina dentro de una práctica más amplia. Se combinan de forma natural con las pruebas solo con teclado y con las herramientas web adaptativas de las que dependen tus usuarios, y producen el tipo de evidencia que respalda las obligaciones legales bajo la EAA, la ADA y la Section 508. Los hallazgos también alimentan directamente la documentación: nuestro equipo traduce los resultados lector por lector en informes VPAT y en los planes de remediación priorizados que entregamos a través de la consultoría de accesibilidad. Si estás construyendo un programa a largo plazo en lugar de una comprobación puntual, esa integración es lo que evita que la accesibilidad retroceda.
Conclusión
Los lectores de pantalla no son intercambiables, y un informe automático limpio no es un producto utilizable. NVDA, JAWS, VoiceOver y TalkBack interpretan tu marcado de forma diferente, se combinan con navegadores distintos y revelan defectos distintos, así que probar en las combinaciones reales que usa tu audiencia es la única manera de tener confianza. Estructura tus pruebas en torno a los anuncios, los roles y estados, el foco, el orden de lectura, las regiones en vivo y los widgets personalizados; prefiere la semántica nativa a los parches de ARIA; ignora las superposiciones; y, siempre que sea posible, deja que las personas que usan estas herramientas a diario te digan qué funciona de verdad.
Cuando quieras que esa confianza la verifiquen especialistas, la evaluación con lectores de pantalla de QualiBooth prueba en todos los lectores principales y devuelve los hallazgos con correcciones de marcado exactas. También puedes empezar con un escaneo gratuito o solicitar una demo para ver dónde se encuentra hoy tu interfaz.
Preguntas frecuentes
¿Cuántos lectores de pantalla necesito probar realmente?
Como mínimo, prueba NVDA, JAWS y VoiceOver en escritorio, más VoiceOver en iOS y TalkBack en Android si ofreces una experiencia móvil. Probar menos deja puntos ciegos porque los lectores divergen en cómo manejan ARIA y el contenido dinámico.
¿Pueden las herramientas automáticas sustituir las pruebas de lectores de pantalla?
No. Las herramientas automáticas detectan de forma fiable solo una parte de los problemas —texto alternativo faltante, algunos problemas de contraste, ciertos errores estructurales—, pero no pueden juzgar si un anuncio es claro, si el foco se mueve con sentido o si una tarea es realmente completable solo de oído. Eso requiere un lector real y, idealmente, un usuario real.
¿Los widgets de superposición o de “accesibilidad con IA” eliminan la necesidad de pruebas?
No. Las superposiciones no producen una experiencia fiable con lectores de pantalla y con frecuencia introducen nuevos problemas. La solución duradera es un marcado accesible confirmado mediante pruebas reales con lectores, que es lo que ofrece nuestro servicio de evaluación con lectores de pantalla.
¿Qué criterios de WCAG cubren las pruebas de lectores de pantalla?
Respaldan directamente, entre otros, el 1.3.1 (Información y relaciones), el 2.4.3 (Orden del foco), el 4.1.2 (Nombre, función, valor) y el 4.1.3 (Mensajes de estado). Cada hallazgo de una evaluación estructurada puede asignarse al criterio de éxito de WCAG 2.2 correspondiente.
¿No sabes cómo suena tu producto en un lector de pantalla real?