Informații generale
Cineva care folosește cititorul de ecran TalkBack poate naviga într-o aplicație în două moduri:
- Explorați prin atingere - trageți un singur deget pe ecran pentru a explora aranjamentul fizic al elementelor;
- Navigare liniară - glisați la dreapta și la stânga pentru a derula înainte și înapoi, de la un element la altul.
Aplicațiile Android ar trebui să accepte atât explorarea prin atingere, cât și navigarea liniară. Ordinea transversală în timpul navigării liniare ar trebui în general să se potrivească cu ordinea vizuală sau ordinea transversală ar trebui să fie optimizată în alt mod pentru a menține ordinea logică pentru utilizatorii cititoarelor de ecran.
În mod prestabilit, TalkBack folosește ierarhia view a aplicației pentru a stabili ordinea transversală a elementelor în timpul navigării liniare.
Implementare
În cazurile în care ierarhia view a unei aplicații nu reflectă structura logică a aplicației, dezvoltatorii pot influența accesibilitatea transversală setând android:accessibilityTraversalBefore
sau android:accessibilityTraversalAfter
. Aceste proprietăți indică faptul că un cititor de ecran ar trebui să acceseze conținutul unui view înainte (sau după) conținutul altui view. Views fără relații înainte/după au o ordine transversală stabilită de cititorul de ecran.
Ordinea transversală a accesibilității este diferită de ordinea „focalizare pe introducerea de text” folosită pentru navigarea pe tastatură. Ordinea navigării pe tastatură este stabilită de android:nextFocusDown
, android:nextFocusLeft
, android:nextFocusRight
și android:nextFocusUp
.
Atunci când folosiți accessibilityTraversalBefore
și accessibilityTraversalAfter
, luați în considerare următoarele sfaturi pentru a evita limitarea excesivă a ordinii transversale:
- folosiți aceste atribute doar în locuri în care ordinea logică diferă de ordinea ierarhiei view;
- fiecare element care poate fi focalizat de utilizator folosind explorarea prin atingere ar trebui să fie focalizabil în timpul navigării liniare;
- ordinea transversală ar trebui să fie consecventă în timpul navigării liniare, indiferent de direcție. De exemplu, un gest de mișcare a focalizării la elementul „următor” urmat imediat de un gest de mișcare a focalizării la elementul „anterior” ar trebui mereu să ducă la revenirea focalizării la elementul inițial.
- nu ar trebui introduse cicluri la definirea
accessibilityTraversalBefore
șiaccessibilityTraversalAfter
deoarece utilizatorii pot întâmpina situații în care anumite elemente nu sunt accesibile folosind navigarea liniară.
Design
La designul unei aplicații, luați în considerare cum intenționați ca o persoană care folosește un cititor de ecran să navigheze liniar informațiile prezentate în interfață. Ideal ar fi ca ordinea transversală să coincidă cu prezentarea vizuală a informațiilor. Totuși, dacă nu este posibil, puteți să specificați ordinea transversală care transmite structura logică a interfeței sau intenția acesteia.
Aflați mai multe despre crearea unei navigări ușor de urmat.
Testare
Pentru a evalua manual ordinea transversală a accesibilității unei aplicații:
- activați TalkBack;
- deschideți aplicația;
- folosiți gesturi de navigare liniară pentru a schimba focalizarea accesibilității pe fiecare element de pe ecran;
- verificați că TalkBack mută focalizarea pe elementele de pe ecran într-o ordine logică și rostește o reprezentare corectă a fiecărui element accesat.
- verificați că TalkBack mută focalizarea înapoi și înainte pe elementele de pe ecran într-un mod consecvent, indiferent de direcția navigării.
Instrumentele Android de testare automată pot detecta unele probleme cu ordinea transversală. Vă recomandăm să folosiți Accessibility Scanner pentru Android pentru testarea manuală a aplicațiilor de pe dispozitiv. Pentru testările automate, activați verificarea accesibilității în Espresso și Robolectric.