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.

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.