Un lector de pantalla es una forma de tecnología de asistencia ( TA ) [1] que reproduce el contenido de texto e imágenes como salida de voz o braille. Los lectores de pantalla son esenciales para las personas ciegas [ 2 ] y son útiles para las personas con discapacidad visual [2] , analfabetas o con discapacidades de aprendizaje [3] . Los lectores de pantalla son aplicaciones de software que intentan transmitir lo que las personas con vista normal ven en una pantalla a sus usuarios a través de medios no visuales, como texto a voz [4] , iconos de sonido [5] o un dispositivo braille [2] . Lo hacen aplicando una amplia variedad de técnicas que incluyen, por ejemplo, interactuar con API de accesibilidad dedicadas, usar varias características del sistema operativo (como la comunicación entre procesos y la consulta de propiedades de la interfaz de usuario ) y emplear técnicas de enganche [6] .
Los sistemas operativos Microsoft Windows han incluido el lector de pantalla Microsoft Narrator desde Windows 2000 , aunque productos separados como el lector de pantalla JAWS y la lupa de pantalla ZoomText disponibles comercialmente de Freedom Scientific y el lector de pantalla gratuito y de código abierto NVDA de NV Access son más populares para ese sistema operativo. [7] macOS , iOS y tvOS de Apple Inc. incluyen VoiceOver como lector de pantalla integrado, mientras que Android de Google proporciona el lector de pantalla Talkback y su ChromeOS puede usar ChromeVox. [8] De manera similar, los dispositivos basados en Android de Amazon proporcionan el lector de pantalla VoiceView. También hay lectores de pantalla gratuitos y de código abierto para Linux y sistemas similares a Unix , como Speakup y Orca .
Alrededor de 1978, Al Overby de IBM Raleigh desarrolló un prototipo de terminal parlante, conocido como SAID (por Synthetic Audio Interface Driver), para el terminal IBM 3270. [9] SAID leía los valores ASCII de la pantalla en una secuencia y los decía a través de un gran sintetizador de pista vocal del tamaño de una maleta, y costaba alrededor de $10,000. [10] El Dr. Jesse Wright, un matemático investigador ciego, y Jim Thatcher , ex estudiante de posgrado de la Universidad de Michigan, que trabajaba como matemáticos para IBM, adaptaron esto como una herramienta interna de IBM para uso de personas ciegas. Después de que se lanzara la primera computadora personal (PC) de IBM en 1981, Thatcher y Wright desarrollaron un software equivalente a SAID, llamado PC-SAID, o Personal Computer Synthetic Audio Interface Driver . Este fue renombrado y lanzado en 1984 como IBM Screen Reader, que se convirtió en el epónimo propietario de esa clase general de tecnología de asistencia. [10]
En los primeros sistemas operativos , como MS-DOS , que empleaban interfaces de línea de comandos ( CLI ), la pantalla consistía en caracteres que se asignaban directamente a un búfer de pantalla en la memoria y a una posición del cursor . La entrada se hacía mediante el teclado. Por lo tanto, toda esta información se podía obtener del sistema ya sea conectando el flujo de información alrededor del sistema y leyendo el búfer de pantalla o utilizando un conector de salida de hardware estándar [11] y comunicando los resultados al usuario.
En la década de 1980, el Centro de Investigación para la Educación de los Discapacitados Visuales ( RCEVH ) de la Universidad de Birmingham desarrolló un lector de pantalla para BBC Micro y NEC Portable. [12] [13]
Con la llegada de las interfaces gráficas de usuario ( GUI ), la situación se complicó. Una GUI tiene caracteres y gráficos dibujados en la pantalla en posiciones específicas y, por lo tanto, no hay una representación puramente textual del contenido gráfico de la pantalla. Por lo tanto, los lectores de pantalla se vieron obligados a emplear nuevas técnicas de bajo nivel, recopilando mensajes del sistema operativo y utilizándolos para construir un "modelo fuera de pantalla", una representación de la pantalla en la que se almacena el contenido de texto requerido. [14]
Por ejemplo, el sistema operativo podría enviar mensajes para dibujar un botón de comando y su leyenda. Estos mensajes se interceptan y se utilizan para construir el modelo fuera de pantalla. El usuario puede cambiar entre los controles (como los botones) disponibles en la pantalla y las leyendas y el contenido de los controles se leerán en voz alta y/o se mostrarán en una pantalla braille actualizable .
Los lectores de pantalla también pueden comunicar información sobre menús, controles y otros elementos visuales para permitir que los usuarios ciegos interactúen con estos elementos. Sin embargo, mantener un modelo fuera de la pantalla es un desafío técnico importante; conectar los mensajes de bajo nivel y mantener un modelo preciso son dos tareas difíciles. [ cita requerida ]
Los diseñadores de sistemas operativos y aplicaciones han intentado resolver estos problemas proporcionando formas para que los lectores de pantalla accedan al contenido de la pantalla sin tener que mantener un modelo fuera de pantalla. Esto implica la provisión de representaciones alternativas y accesibles de lo que se muestra en la pantalla a la que se accede a través de una API . Las API existentes incluyen:
Los lectores de pantalla pueden consultar al sistema operativo o la aplicación lo que se está mostrando actualmente y recibir actualizaciones cuando la pantalla cambia. Por ejemplo, se puede indicar a un lector de pantalla que el foco actual está en un botón y el título del botón que se debe comunicar al usuario. Este enfoque es considerablemente más fácil para los desarrolladores de lectores de pantalla, pero falla cuando las aplicaciones no cumplen con la API de accesibilidad : por ejemplo, Microsoft Word no cumple con la API MSAA , por lo que los lectores de pantalla aún deben mantener un modelo fuera de pantalla para Word o encontrar otra forma de acceder a su contenido. [ cita requerida ] Un enfoque es utilizar los mensajes del sistema operativo disponibles y los modelos de objetos de la aplicación para complementar las API de accesibilidad .
Se puede suponer que los lectores de pantalla pueden acceder a todo el contenido de la pantalla que no sea intrínsecamente inaccesible. Los navegadores web, los procesadores de texto, los iconos y las ventanas y los programas de correo electrónico son solo algunas de las aplicaciones que utilizan con éxito los usuarios de lectores de pantalla. Sin embargo, según algunos usuarios, [¿ quiénes? ] utilizar un lector de pantalla es considerablemente más difícil que utilizar una GUI, y muchas aplicaciones tienen problemas específicos que resultan de la naturaleza de la aplicación (por ejemplo, animaciones) o de la falta de cumplimiento de los estándares de accesibilidad para la plataforma (por ejemplo, Microsoft Word y Active Accessibility). [ cita requerida ]
Algunos programas y aplicaciones tienen tecnología de voz incorporada junto con su función principal. Estos programas se denominan "autovoz" y pueden ser una forma de tecnología de asistencia si están diseñados para eliminar la necesidad de usar un lector de pantalla. [ cita requerida ]
Algunos servicios telefónicos permiten a los usuarios interactuar con Internet de forma remota. Por ejemplo, TeleTender puede leer páginas web por teléfono y no requiere programas o dispositivos especiales por parte del usuario. [ cita requerida ]
Los asistentes virtuales a veces pueden leer documentos escritos (contenido web textual, documentos PDF , correos electrónicos, etc.). Los ejemplos más conocidos son Siri de Apple , Google Assistant y Amazon Alexa .
Un desarrollo relativamente nuevo en este campo son las aplicaciones basadas en la web como Spoken-Web, que actúan como portales web y gestionan contenidos como actualizaciones de noticias, el tiempo, artículos científicos y de negocios para usuarios de ordenadores ciegos o con discapacidad visual. [ cita requerida ] Otros ejemplos son ReadSpeaker o BrowseAloud , que añaden la funcionalidad de texto a voz al contenido web. [ cita requerida ] La audiencia principal de estas aplicaciones son aquellas personas que tienen dificultades para leer debido a problemas de aprendizaje o barreras lingüísticas. [ cita requerida ] Aunque la funcionalidad sigue siendo limitada en comparación con las aplicaciones de escritorio equivalentes, el principal beneficio es aumentar la accesibilidad de dichos sitios web cuando se visualizan en máquinas públicas donde los usuarios no tienen permiso para instalar software personalizado, lo que da a las personas una mayor "libertad para moverse". [ cita requerida ]
Esta funcionalidad depende de la calidad del software, pero también de la estructura lógica del texto. El uso de encabezados, puntuación, presencia de atributos alternativos para imágenes, etc. es crucial para una buena vocalización. Además, un sitio web puede tener un aspecto agradable gracias al uso de un posicionamiento bidimensional adecuado con CSS, pero su linealización estándar, por ejemplo, mediante la supresión de cualquier CSS y Javascript en el navegador, puede no ser comprensible. [ cita requerida ]
La mayoría de los lectores de pantalla permiten al usuario seleccionar si se anuncia la mayoría de los signos de puntuación o se ignoran en silencio. Algunos lectores de pantalla se pueden adaptar a una aplicación en particular mediante scripts . Una ventaja de los scripts es que permiten compartir personalizaciones entre usuarios, lo que aumenta la accesibilidad para todos. JAWS disfruta de una comunidad activa de intercambio de scripts, por ejemplo. [ cita requerida ]
La verbosidad es una característica del software de lectura de pantalla que ayuda a los usuarios de computadoras con problemas de visión. Los controles de verbosidad de voz permiten a los usuarios elegir cuánta retroalimentación de voz desean escuchar. Específicamente, los ajustes de verbosidad permiten a los usuarios construir un modelo mental de las páginas web que se muestran en la pantalla de su computadora. En función de los ajustes de verbosidad, un programa de lectura de pantalla informa a los usuarios de ciertos cambios de formato, como cuándo comienza y termina un marco o una tabla, dónde se han insertado gráficos en el texto o cuándo aparece una lista en el documento. Los ajustes de verbosidad también pueden controlar el nivel de descripción de elementos, como listas, tablas y regiones. [18] Por ejemplo, JAWS proporciona niveles preestablecidos de verbosidad web bajo, medio y alto. El nivel de verbosidad web alto proporciona más detalles sobre el contenido de una página web. [19]
Algunos lectores de pantalla pueden leer texto en más de un idioma , siempre que el idioma del material esté codificado en sus metadatos . [20]
Los programas de lectura de pantalla como JAWS , NVDA y VoiceOver también incluyen la función de verbosidad del idioma, que detecta automáticamente los ajustes de verbosidad relacionados con el idioma de salida de voz. Por ejemplo, si un usuario navega a un sitio web ubicado en el Reino Unido, el texto se leerá con acento inglés . [ cita requerida ]