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.

Iniciación a AppleScript

Apple incluye dentro de su sistema operativo para ordenadores de escritorio y portátiles un lenguaje de scripts conocido como AppleScript. Este lenguaje nos permite crear tareas y pequeños programas para automatizar rutinas o mejorar el funcionamiento de algunas aplicaciones.

En la documentación de AppleScript podemos encontrar el siguiente texto descriptivo:

AppleScript es un potente y versátil lenguaje para la creación de scripts que se incluye en Mac OS X. Puede utilizar AppleScript para crear funciones rápidas, automatizar tareas repetitivas o incluso crear aplicaciones personalizadas que le ahorren gran cantidad de tiempo. AppleScript le permite controlar las aplicaciones que admiten el uso de scripts.

Un script de AppleScript consiste en una serie de comandos en inglés que realizan acciones sobre objetos. Ejemplos de acciones: open, close, get the name of (es decir, abrir, cerrar, obtener el nombre de). Los objetos pueden ser, por ejemplo, una aplicación, una ventana o un ajuste de preferencias.

Un script puede controlar una o más aplicaciones. Para que una aplicación permita el uso de scripts, debe definir los términos que se pueden emplear en los scripts. Mac OS X incluye varias aplicaciones que aceptan scripts.

Herramientas para desarrollar en AppleScript

Mac OSX incluye una aplicación para editar, compilar y depurar los scripts que desarrollemos. Esta aplicación se llama Editor AppleScript. En la documentación de la aplicación encontramos la siguiente definición:

Editor AppleScript es una aplicación para crear scripts muy fácil de utilizar que permite leer, escribir, grabar y guardar scripts de AppleScript.

Estas son algunas características de Editor AppleScript:

  • Ofrece una interfaz unificada y fácil de usar
  • Le permite buscar y reemplazar en el texto del script
  • Realiza un ajuste automático de las sentencias de gran longitud
  • Le permite deshacer varias acciones
  • Ofrece scripts de menú de función rápida para agilizar la redacción de scripts
  • Ofrece soporte para los servicios de las aplicaciones
  • Le permite acceder a scripts de aplicación mediante la paleta Biblioteca.
  • Ofrece un Asistente para Scripts que le ayuda a completar las sentencias
  • Ofrece el historial de resultados y el historial de registro de eventos para que pueda examinar qué ocurre en un script

Editor AppleScript está incluido en Mac OSX. Está situado en la carpeta Utilidades, de la carpeta Aplicaciones del disco duro.

Conceptos básicos de AppleScript

Cuando se ejecuta un script, AppleScript envía eventos Apple al sistema o a las aplicaciones que llevan a cabo los comandos. Estos eventos Apple son mensajes enviados a objetos del sistema o de aplicaciones instaladas en el sistema. Las aplicaciones o el sistema devolverán un resultado al script. Por ejemplo, si un script envía una petición a una aplicación para obtener el nombre de un objeto, la aplicación devuelve el nombre o un mensaje de error si no pudo realizar la petición.

No es necesario conocer los eventos Apple en profundidad ya que el editor AppleScript y sus funciones nos simplifican la tarea.

Applets

Un script que se guarda como aplicación se llama «aplicación AppleScript» o «applet». Los applets se ejecutan automáticamente al abrirse y realizan los comandos del script. Los applets pueden estar formados por solo un par de comandos, o ser aplicaciones más complejas.

Los applets pueden guardarse como editables o como solo ejecutables. Un applet editable sigue conteniendo el texto del script, por lo que puede editarse y volver a compilarse en cualquier momento.
Al guarda un script como solo ejecutable, la parte de texto editable se elimina y el archivo ya no puede modificarse ni volver a compilarse.

Ejemplo simple

Vamos a realizar la primera aplicación que todo desarrollador hace al aprender un lenguaje de programación, el conocido Hola mundo!. Abre el editor AppleScript y pega el siguiente código de ejemplo:


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

Ahora ejecuta nuestro script bien pulsando la combinación Comando+R o usando la opción Ejecutar del menú Script del editor AppleScript. El sistema verbalizará el mensaje Hola mundo! utilizando la voz del sistema.