Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Prueba la accesibilidad de tu app

Las pruebas de accesibilidad te permiten experimentar tu app desde la perspectiva de los usuarios y encontrar problemas de usabilidad que, de otro modo, podrías pasar por alto. También pueden revelar oportunidades para mejorar la eficacia y versatilidad de tu app para todos los usuarios, incluidos aquellos que tienen 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 automáticas: Activa las pruebas de accesibilidad en Espresso y Robolectric.
  • 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 este interactúa con ese 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 podrían depender de 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, se habilitan dos maneras de navegar:

  • 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?

Puedes obtener más información y sugerencias en 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 este servicio.

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 implementar 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, deberás seguir algunos 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 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 se destacaron los elementos correctos en la pantalla.

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 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 permiten detectar oportunidades para mejorar la accesibilidad que quizás pases por alto con las pruebas manuales.

Prueba de accesibilidad

La app de Prueba de accesibilidad analiza tu pantalla y proporciona sugerencias para mejorar la accesibilidad de tu app. Además, usa el framework 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, tendrás 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 framework 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
Muestra los elementos interactivos de tu app que tienen un área enfocable, o tamaño del objetivo táctil, que es más pequeña de lo recomendado.
Contraste bajo
Muestra 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.
Etiquetas de contenido
Muestra elementos de la IU que no tienen una etiqueta que describa el propósito de un determinado elemento.
Implementación
Muestra 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.

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

Visor UI Automator

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 el visor UI Automator, 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 frameworks 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 la IU que se están probando en tu app y afirmar que se producen ciertos comportamientos o se cumplen ciertas condiciones.

En esta sección, se describe cómo ejecutar verificaciones de accesibilidad con Espresso.

Habilita las comprobaciones

Puedes habilitar y configurar la prueba de accesibilidad con la clase AccessibilityChecks:

Kotlin

import androidx.test.espresso.contrib.AccessibilityChecks

@RunWith(AndroidJUnit4::class)
@LargeTest
class MyWelcomeWorkflowIntegrationTest {
    companion object {
        @Before @JvmStatic
        fun enableAccessibilityChecks() {
            AccessibilityChecks.enable()
        }
    }
}

Java

import androidx.test.espresso.contrib.AccessibilityChecks;

@RunWith(AndroidJUnit4.class)
@LargeTest
public class MyWelcomeWorkflowIntegrationTest {
    @Before
    public static void enableAccessibilityChecks() {
        AccessibilityChecks.enable();
    }
}

De manera predeterminada, las comprobaciones se ejecutan cuando realizas cualquier acción de vista definida en ViewActions. Cada verificación incluye la vista en la que se realiza la acción, así como todas las vistas descendentes. Puedes evaluar toda la jerarquía de vistas de una pantalla durante cada verificación si pasas true a setRunChecksFromRootView(), como se muestra en el siguiente fragmento de código:

Kotlin

AccessibilityChecks.enable().setRunChecksFromRootView(true)

Java

AccessibilityChecks.enable().setRunChecksFromRootView(true);

Cómo suprimir subconjuntos de resultados

Después de que Espresso ejecute verificaciones de accesibilidad en tu app, es posible que encuentres varias oportunidades para mejorar la accesibilidad que no puedas abordar de inmediato. Para evitar que las pruebas de Espresso fallen continuamente debido a estos resultados, puedes ignorarlas de manera temporal. El framework de prueba de accesibilidad (ATF) proporciona esta funcionalidad con el método setSuppressingResultMatcher(), que le indica a Espresso que suprima todos los resultados que satisfacen la expresión del comparador dado.

Cuando haces cambios en tu app que abordan un aspecto de la accesibilidad, es conveniente que Espresso muestre resultados para tantos otros aspectos de la accesibilidad como sea posible. Por este motivo, lo mejor es suprimir solo las oportunidades de mejora específicas.

Cuando suprimes temporalmente los resultados de la prueba de accesibilidad que planeas abordar más adelante, es importante no suprimir de manera accidental resultados similares. Por este motivo, usa comparadores que tengan un alcance limitado. Para ello, elige un comparador a fin de que Espresso suprima un resultado determinado solo si cumple con cada una de las siguientes verificaciones de accesibilidad:

  1. Verificaciones de accesibilidad de un tipo determinado, como las que comprueban el tamaño de la orientación táctil
  2. Verificaciones de accesibilidad que evalúan un elemento de la IU en particular, como un botón

El ATF define varios comparadores para ayudarte a definir qué resultados mostrar en tus pruebas de Espresso. En el siguiente ejemplo, se suprimen los resultados de las verificaciones que se relacionan con el contraste de color de un solo elemento TextView. El ID del elemento es countTV.

Kotlin

AccessibilityChecks.enable().apply {
        setSuppressingResultMatcher(
                allOf(
                    matchesCheckNames(`is`("TextContrastViewCheck")),
                    matchesViews(withId(R.id.countTV))
                )
        )
}

Java

AccessibilityValidator myChecksValidator = AccessibilityChecks.enable();
Matcher<? super AccessibilityViewCheckResult> myChecksMatcher =
        Matchers.allOf(matchesCheckNames(is("TextContrastViewCheck")),
                       matchesViews(withId(R.id.countTV)));
myChecksValidator.setSuppressingResultMatcher(myChecksMatcher);

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 que no podrás abordar de inmediato. Podrás suprimir estos errores configurando 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).