Navegación rápida con voiceOver para MacOS X

El lector de pantallas para MacOS X, conocido como voiceOver, permite realizar la mayoría de funciones utilizando las teclas del cursor junto con alguna combinación de teclas como la pulsación de las teclas Control y ALT, conocida como pulsación VO. Esto permite navegar y activar muchas de las funcionalidades de exploración pero el tener que estar continuamente pulsando las teclas control y ALT puede resultar pesado. Apple suele buscar la mejor experiencia de usuario posible en sus productos y esto no iba a ser diferente para voiceOver.

VoiceOver, en sus versiones más recientes, incluye un nuevo método de funcionamiento denominado modo de navegación rápida. Con este modo activo podemos explorar una ventana de una aplicación sin necesidad de utilizar otras teclas que no sean las flechas del cursor.

Para activar o desactivar el modo de navegación rápida debemos pulsar las flechas de izquierda y derecha a la vez. VoiceOver nos notificará si el modo de navegación rápida se ha activado o desactivado. Una vez hayamos activado el modo de navegación rápida podremos usar una serie de combinaciones de teclas generadas con las flechas del cursor para realizar algunas tareas de exploración.

Con el modo de navegación activo podremos explorar una ventana simplemente pulsando la tecla de flecha izquierda o derecha, de esta forma recorreremos cada control o elemento de la ventana.

También podremos interactuar o dejar de interactuar con un elemento sin necesidad de pulsar VO+Mayúsculas+Flecha arriba o abajo. Para interactuar con un elemento simplemente pulsaremos a la vez la flecha abajo y la flecha derecha. Para dejar de interactuar con un elemento pulsaremos a la vez la flecha abajo y la flecha izquierda.

El rotor de voiceOver para MacOS X nos permite navegar por un tipo de elemento de forma rápida. Algo muy util, por ejemplo, en una página web. El rotor puede resultar algo complejo de utilizar de la forma habitual. Con el modo de navegación rápida de voiceOver su funcionamiento se simplifica notablemente.
Para elegir uno de los elementos de salto del rotor simplemente pulsaremos las flechas arriba e izquierda a la vez o las flechas arriba y derecha. Con esto seleccionaremos el elemento anterior o siguiente del rotor. Con esto, en una página web, podremos saltar entre enlaces, cabeceras, controles de formulario, palabras, caracteres, etc. Una vez seleccionado el elemento de salto simplemente deberemos usar las teclas de flecha arriba para saltar al elemento anterior o flecha abajo para saltar al elemento siguiente.

Con las funciones del rotor y las flechas de izquierda y derecha para navegar al elemento anterior y siguiente leer una página web se simplifica notablemente.

Si queremos utilizar los cursores de la forma habitual para, por ejemplo, editar un texto simplemente deberemos desactivar el modo de navegación rápida de voiceOver pulsando las flechas izquierda y derecha a la vez.

Activación rápida de los productos de apoyo en iOS

En iOS, el sistema operativo de Apple para sus dispositivos móviles, se incluyen varios productos de apoyo para ayudar a diversos perfiles con discapacidad a la hora de acceder a los contenidos y funcionalidades del dispositivo.

En otras plataformas de dispositivos móviles la activación o desactivación del producto de apoyo suele consistir en la ejecución de un programa instalado en el propio dispositivo, este método suele resultar inaccesible para los usuarios ya que se enfrenta a un problema muy simple: ¿cómo va a encontrar el programa de activación del producto de apoyo un usuario con discapacidad que necesite dicho producto de apoyo para manejar el dispositivo? La solución en estos casos pasa por dejar activado siempre el producto de apoyo. Esto hace que el teléfono resulte inaccesible para las personas que no sepan manejar ese producto de apoyo o no tengan ese perfil de discapacidad. Esto se debe a que, normalmente, el producto de apoyo modifica el comportamiento de teclado y gestos en pantallas táctiles para incorporar las funciones de navegación y exploración del producto de apoyo para que el usuario con discapacidad pueda utilizar el dispositivo de forma cómoda para su perfil de discapacidad. El producto de apoyo se convierte en inaccesible para las personas sin discapacidad u otros perfiles de discapacidad impidiendo que se pueda compartir el dispositivo entre otras personas.

Apple ha pensado en este problema y ha incluido un método de activación/desactivación rápida de los productos de apoyo incluidos en el sistema. De esta forma una familia puede utilizar un iPad u otro dispositivo sin preocuparse de que el miembro de la familia que tiene discapacidad se quede sin su producto de apoyo.

Triple pulsación del botón inicio

Los dispositivos móviles táctiles de Apple incluyen, bajo la pantalla normalmente, un pequeño botón circular denominado Home o inicio. Este botón se utiliza para salir de las aplicaciones, acceder a las aplicaciones abiertas en segundo plano y otras funciones. A este botón podemos añadirle una nueva funcionalidad asociada al gesto de pulsarlo tres veces. Esta nueva funcionalidad nos permitirá activar o desactivar un producto de apoyo de iOS de forma rápida e incluso acceder a un menú de selección para activar uno de los productos de apoyo del sistema.

Para activar este gesto de tres pulsaciones en el botón de inicio debemos ir a Ajustes / general / accesibilidad. Allí encontraremos una opción llamada click triple en inicio. Entraremos en esta opción y nos aparecerá un menú de selección para activar/desactivar rápidamente el producto de apoyo deseado. Por ejemplo, los usuarios ciegos deberían seleccionar VoiceOver, de esta forma podrán activar/desactivar rápidamente el lector de pantallas.

Entre las opciones disponibles para el triple inicio encontramos una denominada preguntar, esta opción lo que hace es que cuando pulsemos el botón inicio tres veces salga un cuadro de diálogo que nos permite activar/desactivar rápidamente uno de los productos de apoyo. Esta opción es ideal para los desarrolladores de software de iOS que quieran verificar el nivel de accesibilidad de sus productos utilizando las herramientas de accesibilidad proporcionadas por Apple

Convertidores de texto a voz

Las personas ciegas, desde hace unas décadas, han tomado el hábito de leer utilizando grabaciones de los textos de su interés. Para ello se han utilizado multitud de formatos mediante cintas magnetofónicas, las clásicas cassettes hasta llegar a la última tecnología de sonido digital utilizando CDs en formato Daisy.

El problema de leer un texto mediante una grabación de voz era que había que esperar a que un locutor, fuese de una organización de ciegos, una persona voluntaria o una colaboración con una institución, grabase el libro en audio y se editase para su correcta lectura. Esto provocaba que un ciego debiese esperar, al menos, 12 meses desde la aparición de un libro hasta la posibilidad, no asegurada, de leerlo en cinta.

En los últimos años la tecnología ha permitido la aparición de una alternativa más que fantástica, la utilización de la síntesis de voz digital, propia de equipos informáticos, para convertir textos digitales a grabaciones sonoras.

Al principio las voces eran demasiado metálicas y monótonas, por lo que este tipo de software era utilizado por personas que realmente lo necesitasen. En la actualidad la calidad de las voces ha mejorado tanto que es utilizado por multitud de personas y servicios de atención y comunicación sonora. Es un claro ejemplo de tecnología de uso exclusivo de personas con discapacidad que se ve empujada por el creciente interés de todos los públicos por su gran utilidad.

Las voces digitales dependen de un motor de síntesis de voz, capáz de comunicarse con la tarjeta de sonido del equipo informático para reproducir los diversos sonidos encadenados que formarán las frases habladas. Además, este motor de voz tendrá encuenta reglas lingüísticas y de entonación. Pero el motor de voz necesita de unos patrones sonoros o de pequeñas grabaciones de pronunciación que permitan definir el tono, el acento y la sonoridad final que tendrá la grabación, a este conjunto de datos se le conoce como una voz para un motor de síntesis.

En los sistemas operativos pertenecientes a la familia Microsoft Windows existen unas librerías para poder utilizar diversos motores de voz de forma sencilla para aumentar la compatibilidad entre software. Estas librerías son conocidas como SAPI (Speech Application Program Interface).

Puedes obtener el motor de síntesis de voz SAPI 5.1 de la página de descarga de SAPI 5.1 aunque en las versiones actuales de Microsoft Windows, más concretamente a partir de la versión de Windows XP, SAPI 5 ya viene incluida en el sistema.

En idioma castellano hay multitud de voces gratuítas para el formato SAPI 4. Para Microsoft Windows XP/2003/Vista (últimas versiones de este sistema operativo) se utiliza, de serie, el formato SAPI 5.1. Hay pocas voces gratuítas para este formato aunque podemos utilizar la voz de Isabel para SAPI 5.1. Hay compañías, como Loquendo o Nuance, que se dedican a crear voces de calidad para terminales de atención al cliente, puntos de venta automatizados o sistemas de megafonía para estaciones de transporte y aeropuertos.

En los equipos con MacOS X, el sistema operativo de Apple para sus equipos portátiles y de sobremesa, existe integrado en el sistema un motor de voz genérico que puede ser utilizado por diversos programas y servicios del sistema. Actualmente se incluyen varias voces con diversos acentos y efectos sonoros aunque el problema es que todas las voces están en inglés. Se pueden adquirir voces para otros idiomas.

En GNU-Linux tenemos varios motores o librerías de síntesis de voz como Festival, Mbrola o una versión para GNU-Linux de Eloquence. Todos estos motores de voz se utilizan en el sistema a través de un interfazque comunique las aplicaciones del sistema con el motor de voz, un ejemplo de este tipo de interfaz es Gnome-speech.

En un equipo informático con un motor de síntesis de voz instalado, con sus correspondientes voces, podemos utilizar algunos programas especializados en convertir textos digitales a ficheros de audio. Son los programas conocidos como conversores de texto a voz. Estos programas nos permiten convertir largos textos en formato Word, TXT, RTF o PDF en un conjunto de ficheros de sonido en formato MP3 que podemos escuchar con nuestro reproductor portatil de música mientras caminamos o utilizamos el transporte público.

Una opción sencilla y gratuíta es el programa DSpeech, que funciona tanto con SAPI 4.0 y SAPI 5.1 permitiendo convertir textos a formato WAV o MP3. Puedes obtener DSpeech en castellano y valenciano de la web de Tifloinforma. Su instalación es muy sencilla ya que sólo debes descomprimir el fichero comprimido en la carpeta donde quieras guardar DSpeech y ejecutar el archivo .EXE que hay en su interior.

Para MacOS X existe el programa Ghost reader. Este programa nos permite convertir cualquier documento de texto que pueda abrir la vista previa en un fichero mp3 o m4b utilizando las voces del sistema o unas voces compatibles con este programa e incluir el resultado de la conversión directamente en nuestra librería de iTunes para poder leer el documento en nuestro iPod, iPhone o dispositivo móvil de Apple.

Touch type, teclado virtual accesible para ciegos en Android

Una de las limitaciones más importantes que existen en Android, en cuanto a accesibilidad del sistema para usuarios ciegos, es la imposibilidad de utilizar el teclado virtual en pantalla debido a las limitaciones de exploración de los elementos en pantalla a través de la pantalla táctil. Con Talkback o spiel, los dos lectores de pantallas compatibles, actualmente, con Android no se puede explorar la pantalla tocando con los dedos ya que el usuario, cuando coloca un dedo en la pantalla, activa el elemento y después de la activación la síntesis de voz verbaliza qué se ha activado. Esto provoca que el intentar escribir utilizando el teclado en pantalla sea una operación bastante compleja.

La solución ofrecida por el equipo de desarrollo de accesibilidad de Google y el proyecto Eye-free es un tanto ridícula. Oficialmente dicen que se utilice un teléfono con teclado físico o se conecte un teclado externo vía Bluetooth para poder escribir cualquier cosa. Esta solución va en contra del mercado, en el cual cada vez aparecen más teléfonos con sólo pantalla y sin botones. El conectar un teclado externo Bluetooth implica introducir una clave numérica en el terminal para emparejar los dispositivos, ¿pero, si no podemos teclear cómo introduciremos la clave de emparejamiento?

La comunidad de usuarios y desarrolladores de Android no tiene porqué conformarse con las decisiones de Google para Android. Un ejemplo de esto es el proyecto Touch type, desarrollado por un grupo de desarrollo independiente de Google.

Teclado virtual a semejanza de iPhone

Touch type es un programa para Android que permite sustituir el teclado habitual en Android por otro teclado con la particularidad de ser compatible con la síntesis de voz y accesible en la gestión de gestos en la pantalla.

El método de escritura es muy similar a uno de los métodos que ya se utilizan en el iPhone o en el iPad. Se debe arrastrar el dedo por la parte baja de la pantalla, cada vez que el dedo se coloque sobre una letra, esta será verbalizada. Si dejamos de tocar la pantalla, la letra será introducida en el campo de texto.

Para saber más sobre Touch type puedes visitar la página oficial del proyecto Touch type para Android

Esperanzas en un Android accesible para ciegos

Actualmente el proyecto Touch type está en versión beta, por lo que su funcionamiento no es del todo fiable, pero los resultados obtenidos en esta versión inicial hacen que se tengan esperanzas en tener un Android accesible para ciegos a medio plazo.

Lo que queda por hacer en accesibilidad de Android

Tras obtener una solución para el teclado virtual en Android, sólo falta que los lectores de pantallas se puedan utilizar a través de gestos en la pantalla en lugar de utilizar trackballs, cursores o touchpads, así como algunos botones de navegación. Además se debe conseguir una mayor integración de las librerías de accesibilidad para las aplicaciones disponibles en el Market de Android. Con esto podríamos decir que Android será un duro competidor de iOs en cuanto a la accesibilidad para usuarios ciegos.

En cuanto a otros perfiles de discapacidad decir que Google sigue distraída sin prestar oídos a las necesidades de otros perfiles de discapacidad.

Lectores de pantalla

Un lector o revisor de pantallas es una herramienta de asistencia para discapacitados visuales grabes o totales cuya principal función es transmitir al usuario la información que se visualiza por pantalla.

Dentro de los interfaces de texto (como serían la consola de Windows, MSDOS o el Bash de Linux) las funciones del lector de pantalla son simples. Sólo tiene que poder leer cada una de las diversas líneas de texto que aparecen en la consola y transmitirlas al usuario. Otras funciones asociadas para este tipo de lectores son las posibilidades de revisar línea a línea la pantalla, verbalizar los cambios sufridos en la pantalla o crear cuadros de detección para prestar mayor atención a zonas específicas de la pantalla.

El tener un interfaz visual basado en texto y con una estructura de distribución de la información simple, como es el caso de las consolas de texto, simplifica mucho la tarea del lector de pantallas. El problema aparece cuando el interfaz consiste en elementos visuales como iconos, cuadros de texto, ventanas, barras de desplazamiento y demás controles visuales utilizados por la mayoría de interfaces gráficos de usuario comunes en Windows, GNome, KDE y MacOS X.
En este caso el lector de pantallas tiene que realizar una interpretación previa de lo que existe y se ve en la pantalla para transmitirlo al usuario.

Esta interpretación del contenido visual se hace siguiendo un protocolo y conjunto de reglas denominado off screen model.

Dependiendo del tipo de Off screen model el lector de pantallas permitirá una exploración focal (siguiendo al foco del tabulador), exploración línea a línea (como el cursor de JAWS o un lector de pantallas para consola), exploración posicional (como hace voiceOver), o exploración gerarquica utilizando el árbol de objetos (como hace NVDA y tiflowin).
También influirá a la hora de transmitir cierta información como la fuente y color del texto de un control visual, el tamaño del control, el estado del control (activo, visible, oculto, etc) o las caracteristicas de accesibilidad o información alternativa del control (tooltips, globos de texto, etiquetas descriptivas, etc).

Hay que prestar atención en la diferencia que hay entre «lo que existe en la pantalla» y «lo que se ve en la pantalla» ya que el uso de ventanas solapables en los interfaces gráficos puede provocar que el usuario sin discapacidad visual no vea lo que hay detrás de una ventana aunque siga existiendo en el interfaz. El lector de pantallas debe detectar si el control o elemento del interfaz está visible para notificarle el estado al usuario ciego. El lector de pantallas puede controlar la información visual consultando al sistema operativo sobre el árbol de objetos visuales o parasitando el controlador de video, siendo la primera opción la menos intrusiva ya que no se requiere de la instalación de ningún driver o parche de control de video.
El árbol de objetos visuales es una representación abstracta de lo que hay en un interfaz gráfico de usuario. Es utilizado por el sistema operativo para estructurar los diversos elementos de un interfaz gráfico y actualizar el estado y gestionar los eventos. En el árbol de objetos podemos tener la rama inicial en el escritorio y de ella nacen varias ramas hijas representando a las ventanas de las aplicaciones abiertas que tengamos en ese momento, de una de esas ramas pueden colgar subramas para representar subventanas, botones, barras de menú, etc presentando una vista gerarquizada de los elementos del interfaz.

El lector de pantallas también debe estar pendiente del dispositivo de entrada, sea este un teclado, una pantalla táctil o una botonera. El usuario ciego deberá utilizar el dispositivo de entrada para explorar el interfaz gráfico e interactuar con él. Por esta razón el lector de pantallas deberá modificar el comportamiento del dispositivo de entrada para incluir ciertas combinaciones de teclas, gestos o movimientos determinados para realizar las funciones de exploración en el interfaz(leer una ventana o cuadro de texto, moverse al elemento anterior o siguiente del interfaz, activar un elemento del interfaz, etc).

El lector de pantallas debe transmitir el resultado de la interpretación del interfaz al usuario con discapacidad visual utiizando un canal accesible para él, como puede ser voz sintética, eventos de sonido o salida por un dispositivo de lectura braille.

En resumen, un lector de pantallas se compone de los siguientes elementos:

  • Módulo de control del interfaz gráfico
  • Módulo de control del dispositivo de entrada
  • Módulo de salida de información
  • Off screen model

Dentro del catálogo de operaciones que un usuario puede pedir a un lector de pantallas están: Leer caracter, palabra, línea anterior, actual o siguiente; consultar tipo, tamaño y color de fuente, leer título y última línea de la ventana, repetir lo último verbalizado, etc.

Algunos ejemplos de lectores de pantalla son: NVDA, Window eyes, JAWS, Dolphin HAL, Thunder, voiceOver, Orca, Mobile speak, Talks, out spoken, virgo, tiflowin, lector98, habla, parla, etc.

Convivencia de MacOS X y Windows dentro del hardware de Apple

Muchos usuarios que quieren dar el salto al sistema operativo de Apple tienen miedo del periodo de adaptación. Aunque MacOS X sea muy intuitivo es cierto que requiere de un periodo de adaptación, sobre todo si el usuario tiene que acostumbrarse a un nuevo producto de apoyo. Una de las posibles soluciones, para hacer que la experiencia del switcher (denominación que se da a la persona que cambia a otro sistema operativo) no sea tan traumática es utilizar 2 sistemas operativos en la misma máquina.

Boot camp

MacOS X, en sus últimas versiones, incluye una utilidad para estos usuarios que vienen de Windows pero quieren saltar a MacOS X manteniendo el uso de Windows. Esta utilidad se llama Boot camp y permite, desde MacOS X, crear una partición en el disco duro y comenzar el proceso de instalación de windows. Todo el proceso de creación y gestión de Boot camp es accesible pero cuando comience el proceso de instalación de Windows, al reiniciar la máquina, sólo dispondremos de la accesibilidad que proporcione Windows en su proceso de instalación, lo que es muy poca o nula accesibilidad.

Al utilizar Boot camp, en Windows, deberemos instalar una serie de drivers y aplicaciones que nos permitirá aprovechar más el hardware de Apple sobre Windows. Además, nos permitirá seleccionar con qué partición arrancaremos la próxima vez que encendamos el equipo. Con esta característica un usuario ciego puede decidir si arrancar Windows o MacOS X sin necesidad de acceder a Grub, Lilo o cualquier otro gestor de arranque.

Virtualización

Con la solución de Boot camp deberemos reiniciar el equipo cada vez que queramos cambiar de sistema operativo. Esta solución puede ser apropiada para aquellos usuarios que pasen largas sesiones en un sólo sistema operativo. Para los usuarios que trabajen en MacOS X y quieran, muy puntualmente, acceder a Windows para utilizar una aplicación concreta la mejor solución pasa por virtualizar.

La virtualización de un sistema operativo consiste en utilizar una aplicación de virtualización (cliente) que permita ejecutar otro sistema operativo como si fuese un programa.

Para MacOS X hay varias soluciones de virtualización: VMWare, Parallels, VirtualBox, etc. Cada una tiene sus ventajas y defectos.

La principal diferencia entre ejecutar un sistema operativo de forma nativa, como se haría con Boot camp en el caso de Windows, es que todos los recursos de hardware están disponibles para el sistema operativo. En el caso de una ejecución virtualizada, si ejecutasemos un Windows virtualizado, sólo podríamos acceder a los recursos que el cliente de virtualización nos permita. Esto se debe, principalmente, a que los recursos de la máquina deben repartirse entre los dos sistemas operativos que se están ejecutando: el sistema operativo base o anfitrión, que ejecuta el cliente de virtualización, y el sistema operativo virtualizado.

Algunas ventajas de la virtualización es la posibilidad de almacenar instalaciones completas de un sistema operativo en discos externos. De esta forma, si nuestro Windows comienza a ir más lento o se detectan problemas de ejecución que nos hacen pensar en que tenemos que reinstalar, podemos ir a la carpeta donde nuestro cliente de virtualización guarda sus máquinas virtuales (que es como se conoce a una instalación de un sistema operativo virtualizado) y sustituir el Windows corrupto por nuestra copia de seguridad. Todo el proceso de reinstalación de Windows, más de 45 minutos, se reducen a un par de minutos. Incluso algunos clientes de virtualización permiten copiar o descargar instalaciones ya creadas.

Problemas de accesibilidad y virtualización

La ejecución virtualizada de un sistema operativo puede crear conflictos con algunos productos de apoyo. Por ejemplo, se conoce el problema que existe con VMWare, uno de los clientes de virtualización más utilizados, y la tecla de bloqueo de mayusculas, utilizada por varios lectores de pantalla como tecla de función. Además, el teclado de MacOS X no posee la tecla Insert, tecla también utilizada por varios productos de apoyo. La solución pasa por remapear la función de una de las teclas duplicadas del teclado (comando, mayúsculas, etc) y asignarle a dicha tecla la función de tecla Insert.

Un problema que afecta tanto a sistemas operativos virtualizados como nativos es la poca tolerancia del driver de vídeo de Jaws a drivers gráficos un tanto especiales. En el caso de una instalación nativa, una vez hayamos instalado los drivers de Boot camp, no encontraremos problemas. En el caso de una instalación de windows virtualizada, deberemos evitar el modificar el tamaño de la ventana del cliente de virtualización. Se recomienda utilizar Windows virtualizado a pantalla completa. Además, deberemos instalar los drivers para Windows del software de virtualización que estemos utilizando.

Conclusiones

Con estas posibilidades de ejecutar Windows y MacOS X el camino del switcher se hace más cómodo. Sólo debemos decidir si queremos 2 instalaciones nativas, para largos periodos de uso de una de ellas; o instalación nativa de MacOS X y virtualizada de Windows, por lo que Windows irá un poco más lento pero podremos saltar de un sistema operativo a otro de forma muy rápida.