VoiceOver y Zoom combinados en iOS6

Con la publicación de iOS6 para muchos de los dispositivos de Apple se han mejorado muchas de las características de accesibilidad que ya había en esta plataforma. Una de estas mejoras es la posibilidad de utilizar dos o más productos de apoyo simultáneos. Por ejemplo, ahora se puede utilizar Zoom y VoiceOver simultáneamente o, incluso, VoiceOver junto a Zoom y el modo de alto contraste.

Esto beneficia a todos los usuarios con discapacidad visual parcial que, aunque utilizan Zoom, el magnificador de pantallas integrado en iOS, necesitan además un lector de pantallas como VoiceOver.

Activación y personalización

La activación de los productos de apoyo sigue realizándose en el mismo lugar de siempre: Ajustes, general, accesibilidad.

En versiones anteriores de iOS si intentábamos activar Zoom con VoiceOver activado, o viceversa, obteníamos un mensaje de aviso indicando que uno de los dos sería desactivado. Ahora, en la versión 6 de iOS, se activarán sin problemas.

Triple click en inicio

Una de las mejoras en accesibilidad más aclamadas de iOS es la posibilidad de activar y desactivar un producto de apoyo pulsando 3 veces consecutivas el botón de inicio del dispositivo. En versiones anteriores de iOS existía una posibilidad para que apareciese una ventana de selección que nos permitía elegir qué producto de apoyo activar. Esta opción ha desaparecido pero, a cambio, cuando configuremos el comportamiento del triple click en inicio dentro de ajustes, general, accesibilidad podremos marcar más de una opción. Por ejemplo, un usuario con un perfil de discapacidad visual muy concreto podrá activar VoiceOver, Zoom e invertir colores. De esta forma se cambiará totalmente el aspecto visual del dispositivo iOS para satisfacer las necesidades del usuario.

Cambios en los gestos de VoiceOver y Zoom

Tanto VoiceOver como Zoom poseen una serie de gestos sobre la pantalla táctil para su control por parte del usuario. Algunos de estos gestos coinciden por lo que existía un conflicto a la hora de utilizar ambos a la vez. Este hecho fue uno de los motivos para no incorporar esta posibilidad de convivencia de productos de apoyo en versiones anteriores de iOS.

La solución es muy sencilla: cuando activemos VoiceOver y Zoom permanecen igual todos los gestos de VoiceOver excepto aquellos propios de Zoom. Los gestos de Zoom seguirán siendo los mismos que había antes.

¿Y qué sucede con los gestos de VoiceOver que son conflictivos? Para empezar debemos conocer qué gestos son conflictivos: por ejemplo, tanto Zoom como VoiceOver tienen un gesto que consiste en pulsar la pantalla dos veces con tres dedos. Este gesto permanece para la funcionalidad de Zoom (activar el Zoom) pero en VoiceOver este gesto servía para activar y desactivar el habla. Ahora, si tenemos VoiceOver y Zoom activados, para activar y desactivar el habla deberemos hacer una triple pulsación con tres dedos sobre la pantalla. Pero este gesto ya se utilizaba en VoiceOver para apagar la pantalla. Pues el nuevo gesto para apagar la pantalla consistirá, en estas condiciones de convivencia con Zoom, en pulsar cuatro veces con tres dedos la pantalla.

En resumen, el conflicto de gestos se ha resuelto añadiendo una pulsación más a todo gesto de VoiceOver que coincidía con un gesto de Zoom.

Recordemos que este cambio de gestos sólo se activará si VoiceOver y Zoom son activados de forma simultánea. Si se utilizan de forma individual seguirán con los mismos gestos que en versiones anteriores de iOS.

El centro de notificaciones de iOS 5 con VoiceOver

Una de las más aclamadas novedades de iOS 5, el sistema operativo de Apple para dispositivos móviles, es el centro de notificaciones del sistema. Con este nuevo método de visualización de notificaciones no tendremos el problema de perder notificaciones previas cuando nos lleguen varias de repente.

Se accede al centro de notificaciones, de forma visual, arrastrando desde la barra de estado hacia abajo. Los usuarios de VoiceOver simplemente deben tocar la barra de estado, en la parte superior de la pantalla, en la que encontramos información sobre el estado de la señal, la hora y la batería, y una vez tocada esa zona, hacer un flick con tres dedos de arriba hacia abajo. Esto es un desplazamiento de arriba a abajo tocando con tres dedos en la pantalla haciendo un movimiento de entre 2 y 3 centímetros de distancia.

Una vez abierto el centro de notificaciones los usuarios de VoiceOver podremos cerrarlo haciendo el movimiento contrario, un flick con tres dedos de abajo a arriba, o pulsando el botón de ocultar que encontraremos en la parte baja de la pantalla.

Widgets en el centro de notificaciones

Actualmente podremos encontrar dos widgets en el centro de comunicaciones. Uno es la información del clima y el otro es la información bursátil. Algunos usuarios no querrán encontrar esta información en el centro de notificaciones. Para controlar qué se muestra en el centro de notificaciones, así como personalizar que algunas aplicaciones que provocan notificaciones lo hagan de una forma distinta, debemos ir a los ajustes del teléfono y buscar el elemento Notificaciones. Allí encontraremos un listado de todas las aplicaciones que provocan notificaciones, entre ellas la información de la bolsa y la información del tiempo.

Introducción a VoiceOver para iOS

Con motivo del traslado de mi viejo blog de programar a ciegas a este nuevo y las continuas novedades en accesibilidad de iOS, el sistema operativo de Apple para dispositivos móviles, he decidido retomar la serie de artículos sobre cómo utilizar VoiceOver en un iPhone, iPad o iPod touch.

Sirva este artículo como introducción para esta nueva serie en este blog.

Activando voiceOver

Actualmente, por defecto, voiceOver viene desactivado. Puede ser activado gracias a un usuario no ciego entrando en Ajustes/general/accesibilidad/voiceOver. Apple ha añadido un método para activar VoiceOver de forma remota, para hacer esto es necesario enchufar el iPhone a un ordenador con iTunes 8.2 o superior y desde allí activar las características de accesibilidad del teléfono de forma remota.

Apple, en la versión 5 de iOS, el sistema operativo para dispositivos móviles de esta empresa, ha asignado por defecto a la función triple inicio la opción de VoiceOver. Esto implica que, cualquier nuevo usuario de iPhone puede sacar su dispositivo de la caja, encenderlo y pulsar 3 veces consecutivas el botón físico de la parte frontal del dispositivo, que se denomina botón de inicio, y VoiceOver se activará hablando en el idioma apropiado.

Navegando por el interfaz con voiceOver

Con voiceOver activado muchos de los gestos propios de iPhone se modifican o desactivan para que no aparezcan conflictos de funcionamiento con voiceOver. Gestos
como el zoom, el click simple o el deslizamiento relativo no funcionan. pero voiceOver aporta alternativas para estas funciones. Pero estos gestos no son obligatorios para utilizar el iPhone con voiceOver. El lector de pantallas nos permite explorar la pantalla de nuestro teléfono simplemente moviendo el dedo por ella. VoiceOver verbalizará el elemento que esté bajo el ratón y dirá su estado y qué tipo de control es. Este método de navegación es útil para recorrer rápidamente zonas de la pantalla o ir a sitios determinados de ella. Por ejemplo, en un teléfono symbian, si estamos al principio de un menú y queremos ir al último elemento tenemos que recorrer todas las opciones, con voiceOver podemos ir a la esquina inferior derecha con el dedo y voiceOver buscará qué hay ahí.

Pero este no es el único método para navegar por el interfaz del iPhone. Podemos hacer movimientos rápidos deslizando el dedo hacia la derecha o la izquierda haciendo pequeñas caricias en la pantalla (flick) y saltaremos hacia adelante o hacia atrás entre los controles a semejanza de la tecla Tab en Windows, Linux o Mac OSX. De esta forma podemos recorrer todos los controles de una ventana sin tener que buscarlos con el dedo. Moviendo el dedo hacia la derecha avanzamos y hacia la izquierda retrocedemos.

Ambos métodos se pueden aplicar a la hora de utilizar el teclado virtual para escribir textos. Podemos buscar cada letra moviendo el dedo por la pantalla o saltar de atrás a adelante con los gestos de avance o retroceso. Por ejemplo, si estamos en la letra F, si avanzamos pasaremos a la G y así hasta llegar a la L. Si seguimos avanzando pasaremos a la tecla de mayúsculas y luego a la tecla Z. Combinando ambos métodos podemos alcanzar una buena velocidad de tecleo. Por ejemplo, si estamos en la tecla M y queremos escribir una letra E, subimos con el dedo hacia arriba hasta encontrar una letra de la fila qwertyuiop y luego nos movemos a la izquierda hasta la tecla E.

El rotor

El rotor nos permite movernos entre elementos semánticos de forma más rápida. Algunos de estos elementos son caracteres, palabras, encabezados, enlaces visitados, enlaces por visitar, etc. De esta forma podemos saltar entre elementos semánticamente homogéneos de forma rápida. Para hacer estos saltos se utiliza el mismo gesto que para avanzar y retroceder entre controles pero en lugar de izquierda a derecha es de arriba a abajo.

Para seleccionar un elemento semántico hay que usar el denominado rotor. e llama así porque se asemeja a recorrer un círculo de dial para seleccionar un elemento. Para hacer esto debemos poner un dedo donde queramos, preferiblemente en el centro de la pantalla, y sin moverlo debemos hacer un circulo con otro dedo describiendo un círculo. De esta forma buscamos el elemento que deseemos seleccionar. Este gesto se asemeja al que se hace para subir o bajar el volumen en un iPod o moverse por los menús siguiendo una rueda de selección.

Más gestos, más funciones

Existen más gestos asociados a funciones de automatización de lectura, activación/desactivación de la voz, modo de intimidad (apagando la pantalla del iPhone para que nadie vea qué hacemos) y muchas más funciones. Pero lo básico está expuesto en este artículo.

Hola mundo en AppleScript al detalle

Un script de AppleScript es un conjunto de órdenes que siguen una gramática definida por el lenguaje y se ejecuta de forma ordenada empezando por arriba del script y terminando por abajo.

Este lenguaje de programación posee similitudes con otros lenguajes de programación para poder crear scripts más complejos. Podemos crear estructuras repetitivas, ejecutar ciertos comandos dependiendo de condiciones, almacenar y manipular información etc.

Analizando el código fuente

Vamos a analizar paso a paso el código fuente de un script de ejemplo Hola mundo, el cual, hemos visto en otro artículo de este blog. El código es el siguiente:


(*
Ejemplo 1:
Hola Mundo
*)
on run
say "Hola mundo!"
end run

Comentarios en AppleScript

Al principio del script encontramos esta estructura:


(*
Ejemplo 1:
Hola Mundo
*)

Esta es una estructura de comentario, en el código de las aplicaciones, sean scripts o aplicaciones compiladas, se introducen mecanismos para proporcionar comentarios y anotaciones para el programador, de esta forma puede detallar qué hacen ciertas partes del código del programa para refrescar la memoria por si vuelve a esa zona del código pasado un tiempo u otro programador accede al código de la aplicación.

En AppleScript se puede comentar un trozo de código utilizando los operadores (* (abre paréntesis seguido de asterísco) y *) (asterisco seguido de cierra paréntesis). Todo lo que esté entre estos dos operadores será ignorado por el intérprete de AppleScript a la hora de que el script sea ejecutado.

Zonas de ejecución

Siguiendo con el código del ejemplo nos encontramos una estructura que comienza por on run y termina con end run. El comando on nos permite definir un trozo de código que será ejecutado cuando suceda algo específico. En nuestro caso, la sentencia on espera al evento run que tiene lugar nada más comienza a interpretarse el script.

El comando end se utiliza para indicar el final de una estructura. Puede ser una estructura on, una estructura condicional, un bucle, etc. Veremos más ejemplos más adelante.

Haciendo hablar a nuestro script

Por último, sólo nos queda la sentencia say "Hola mundo!" Esta sentencia se compone del comando say y una cadena de texto, encerrada entre comillas («»).

El comando say verbalizará lo que haya a su derecha utilizando la voz del sistema. Puede modificarse su comportamiento pero esto lo veremos más adelante.

Complicando el ejemplo

El ejemplo anterior es muy simple ya que utiliza la configuración por defecto del sistema. El utilizar el comando say puede crear conflictos con otros métodos de verbalización de información. Por ejemplo, VoiceOver, el lector de pantallas de Mac OSX utilizados por los usuarios ciegos, puede sufrir problemas de tartamudeo o colapso en la voz si se usan demasiadas sentencias say consecutivas. Una forma de solucionar esto es hacer que la propia aplicación VoiceOver sea la que hable en lugar de que hable el sistema. Además, esto permitirá que se use la voz personalizada por el usuario de VoiceOver en lugar de la personalización del sistema. Para hacer esto debemos saber si el usuario está ejecutando VoiceOver y, si es así, usar las funciones de VoiceOver, si no es así deberemos seguir utilizando el comando say ya que no hay peligro de conflictos con los servicios de síntesis de voz.

El código de nuestro script sería el siguiente:


(*
Ejemplo 2:
Hola Mundo con VoiceOver
*)
on run
say "Hola mundo"
tell application "VoiceOver"
output " desde VoiceOver!"
end tell
end run

Al ejecutar el script escucharemos, con la voz del sistema, el texto Hola mundo y, los usuarios que tengan VoiceOver activado además escucharán el texto desde VoiceOver con la voz que tengan configurada en su lector de pantallas.

Si comparamos los dos scripts veremos que lo nuevo se concentra en el siguiente trozo de código:


tell application "VoiceOver"
output " desde VoiceOver!"
end tell

El comando tell hace que nuestro script se comunique con una aplicación para utilizar sus funciones. En nuestro caso se comunica con la aplicación VoiceOver. Una vez comunicados con VoiceOver podemos utilizar varios comandos AppleScript que VoiceOver nos proporciona, entre ellos, tenemos el comando output que nos permite utilizar los canales de salida de VoiceOver, los cuales pueden ser la voz sintética, la línea braille conectada al equipo y el sistema de subtítulos de VoiceOver.

A algunos usuarios de VoiceOver no les funcionará el anterior script debido a que tienen desactivado el soporte de script de VoiceOver por lo que al solicitar desde un script de AppleScript que VoiceOver nos ceda el control, se devolverá un mensaje de error. En un próximo artículo veremos cómo solucionar esto.

Gestión de voces en iOS para VoiceOver

El sistema operativo de Apple para dispositivos móviles, más conocido como iOS, incorpora voces para varios idiomas. Estas voces son utilizadas por voiceOver para la lectura de información en estos dispositivos.

VoiceOver, en las últimas versiones de iOS, ha incorporado un nuevo elemento en el rotor para controlar la voz que se va a utilizar. En este item podemos ir seleccionando las diversas voces activas para VoiceOver simplemente haciendo el gesto de flick arriba o flick abajo cuando seleccionemos el item idioma en el rotor. Estas voces pueden ser reordenadas y activadas dentro de los ajustes de voiceOver situados en Ajustes, general, accesibilidad, VoiceOver.

Una vez seleccionadas las voces que VoiceOver podrá utilizar, el item de idioma aparecerá en el rotor. Entre los diversos idiomas disponibles en la lista encontramos uno denominado por defecto o idioma por omisión, dependiendo de la versión de iOS del dispositivo. Si dejamos seleccionada esta opción, VoiceOver utilizará la voz más apropiada para el país que se haya configurado en el dispositivo pero, cuando encuentre un texto en otro idioma y esté marcado como tal, VoiceOver usará la voz más apropiada para ese idioma. Esto nos permite leer páginas webs o aplicaciones en otros idiomas utilizando voces en inglés, francés o el idioma más apropiado. Hay usuarios que no desean cambiar su selección de voz bajo ningún concepto. Para ello los usuarios deben seleccionar en el rotor la voz que prefieran y nunca dejar seleccionada la opción de idioma por omisión.

Leer documentos PDF con VoiceOver para MacOS X

En MacOS X, el sistema operativo de Apple para equipos informáticos, se incluye una aplicación para la visualización de documentos en diversos formatos. Esta aplicación es conocida como Vista previa.

Vista previa permite la lectura de documentos en formato PDF a los usuarios ciegos utilizando VoiceOver, el lector de pantallas incluido en MacOS X. Se debe utilizar esta aplicación debido a que Adobe no ha creado su programa Adobe Acrobat reader siguiendo las pautas de accesibilidad para MacOS X.

Con Vista previa se puede leer un documento en formato PDF con VoiceOver aunque perderemos algo de información semántica, como encabezados, listas y gráficos.

Los usuarios de VoiceOver que quieran leer documentos en formato PDF de forma más cómoda deben configurar el programa de vista previa para leer los documentos en una página individual. Para ello debemos ir a la barra de menú, pulsando VO+M. Tras esto debemos desplazarnos a la derecha hasta la opción del menú llamada visualización. Bajaremos hasta la opción Visualización del PDF, aquí encontraremos un submenú. Es aconsejable elegir la opción de una página. Hay que tener cuidado ya que, aparentemente, existen dos opciones de una página, pero la segunda opción indica una página continua. Esta segunda opción no es la correcta.

Tras ajustar estas opciones podremos leer tranquilamente el documento en formato PDF con VoiceOver sin miedo a que el lector de pantallas vuelva al comienzo del documento si saltamos a otra aplicación.

Para saltar a la página anterior o siguiente podemos utilizar las opciones del menú ir, los botones de la barra de herramientas o las teclas de avanze y retroceso de página. En el teclado de un MacBook estas teclas se consiguen pulsando las teclas función+flecha arriba para retroceso de página y función+flecha abajo para avance de página.