Cómo utilizar Talkback en el emulador de Android

En un artículo anterior hemos visto cómo utilizar el emulador de Android para poder simular el comportamiento de un dispositivo Android dentro de nuestro ordenador.

Uno de los problemas del emulador de Android es que por defecto no vienen instalados todas las aplicaciones y servicios que se incluyen en un teléfono Android. Entre estos servicios están los servicios de accesibilidad como TalkBack. Pero esto no es problema ya que podemos instalar TalkBack en nuestro emulador de Android para poder probar la accesibilidad del proyecto que estemos realizando o para poder disfrutar de algunas experiencias de Android a través de su emulador.

Instalación del APK

Lo primero que debemos hacer es descargar el APK de TalkBack. Este fichero se puede descargar de la Google PlayStore y su nombre completo es com.google.android.marvin.talkback.apk.

El APK es un fichero comprimido que contiene todos los recursos que requiere una aplicación Android para ser ejecutada en un dispositivo Android.

Una vez descargado el fichero APK debemos arrancar el emulador para que ADB pueda detectarlo ya que realizaremos la instalación a través de ADB.

Podemos mostrar qué dispositivos están conectados a nuestro ordenador con el siguiente comando:

adb devices

Cuando el emulador esté disponible y ADB lo detecte podemos proceder a la instalación del APK con el siguiente comando:

adb install com.google.android.marvin.talkback.apk

Si ADB indica que no se ha encontrado el fichero es porque debemos indicar la ruta concreta o ejecutar el comando ADB en la misma carpeta donde guardamos la descarga del APK. Por ejemplo una versión con ruta completa de este comando sería:

adb install /Users/MiUsuario/Downloads/com.google.android.marvin.talkback.apk

Solucionando problemas con servicios y permisos

En Android es necesario que aplicaciones y servicios tengan permiso del usuario para realizar ciertas tareas. Un lector de pantallas, al igual que otros servicios de accesibilidad, requieren de permisos de alto nivel para poder funcionar. Por defecto al instalar un APK no se otorgan estos permisos por lo que debemos aprobar este nivel de acceso para TalkBack.

Podemos realizar esta operación con el siguiente comando de ADB:

adb shell settings put secure enabled_accessibility_services com.google.android.marvin.talkback/.TalkBackService

Arrancando el servicio de accesibilidad

Ahora que tenemos TalkBack instalado en el dispositivo virtual de Android y tiene permisos para ejecutarse debemos activar TalkBack en nuestro dispositivo emulado. Para ello deberíamos ir a los ajustes de Android, accesibilidad y activar TalkBack pero realizar esta operación no es posible si eres un usuario con discapacidad ya que el emulador no ofrece todavía una experiencia accesible.

Por suerte para los usuarios con discapacidad desde ADB también podemos activar y arrancar aplicaciones y servicios en nuestro dispositivo Android. Con el siguiente comando activaremos el servicio de accesibilidad de TalkBack:

adb shell am startservice com.google.android.marvin.talkback/.TalkBackService

Una vez ejecutado el siguiente comando TalkBack debería comenzar a hablar en el emulador. Verifica que el volumen del emulador es suficiente para escuchar la síntesis de voz de TalkBack.

Utilizar TalkBack en el emulador

Para controlar TalkBack en el emulador deberemos utilizar los atajos de teclado de TalkBack como vimos en el artículo sobre cómo utilizar TalkBack con el teclado.

Utilizar Talkback con teclado

En Android existen varias herramientas de asistencia tanto oficiales como de terceros. Una de estas herramientas oficiales es Talkback, el lector de pantallas para Android. Este lector de pantallas viene instalado por defecto en muchas versiones de Android y se puede encontrar en la Playstore de Google.

Talkback, además de mediante gestos en una pantalla táctil, se puede controlar mediante un teclado físico conectado al dispositivo Android. Para ello lo primero que debemos hacer es conectar un teclado inalámbrico al dispositivo.

Hot-key para Talkback

Los lectores de pantalla que son compatibles con el uso mediante teclado suelen utilizar una tecla o conjunto de teclas para sus atajos de teclado. Por ejemplo en VoiceOver son las teclas Control+Opción, NVDA y Jaws utilizan la tecla Insert y Narrador utiliza la combinación Control+Windows. Estas teclas o combinaciones de teclas se conocen como la hot-key del lector de pantallas.

En el caso de Talkback es la tecla Alt. Esto significa que la mayoría de atajos y combinaciones de teclas para manejar Talkback desde un teclado utilizarán la tecla Alt. Esto implica que el teclado que vayamos a utilizar en nuestro dispositivo Android debe incluir, al menos, la tecla Alt.

En las versiones más modernas de Talkback podemos cambiar la hot-key de Talkback por otra tecla que nos resulte más idónea. Para hacer esto dentro de los ajustes de Talkback hay que entrar en configuración avanzada, buscar la sección Combinaciones de teclas. Allí se ha de activar la opción seleccionar tecla modificadora.

Mapas de teclas para Talkback

Talkback ofrece en sus ajustes de configuración la posibilidad de utilizar dos conjuntos de atajo de teclado distintos. Son el mapa de teclas predeterminado y el mapa de teclas clásico. Para este artículo utilizaremos el predeterminado que es el que viene seleccionado por defecto. Además el mapa de teclas clásico no incluye todas las funciones de control de Talkback desde teclado. Por ejemplo, sólo el mapa predeterminado incluye atajos de teclado para navegar de forma más eficiente en contenidos web utilizando Talkback.

Navegación por la pantalla

A la hora de mover el foco de Talkback por la pantalla del escritorio o por una aplicación nativa debemos utilizar las siguientes combinaciones de teclas:

  • Ir al siguiente elemento: Alt+flecha derecha
  • Ir al elemento anterior: Alt+flecha izquierda
  • Ir al elemento superior: Alt+flecha arriba
  • Ir al elemento inferior: Alt+flecha abajo
  • Ir al primer elemento: Alt+Control+flecha izquierda
  • Ir al último elemento: Alt+Control+flecha derecha
  • Ir a la siguiente ventana: Alt+Control+flecha abajo
  • Ir a la ventana anterior: Alt+Control+flecha arriba
  • Hacer click sobre el elemento focalizado: Alt+enter
  • Hacer un click largo o mantenido sobre el elemento focalizado: Alt+Mayúsculas+enter

Explorando texto

También existen combinaciones para poder leer con más detalle el texto que encontremos por la pantalla.

  • Ir a la palabra siguiente: Alt+Control+Mayúsculas+flecha derecha
  • Ir a la palabra anterior: Alt+Control+Mayúsculas+flecha izquierda
  • Ir al carácter siguiente: Alt+Mayúsculas+flecha derecha
  • Ir al carácter anterior: Alt+Mayúsculas+flecha izquierda

Teclas globales

En Android en la parte inferior de la pantalla existen 3 teclas de acción global. Desde el teclado también tenemos acceso a esta funcionalidad.

  • Atrás: Alt+tecla de borrar o retroceder
  • Inicio: Alt+Control+h
  • Aplicaciones recientes: Alt+Control+r
  • Ir a las notificaciones: Alt+Control+n
  • Reproducir/pausar contenido multimedia: Alt+Mayúsculas+espacio

Control de lectura o rotor

En Talkback no existe el rotor de VoiceOver pero si algo muy parecido llamado control de lectura. Podemos utilizar el control de lectura de Talkback mediante los siguientes atajos de teclado:

  • Activar el siguiente control de lectura: Alt+Control+Mayúsculas+flecha abajo
  • Activar el anterior control de lectura: Alt+Control+Mayúsculas+flecha arriba
  • Ajustar el control de lectura al valor anterior: Alt+Mayúsculas+flecha arriba
  • Ajustar el control de lectura al valor siguiente: Alt+Mayúsculas+flecha abajo

Acciones de Talkback

También podemos activar ciertas acciones específicas de Talkback mediante el teclado:

  • Mostrar menú de Talkback: Alt+espacio
  • Mostrar acciones de Talkback: Alt+Control+espacio
  • Buscar un elemento en la pantalla: Alt+Control+/
  • Mostrar idiomas instalados: Alt+Control+l

Lectura de la pantalla

Con Talkback podemos automatizar el proceso de lectura de toda la pantalla. Para ello, además de los gestos específicos, tenemos las siguientes combinaciones de teclas:

  • Leer desde el principio de la pantalla: Alt+Control+enter
  • Leer desde el elemento focalizado: Alt+Control+Mayúsculas+enter

Navegación en Chrome

Con el mapa predeterminado se incluyen algunas combinaciones de teclas para Talkback para agilizar la lectura de una página web:

  • Ir al botón siguiente: Alt+b
  • Ir al botón anterior: Alt+Mayúsculas+b
  • Ir al botón de verificación siguiente: Alt+x
  • Ir al botón de verificación anterior: Alt+Mayúsculas+x
  • Ir al cuadro combinado siguiente: Alt+z
  • Ir al cuadro combinado anterior: Alt+Mayúsculas+z
  • Ir al cuadro de texto siguiente: Alt+e
  • Ir al cuadro de texto anterior: Alt+Mayúsculas+e
  • Ir al gráfico siguiente: Alt+g
  • Ir al gráfico anterior: Alt+Mayúsculas+g
  • Ir al encabezado siguiente: Alt+h
  • Ir al encabezado anterior: Alt+Mayúsculas+h
  • Ir al encabezado de nivel 1 a 6 siguiente: Alt+1 al 6
  • Ir al encabezado de nivel 1 a 6 anterior: Alt+Mayúsculas+1 al 6
  • Ir al enlace siguiente: Alt+l
  • Ir al enlace anterior: Alt+Mayúsculas+l
  • Ir a la lista siguiente: Alt+o
  • Ir a la lista anterior: Alt+Mayúsculas+o
  • Ir a la tabla siguiente: Alt+t
  • Ir a la tabla anterior: Alt+Mayúsculas+t

Cómo utilizar el emulador de Android fuera de Android studio

Los entornos de desarrollo para dispositivos móviles como Xcode o Android studio incluyen alguna herramienta para poder probar los proyectos en desarrollo sin necesidad de tener un dispositivo físico. Esta herramienta simula el comportamiento de un dispositivo físico. En el caso de Android studio esta herramienta se conoce como emulador de Android y viene incluido en el Android SDK que se instala junto a Android studio.

Este emulador, en las últimas versiones de Android studio, se ejecuta por defecto dentro del entorno de Android studio. Pero podemos necesitar ejecutar el emulador de Android fuera del entorno de Android studio. Las razones pueden ser muy variadas: el acceso al emulador no es muy accesible dentro de Android studio, el consumo de recursos de Android studio y el emulador pueden superar los recursos disponibles en la máquina que estemos utilizando, puede que queramos ejecutar una aplicación Android en nuestra máquina para realizar alguna tarea, etc. En cualquier caso es de agradecer que podamos acceder al emulador desde fuera de android studio.

Accediendo al emulador

El emulador de Android está dentro de las herramientas del SDK de Android. Es un comando de la Terminal por lo que podemos acceder a él desde la terminal de Mac o Linux o el CMD de Windows.

El SDK de Android se puede instalar de forma individual junto a las Platform-tools de Android. Al instalar Android studio también se instalará el SDK de Android. Dentro de ese SDK encontraremos una carpeta llamada emulador.

El emulador simula un dispositivo virtual que ejecuta una versión de Android. La creación y administración de dispositivos virtuales se realiza dentro de Android studio pero una vez creado el dispositivo virtual no tenemos por qué seguir utilizando el emulador dentro de Android studio.

Para abrir el emulador debemos conocer qué dispositivos virtuales están disponibles y conocer el nombre exacto con el que el sistema identifica a cada dispositivo virtual. 

Ejecutando el siguiente comando se listarán los dispositivos virtuales disponibles.

emulator -list-avds

A la hora de escribir este artículo en mi máquina se encuentran los siguientes dispositivos:

pixel3a-api31
pixel6a-api33

Conociendo el nombre exacto de los dispositivos virtuales podemos, por ejemplo arrancar el Pixel6A ejecutando el siguiente comando en la terminal:

emulator -avd pixel6a-api33

Tras introducir el comando se abrirá el entorno de emulación de Android y se cargará la imagen de Android correspondiente a la API 33 que es Android 13.

Accediendo a la gestión del dispositivo

Una vez esté funcionando el emulador de Android podemos utilizar la herramienta ADB para gestionar varios elementos del dispositivo virtual al igual que haríamos si conectásemos un dispositivo Android físico a nuestra máquina.

El ADB, también conocido como Android Debug Bridge, también se instala con las platform-tools de Android.

 Con el ADB podemos enviar órdenes o enviar archivos a nuestro dispositivo Android.

Veamos algunos comandos sencillos que se pueden realizar con ADB.

Lista de dispositivos conectados

Con el comando adb devices se mostrará una lista de dispositivos conectados a nuestra máquina incluyendo los dispositivos virtuales que están siendo ejecutados en el emulador.

Enviar un fichero al dispositivo

Para enviar un fichero al dispositivo debemos ejecutar el siguiente comando:

adb push rutaDelFicheroAEnviar rutaDeDestinoEnElDispositivo

Enviar un fichero desde el dispositivo a nuestra máquina

Con el siguiente comando el dispositivo enviará un fichero a nuestra máquina:

adb pull nombreDelFicheroARecuperar rutaDeNuestraMaquinaParaElFichero

Instalar un APK

Con el siguiente comando instalaremos un paquete de aplicación (APK) en nuestro dispositivo:

adb install nombreCompletoDelFicheroAPK

Desinstalar una aplicación

Con el siguiente comando desinstalaremos un APK del dispositivo:

adb uninstall nombreCompletoDelAPK

Acceder a la terminal del dispositivo

Con el siguiente comando accederemos a la Shell o terminal del dispositivo para poder realizar ciertas operaciones de gestión:

adb shell

Reiniciar el dispositivo

Con ADB también podemos realizar varios tipos de reinicio en el dispositivo.

Para hacer un reinicio normal el comando es:

adb reboot

Y para hacer un reinicio con bootloader el comando es:

adb reboot bootloader

También podemos activar el modo recovery:

adb reboot recovery

Problemas para ejecutar los comandos

Si al intentar ejecutar el comando adb o emulator la terminal o el CMD nos da un mensaje de error indicando que no se encuentra el fichero o comando esto indica que las carpetas de las platform-tools de android no están incluidas en el path de nuestra máquina. Para poder ejecutar estos comandos bien podemos incluir todo el path hasta la carpeta concreta donde está el comando adb o emulator o bien incluir estas rutas en la variable path de nuestra máquina.

Primer congreso accesibilidad digital en universidades de la universidad de Puerto Rico

El próximo 29 de septiembre de 2023 se celebrará el primer congreso de accesibilidad digital en universidades.

El evento se realizará de forma presencial en la Universidad de Puerto Rico y se retransmitirá a través de Microsoft Live Events.

Este evento reviste una importancia fundamental, ya que se propone explorar el poder transformador de la tecnología en la promoción de una educación superior inclusiva y accesible para todos los individuos.

En la página web del evento está disponible la agenda con las distintas charlas y ponentes que participarán.

Smart cities y campus universitarios

Participaré en el evento con una charla divulgativa sobre la tecnología para mejorar la accesibilidad en los campus universitarios y las smart cities.

Puedes registrarte en el evento para poder disfrutar de las ponencias del evento.

Encuesta para un estudio sobre la accesibilidad en los sistemas operativos

Natanael Rojo, estudiante de la carrera de ingeniería de sistemas en la universidad de los Andes, está realizando su trabajo de grado mediante un estudio sobre la accesibilidad en los sistemas operativos.

Las razones para este estudio se describen en las propias palabras de Natanael:

Bueno, cuando inicié mi camino universitario, no tuve alguna guía que me ayudara a elegir un sistema operativo o herramienta accesible que me permitiera hacer las cosas de manera cómoda y eficaz, más que todo en el ámbito de la ingeniería, que fue mi área de estudio. Por eso quiero desarrollar este trabajo que tiene la finalidad de estudiar qué tan accesibles son los sistemas operativos para las personas con discapacidad visual, evaluarlos, así como recopilar las opiniones de los usuarios con respecto a posibles mejoras que crean que les ayuden en sus actividades del día a día.

También dice que busca ayudar a los usuarios con discapacidad visual en el ámbito educativo, laboral y personal. Además busca concienciar a las empresas desarrolladoras de software sobre la importancia de la accesibilidad en aplicaciones, documentos, páginas web y sistemas operativos.

¿Cómo participar en el estudio?

Natanael busca que personas con discapacidad completen una encuesta sobre la accesibilidad en los sistemas operativos para personas con discapacidad visual.

Además necesita entrevistar a personas con discapacidad visual para estudiar y recoger experiencias y necesidades concretas. Si deseas participar en las entrevistas y tienes discapacidad visual puedes ponerte en contacto con Natanael a través de su correo electrónico: rojonatanael99@gmail.com.

ProgramarACiegasRSS ahora también disponible para MacOS

La semana pasada publicamos la noticia de la disponibilidad de la app ProgramarACiegasRSS para iOS y iPadOS.

Gracias a que ahora MacOS e iOS soportan SwiftUI la migración de una app de iOS a MacOS es mucho más sencilla. Por esta razón ya está disponible, en tan poco tiempo, la versión de ProgramarACiegasRSS para MacOS en la MacAppStore.

Podéis conocer más sobre esta app en la página de ProgramarACiegasRSS.