Orden de recorrido

Información general

Las personas que usan el lector de pantalla TalkBack pueden navegar las apps de dos maneras:

  • Exploración táctil: Arrastra un solo dedo sobre la pantalla para explorar la disposición física de los elementos.
  • Navegación lineal: Desliza el dedo hacia la derecha y la izquierda para avanzar y retroceder, un elemento a la vez. 

Las apps de Android deben ser compatibles con la exploración táctil y la navegación lineal. Por lo general, el orden de recorrido durante la navegación lineal debe coincidir con el orden visual, o bien el orden de recorrido se debe optimizar a fin de mantener un orden lógico para los usuarios de lectores de pantalla.  

En la configuración predeterminada, TalkBack usa la jerarquía de vistas de la app para determinar el orden de recorrido de los elementos durante la navegación lineal.

Implementación

Si la jerarquía de vistas de una app no refleja su estructura lógica, los desarrolladores pueden cambiar el recorrido de accesibilidad mediante la configuración de android:accessibilityTraversalBefore o android:accessibilityTraversalAfter. Estas propiedades indican que un lector de pantalla debe revisar el contenido de una vista antes o después del contenido de otra. Las vistas sin relaciones de anterioridad y posterioridad se recorren en el orden que determina el lector de pantalla.

El orden de recorrido de la accesibilidad es distinto del orden de “foco de entrada” que se usa en la navegación con teclado. El orden de la navegación con teclado se especifica en android:nextFocusDown, android:nextFocusLeft, android:nextFocusRight y android:nextFocusUp.

Si usas accessibilityTraversalBefore y accessibilityTraversalAfter, ten en cuenta las siguientes recomendaciones para no limitar demasiado el orden de recorrido:

  • Usa estos atributos solo en lugares donde el orden lógico difiera del orden jerárquico de las vistas.
  • Si un usuario puede usar el foco en un elemento con la exploración táctil, también debe poder hacerlo en la navegación lineal.
  • El orden de recorrido debe coincidir con la navegación lineal, independientemente de la dirección. Por ejemplo, un gesto para enfocarse en el elemento “siguiente” seguido de inmediato por un gesto para mover el foco al elemento “anterior” siempre debe regresar el foco al elemento original.
  • No se deben ingresar ciclos cuando se definen accessibilityTraversalBefore y accessibilityTraversalAfter. De lo contrario, es posible que los usuarios se encuentren con ciertos elementos a los que no podrán acceder en la navegación lineal.

Diseño

Cuando diseñes una app, ten en cuenta la forma en que pretendes que los usuarios de lectores de pantalla recorran linealmente la información que se mostrará en la interfaz. Lo ideal es que el orden de recorrido coincida con el de la presentación visual de la información. Si no es posible lograrlo, puedes especificar un orden de recorrido que transmita la estructura lógica o la intención de la interfaz.

Obtén más información sobre cómo crear una navegación fácil de seguir.

Prueba

Sigue estos pasos para evaluar manualmente el orden de recorrido de accesibilidad de una app:

  1. Activa TalkBack.
  2. Abre la app.
  3. Usa los gestos de navegación lineal para mover el foco de accesibilidad a cada elemento de la pantalla.
  4. Verifica que TalkBack mueva el foco a través los elementos de la pantalla en un orden lógico y que reproduzca una representación significativa de cada uno de los elementos.
  5. Comprueba que TalkBack mueva el foco hacia atrás y adelante a través de los elementos de la pantalla de forma coherente, sin importar la dirección de navegación.

Las herramientas de prueba automatizadas de Android pueden detectar algunos problemas de orden de recorrido. Te recomendamos usar la aplicación Test de accesibilidad para Android a fin de realizar una prueba manual de la app en tu dispositivo. Si quieres realizar pruebas automatizadas, activa la verificación de accesibilidad en Espresso y Robolectric.