Prueba la accesibilidad de tu app

Las pruebas de accesibilidad te permiten disfrutar de tu app desde la perspectiva de tus usuarios y encontrar problemas de usabilidad que, de otro modo, podrías pasar por alto. Las pruebas de accesibilidad pueden revelar oportunidades a fin de hacer que tu app sea más eficiente y versátil para todos tus usuarios, incluidos aquellos con discapacidades.

Para obtener los mejores resultados, usa todos los enfoques descritos en este documento:

  • Prueba manual: Interactúa con tu app usando los servicios de accesibilidad de Android.
  • Pruebas con herramientas de análisis: Usa herramientas para descubrir oportunidades y mejorar la accesibilidad de la app.
  • Pruebas automatizadas: Activa las pruebas de accesibilidad en Espresso.
  • Pruebas de usuario: Obtén comentarios de personas reales que interactúan con la app.

Pruebas manuales

Las pruebas manuales te ponen en el lugar de tu usuario. Los objetos AccessibilityService de Android cambian la forma en que se presenta el contenido de tu app al usuario y cómo el usuario interactúa con el contenido. Cuando interactúas con la app utilizando los servicios de accesibilidad, tienes la experiencia que tendrían tus usuarios.

TalkBack

TalkBack es el lector de pantalla incorporado de Android. Cuando TalkBack está activado, los usuarios pueden interactuar con su dispositivo Android sin ver la pantalla. Los usuarios con discapacidad visual pueden confiar en TalkBack para usar tu app.

Activa TalkBack

  1. Abre la app de Configuración del dispositivo.
  2. Ve a Accesibilidad y selecciona TalkBack.
  3. En la parte superior de la pantalla de TalkBack, presiona Activar/desactivar para activar TalkBack.
  4. En el cuadro de diálogo de confirmación, selecciona Aceptar para confirmar los permisos.

Explora tu app con TalkBack

Después de activar TalkBack, hay dos formas comunes de navegación:

  • Navegación lineal: Desliza rápidamente el dedo hacia la derecha o la izquierda para navegar en secuencia por los elementos de la pantalla. Presiona dos veces en cualquier lugar para realizar una selección.
  • Exploración táctil: Arrastra el dedo por la pantalla para escuchar lo que hay debajo de él. Presiona dos veces en cualquier lugar para realizar una selección.

Para explorar tu app con TalkBack, completa los siguientes pasos:

  1. Abre tu app.
  2. Desliza el dedo para pasar por cada elemento en secuencia.
  3. Mientras navegas, busca los siguientes problemas:

    • ¿Los comentarios por voz de cada elemento transmiten su contenido o propósito de manera adecuada? (Obtén información sobre cómo escribir etiquetas significativas).
    • ¿Los anuncios son breves o demasiado detallados?
    • ¿Puedes completar los flujos de trabajo principales con facilidad?
    • ¿Puedes llegar a todos los elementos deslizando el dedo?
    • Si aparecen alertas u otros mensajes temporales, ¿se leen en voz alta?

Para obtener más información y sugerencias, consulta la documentación para usuarios de TalkBack.

Opcional: configuración del desarrollador de TalkBack

La configuración de TalkBack para desarrolladores puede facilitar la prueba de tu app con TalkBack.

Para ver o cambiar la configuración del desarrollador, completa los siguientes pasos:

  1. Abre la app de Configuración del dispositivo.
  2. Ve a Accesibilidad y selecciona TalkBack.
  3. Selecciona Configuración > Configuración del desarrollador:

    1. Nivel de registro de salida: Selecciona VERBOSE.
    2. Mostrar salida de voz: Activa esta opción para ver la salida de voz de TalkBack en la pantalla.

Accesibilidad mejorada

La accesibilidad mejorada permite a los usuarios interactuar con dispositivos Android mediante un interruptor en lugar de la pantalla táctil. Existen varios tipos de interruptores: dispositivos de tecnología de asistencia, como los que venden AbleNet, Enabling Devices, RJ Cooper o Tecla*; teclas del teclado externo; o botones. Este servicio puede ser útil para usuarios con discapacidades motoras.

Google no respalda a estas compañías ni a sus productos.

Activa la accesibilidad mejorada

Una forma sencilla de configurar la accesibilidad mejorada es con dos interruptores. Uno se designa como el interruptor "Siguiente" y mueve el foco por la pantalla, mientras que el segundo interruptor, "Seleccionar", selecciona el elemento enfocado. Para usar este método de dos interruptores, puedes usar cualquier par de llaves de hardware.

Nota:: Tu experiencia con la accesibilidad mejorada puede variar en función de las herramientas y el software que estés utilizando:

  • Si usas un interruptor externo, como un teclado, hay pasos de configuración adicionales. Por ejemplo, debes volver a habilitar el teclado en pantalla. Para obtener más información, consulta la documentación de usuario de accesibilidad mejorada.
  • Si usas TalkBack 5.1 o una versión posterior, hay un asistente de configuración disponible para configurar la accesibilidad mejorada. Para utilizarlo en lugar de los pasos que se indican a continuación, ve a Configuración > Accesibilidad > Accesibilidad mejorada > Configuración > Abrir configuración de accesibilidad mejorada.

Para configurar la accesibilidad mejorada con la tecla para bajar el volumen como el interruptor "Siguiente" y la tecla para subir el volumen como el interruptor "Seleccionar", completa los siguientes pasos:

  1. Asegúrate de que TalkBack esté desactivado.
  2. Abre la app de Configuración del dispositivo.
  3. Ve a Accesibilidad y selecciona Accesibilidad mejorada; luego, selecciona Configuración.
  4. En la pantalla Preferencias de accesibilidad mejorada, asegúrate de que la Búsqueda automática esté desactivada.
  5. Usa la tecla para bajar el volumen como el interruptor "Siguiente":

    1. Toca Asignar teclas para escaneo > Siguiente.
    2. Cuando se abre el cuadro de diálogo, presiona la tecla para bajar el volumen. El cuadro de diálogo muestra KEYCODE_VOLUME_DOWN.
    3. Toca Aceptar para confirmar y salir del cuadro de diálogo.
  6. Utiliza la tecla para subir el volumen como la opción "Seleccionar":

    1. Toca Seleccionar.
    2. Cuando se abra el cuadro de diálogo, presiona la tecla para subir el volumen. El cuadro de diálogo muestra KEYCODE_VOLUME_UP.
    3. Toca Aceptar para confirmar y salir del cuadro de diálogo.
  7. Para volver a las preferencias de accesibilidad mejorada, presiona el botón Atrás.

  8. Opcional: Si usas TalkBack 5.1 o versiones posteriores, puedes seleccionar Comentarios por voz para activar los comentarios por voz.

  9. Para volver a la pantalla principal de accesibilidad mejorada presiona el botón Atrás.

  10. En la parte superior de la pantalla de accesibilidad mejorada, presiona Activar/desactivar para activar la accesibilidad mejorada.

  11. En el cuadro de diálogo de confirmación, selecciona Aceptar para confirmar los permisos.

Explora tu app con la accesibilidad mejorada

Para explorar tu app con la accesibilidad mejorada, completa los siguientes pasos:

  1. Abre tu app.
  2. Para comenzar a escanear, presiona el botón "Siguiente" (el de bajar el volumen).
  3. Sigue presionando "Siguiente" hasta que veas el elemento que quieres seleccionar.
  4. Para seleccionar el elemento destacado, presiona el botón "Seleccionar" (el de subir el volumen).
  5. Mientras navegas, busca los siguientes problemas:

    • ¿Puedes completar los flujos de trabajo principales con facilidad?
    • Si tienes entradas de texto o de otro tipo, ¿puedes agregar y editar contenido fácilmente?
    • ¿Se destacan los elementos solo si puedes realizar una acción con ellos?
    • ¿Cada elemento se destaca solo una vez?
    • ¿Todas las funciones que están disponibles mediante los gestos de la pantalla táctil también están disponibles como controles seleccionables o acciones personalizadas en la accesibilidad mejorada?
    • Si usas TalkBack 5.1 o una versión posterior y activaste los comentarios por voz, ¿los comentarios por voz de cada elemento transmiten su contenido o propósito de manera correcta? (Obtén información sobre cómo escribir etiquetas significativas).

Opcional: Utiliza la selección de grupos para ver todos los elementos que se pueden escanear.

La selección de grupos es un método de navegación de accesibilidad mejorada que te permite ver todos los elementos escaneables a la vez. Esta opción permite realizar una verificación rápida para ver si los elementos correctos en la pantalla están destacados.

Para activar la selección de grupos, completa los siguientes pasos:

  1. Abre la app de Configuración del dispositivo.
  2. Ve a Accesibilidad y selecciona Accesibilidad mejorada. Luego, selecciona Configuración.
  3. En la pantalla Preferencias de accesibilidad mejorada, asegúrate de que la Búsqueda automática esté desactivada.
  4. Selecciona Método de escaneo > Selección de grupos.
  5. Toca Asigna botones para la búsqueda.
  6. Asegúrate de que el texto debajo de Botón de selección de grupos 1 y Botón de selección de grupos 2 muestre que se asignó un interruptor a cada uno. Si ya completaste los pasos para activar la accesibilidad mejorada, los botones de volumen ya deberían estar asignados.

Para explorar tu app con accesibilidad mejorada usando la selección de grupos, completa los siguientes pasos:

  1. Presiona la tecla "Seleccionar" (subir volumen) para destacar todos los elementos de acción en la pantalla actual. Busca los siguientes problemas:

    • ¿Solo se destacan los elementos de acción?
    • ¿Se destacaron todos los elementos de acción?
    • ¿La densidad de los elementos destacados tiene sentido?
  2. Navega a una pantalla diferente para dejar de destacar elementos.

Para obtener más información sobre cómo los usuarios pueden navegar con la selección de grupos, consulta Sugerencias para usar la accesibilidad mejorada.

Otros servicios

Android proporciona varias herramientas adicionales para probar la accesibilidad de la app.

BrailleBack

Google BrailleBack es una app que permite a los usuarios conectar una pantalla braille actualizable a un dispositivo Android por medio de Bluetooth. BrailleBack funciona con TalkBack para proporcionar una experiencia combinada de voz y braille.

Para probar tu app con una pantalla braille, obtén más información sobre cómo instalar y activar BrailleBack.

Para ver el braille (y la traducción ASCII) que BrailleBack renderizaría, sin conectar una pantalla braille, puedes usar la opción de superposición en la configuración de BrailleBack:

  1. Abre la app de Configuración del dispositivo.
  2. Ve a Accesibilidad y selecciona BrailleBack.
  3. Selecciona Configuración > Opciones para desarrolladores > Texto en braille en pantalla.

Acceso por voz

Acceso por voz permite que los usuarios controlen un dispositivo Android con comandos por voz. Acceso por voz está disponible en dispositivos con Android 5.0 (API nivel 21) y versiones posteriores. Para probar tu app con Acceso por voz, obtén información sobre cómo comenzar a usar Acceso por voz.

Herramientas de análisis

Las pruebas con herramientas de análisis pueden descubrir oportunidades para mejorar la accesibilidad que quizás pases por alto con las pruebas manuales.

Prueba de accesibilidad

La app Prueba de accesibilidad analiza tu pantalla y proporciona sugerencias para mejorar la accesibilidad de tu app. Además, usa el marco de trabajo de Prueba de accesibilidad y proporciona sugerencias específicas después de examinar las etiquetas de contenido, los elementos en los que se puede hacer clic, el contraste y mucho más.

Más información:

Informe previo al lanzamiento en Google Play

Si distribuyes tu app en Google Play, tienes acceso a un informe previo al lanzamiento de tu app. Google Play genera este informe poco después de que cargas una app a un canal de versiones mediante Google Play Console. El informe previo al lanzamiento, que también está disponible en Google Play Console, muestra los resultados de las pruebas que Google Play realiza en tu app.

En especial, Google Play ejecuta pruebas de accesibilidad utilizando el marco de trabajo de Prueba de accesibilidad. Los resultados de estas pruebas aparecen en una tabla en la pestaña Accesibilidad del informe previo al lanzamiento de tu app.

En la tabla, se clasifican oportunidades de mejora en las siguientes categorías:

Tamaño del objetivo táctil
Elementos interactivos en tu app que tienen un área enfocable o tamaño del objetivo táctil, que es más pequeño de lo recomendado.
Contraste bajo
Instancias en las que el par de colores utilizado para un elemento de texto y el fondo detrás de ese elemento tienen una proporción de contraste de color inferior a la recomendada.
Etiqueta de contenido
Elementos de la IU que no tienen una etiqueta que describa el propósito de un elemento determinado.
Implementación
Atributos asignados a elementos de la IU que dificultan que los servicios de accesibilidad del sistema interpreten los elementos de manera correcta. Un ejemplo sería definir una descripción para una etiqueta View editable. Otro sería usar un orden de recorrido de elementos que no coincida con la disposición lógica de los elementos.

Siguiendo la tabla, el informe previo al lanzamiento muestra instantáneas de la app. Esas instantáneas representan las mejores oportunidades para mejorar la accesibilidad de la app en cada categoría. Cuando seleccionas una captura de pantalla, puedes ver más detalles, por ejemplo, una mejora sugerida y una lista más completa de secciones en la app donde puedes aplicar esa misma mejora.

En la Figura 1, se muestra un ejemplo de la tabla que aparece en la pestaña Accesibilidad de un informe previo al lanzamiento en Google Play. En esta figura, también se incluye una de las instantáneas de la app, que muestra que el botón Siguiente tiene un tamaño de objetivo táctil que es más pequeño de lo recomendado.

Captura de pantalla de las secciones del informe previo al lanzamiento
Figura 1: Tabla de resumen de ejemplo (izquierda) y captura de pantalla (derecha) de la pestaña Accesibilidad de un informe previo al lanzamiento

UI Automator Viewer

La herramienta uiautomatorviewer proporciona una GUI conveniente para escanear y analizar los componentes de la IU que se muestran actualmente en un dispositivo Android. Puedes usar UI Automator para inspeccionar la jerarquía de diseño y ver las propiedades de los componentes de la IU que están visibles en el primer plano del dispositivo. Esta información te permite crear pruebas más precisas, ya que, por ejemplo, puedes desarrollar un selector de IU que coincida con una propiedad visible específica. La herramienta se encuentra en el directorio tools del SDK de Android.

En las pruebas de accesibilidad, esta herramienta es útil para depurar problemas que se encontraron con otros métodos de prueba. Por ejemplo, si las pruebas manuales dan como resultado una vista que debería tener texto hablado y no lo tiene, o una vista que recibe el foco y no debería recibirlo, puedes usar la herramienta para ayudar a encontrar la fuente del error.

Para obtener más información sobre UI Automator Viewer, consulta Cómo probar la IU para varias apps.

Lint

Android Studio muestra advertencias de lint para distintos problemas de accesibilidad y proporciona vínculos a los lugares del código fuente que contienen esos problemas. En el siguiente ejemplo, a una imagen le falta un atributo contentDescription. La descripción de contenido que falta da como resultado el siguiente mensaje:

    [Accessibility] Missing 'contentDescription' attribute on image
    

En la Figura 2, se muestra un ejemplo de cómo aparece este mensaje en Android Studio:

Captura de pantalla del mensaje
Figura 2: Mensaje en Android Studio que muestra el atributo contentDescription faltante

Si los usuarios de los servicios de accesibilidad, como los lectores de pantalla, se encontraran con esa imagen dentro de la app, no podrían entender su significado.

Pruebas automáticas

La plataforma Android admite varios marcos de trabajo de prueba, incluidos Espresso y Robolectric, que permiten crear y ejecutar pruebas automáticas que evalúan la accesibilidad de la app.

Para ver una descripción general de las pruebas de accesibilidad con Espresso y Robolectric, mira desde el minuto 31:54 hasta el minuto 34:19 del video Diseño inclusivo y pruebas: Cómo hacer que tu app sea más accesible. Google I/O 2016.

Espresso

Espresso es una biblioteca de pruebas de Android diseñada para hacer que las pruebas de IU sean rápidas y fáciles. Te permite interactuar con los componentes de IU que se prueban en tu app y afirmar que se producen ciertos comportamientos o se cumplen condiciones específicas.

Habilita las comprobaciones

Puedes habilitar y configurar las pruebas de accesibilidad mediante las comprobaciones AccessibilityChecks:

Kotlin

    AccessibilityChecks.enable()
    

Java

    AccessibilityChecks.enable();
    

De manera predeterminada, las comprobaciones se ejecutan cuando ejecutas cualquier acción de vista definida en ViewActions. La verificación incluye la vista en la que se realiza la acción, así como todas las vistas descendentes. Puedes verificar toda la jerarquía de vistas de una pantalla con el siguiente código:

Kotlin

    AccessibilityChecks.enable().setRunChecksFromRootView(true)
    

Java

    AccessibilityChecks.enable().setRunChecksFromRootView(true);
    

Para obtener más muestras de código, consulta estas pruebas demostrativas.

Suprime problemas conocidos

Cuando habilites las comprobaciones por primera vez, es posible que encuentres algunos problemas que no podrás resolver de inmediato. Si quieres suprimir las fallas de prueba que surgen de esos problemas, establece un comparador para los resultados que desees suprimir. Para ello, obtén un objeto AccessibilityValidator llamando al método enable() de la clase AccessibilityChecks y, luego, usa el método setSuppressingResultMatcher() del objeto AccessibilityValidator que se muestra para configurar un comparador de supresión.

En el siguiente ejemplo, se suprimen todos los problemas relacionados con el tamaño del objetivo táctil en objetos View con un ID de recurso de "overflow":

Kotlin

    val validator: AccessibilityValidator = AccessibilityChecks.enable().apply {
        setSuppressingResultMatcher(
                allOf(
                        matchesCheckNames(`is`("TouchTargetSizeViewCheck")),
                        matchesViews(withId(R.id.my_overflow))
                )
        )
    }
    

Java

    AccessibilityValidator validator = AccessibilityChecks.enable();
    Matcher<AccessibilityViewCheckResult> myMatcher =
            allOf(
                    matchesCheckNames(is("TouchTargetSizeViewCheck")),
                    matchesViews(withId(R.id.my_overflow)));
    validator.setSuppressingResultMatcher(myMatcher);
    

Robolectric

Robolectric es una biblioteca de pruebas de código abierto para Android que permite probar código real de Android en una JVM, sin necesidad de iniciar un emulador. Obtén más información sobre cómo comenzar a usar Robolectric.

Suprime problemas conocidos

Cuando habilites las comprobaciones de Robolectric por primera vez, es posible que encuentres una serie de problemas con los que no podrás lidiar de inmediato. Para suprimir estos errores, configura un comparador para los resultados que quieras suprimir. Para obtener más información, consulta la documentación del método setSuppressingResultMatcher() de la clase AccessibilityUtil que está disponible en Robolectric.

Prueba de usuario

Junto con los otros métodos de prueba en esta guía, las pruebas de usuario pueden proporcionar información específica y valiosa sobre la usabilidad de la app.

Para encontrar usuarios que puedan probar tu app, utiliza métodos como los siguientes:

  1. Comunícate con organizaciones, instituciones educativas o universidades locales que brinden entrenamiento para personas con discapacidades.
  2. Pregúntales a tus amigos. Es posible que haya personas con discapacidades dispuestas a ayudar.
  3. Realiza una consulta a un servicio de prueba de usuarios (como usertesting.com) para saber si pueden probar tu app e incluir usuarios con discapacidades.
  4. Únete a un foro de accesibilidad, como Accessibility o Eyes-free, y solicita voluntarios para probar tu app.

Para obtener más sugerencias, mira la sección de pruebas de usuario del video Detrás de escena: Novedades de la accesibilidad de Android. Google I/O 2016 (desde el minuto 31:10 hasta el minuto 44:51).