Información general
Los usuarios que utilizan el lector de pantalla TalkBack pueden desplazarse por una aplicación de dos formas:
- Exploración táctil: esta función ofrece la posibilidad de arrastrar un dedo por la pantalla para explorar la disposición física de los elementos.
- Desplazamiento lineal: permite deslizar el dedo hacia la derecha o hacia la izquierda para avanzar o retroceder entre los elementos y explorarlos de uno en uno.
Las aplicaciones para Android deben ser compatibles con estos dos tipos de desplazamiento. En general, el desplazamiento lineal debe coincidir con el orden visual o debe seguir un orden lógico para los usuarios de lectores de pantalla.
De forma predeterminada, TalkBack utiliza la jerarquía de vistas de la aplicación para determinar el orden de los elementos durante el desplazamiento lineal.
Implementación
En los casos en los que la jerarquía de vistas de la aplicación no refleje su estructura lógica, los desarrolladores pueden configurar los atributos android:accessibilityTraversalBefore
o android:accessibilityTraversalAfter
para modificar la accesibilidad en el orden de desplazamiento. Estas propiedades indican que los lectores de pantalla debería acceder al contenido de una vista antes o después que al de otra. Las vistas sin relación de anterioridad o posterioridad se transfieren en el orden que determine el lector de pantalla.
El orden de desplazamiento en la accesibilidad es distinto del orden basado en el enfoque que se utiliza en los métodos de desplazamiento con el teclado, en el que el orden lo establecen los atributos android:nextFocusDown
, android:nextFocusLeft
, android:nextFocusRight
y android:nextFocusUp
.
Cuando utilices los atributos accessibilityTraversalBefore
y accessibilityTraversalAfter
, ten en cuenta los siguientes consejos para no limitar demasiado el orden de desplazamiento:
- Utiliza estos atributos solo cuando el orden lógico sea distinto al orden de la jerarquía de vistas.
- El usuario debe poder seleccionar los mismos elementos durante la exploración táctil y el desplazamiento lineal.
- El orden debe ser coherente con el desplazamiento lineal, independientemente de la dirección del desplazamiento. Por ejemplo, un gesto para cambiar el enfoque de accesibilidad al "siguiente" elemento seguido de otro gesto para volver el elemento "anterior" siempre tiene que regresar al elemento original.
- No tienen que incluirse ciclos cuando se definen los atributos
accessibilityTraversalBefore
yaccessibilityTraversalAfter
. De lo contrario, los usuarios podrían experimentar situaciones en las que algunos elementos no estén disponibles en el desplazamiento lineal.
Diseño
Cuando diseñes una aplicación, piensa en cómo quieres que los usuarios recorran la información de la interfaz de forma lineal. Lo ideal es que el orden coincida con la presentación visual de la información. Si no es posible, puedes especificar un orden que represente la estructura lógica o el objetivo de la interfaz.
Obtén más información sobre crear una navegación sencilla.
Prueba
Sigue los pasos que se detallan a continuación para probar el orden de accesibilidad de una aplicación:
- Activa TalkBack.
- Abre la aplicación.
- Utiliza gestos de navegación lineal para que el enfoque de accesibilidad recorra cada elemento de la pantalla.
- Comprueba que TalkBack cambia el enfoque de un elemento a otro en la pantalla siguiendo un orden lógico y que lee una representación fiel de cada uno de los elementos.
- Comprueba que TalkBack mueve el enfoque hacia delante y hacia atrás, de un elemento de la pantalla a otro, de forma uniforme y en ambas direcciones.
Las herramientas de prueba automáticas de Android pueden detectar algunos de los problemas relacionados con el orden de desplazamiento. Te recomendamos que utilices la aplicación Test de Accesibilidad para Android para probar tu aplicación manualmente en el dispositivo. Para realizar pruebas automáticas, activa las comprobaciones de accesibilidad en Espresso y Robolectric.