Kontekst
Osoba koja upotrebljava čitač zaslona TalkBack može se kretati aplikacijom na dva načina:
- Istraživanje dodirom: povucite jedan prst preko zaslona da biste istražili fizički raspored elemenata.
- Linearno kretanje: prijeđite prstom udesno i ulijevo za kretanje stavku po stavku prema naprijed i prema natrag.
Android aplikacije trebale bi podržavati i istraživanje dodirom i linearno kretanje. Prolazni redoslijed tijekom linearnog kretanja trebao bi u načelu biti jednak vizualnom redoslijedu ili bi se prolazni redoslijed trebao optimizirati na neki drugi način koji osigurava postizanje logičnog redoslijeda za korisnika čitača zaslona.
Prema zadanome, TalkBack za utvrđivanje prolaznog redoslijeda stavki tijekom linearnog kretanja upotrebljava postojeću hijerarhiju pregleda u aplikaciji.
Implementacija
Ako hijerarhija pregleda u aplikaciji ne odražava logičku strukturu aplikacije, razvojni programeri mogu utjecati na prolaznu pristupačnost postavljanjem svojstva android:accessibilityTraversalBefore
ili android:accessibilityTraversalAfter
. Ta svojstva nalažu da čitač zaslona treba posjetiti sadržaj jednog prikaza prije (ili poslije) nego što posjeti drugi sadržaj. Prikazi koji nemaju odnos prije/poslije prolaze se redoslijedom koji se određuje čitačem zaslona.
Prolazni redoslijed za povećanje pristupačnosti razlikuje se od redoslijeda s "fokusom na unos" koji se upotrebljava za kretanje pomoću tipkovnice. Redoslijed kretanja pomoću tipkovnice definira se putem atributa android:nextFocusDown
, android:nextFocusLeft
, android:nextFocusRight
i android:nextFocusUp
.
U slučaju primjene svojstava accessibilityTraversalBefore
i accessibilityTraversalAfter
pregledajte savjete u nastavku da biste izbjegli primjenu previše ograničenja na prolazni redoslijed:
- Te atribute upotrijebite samo na mjestima na kojima se logički redoslijed razlikuje od hijerarhijskog redoslijeda prikaza.
- Svaki element koji korisnik može postaviti u fokus pomoću istraživanja dodirom treba se moći staviti u fokus i tijekom linearnog kretanja.
- Prolazni redoslijed treba biti usklađen s linearnim kretanjem, bez obzira na smjer. Na primjer, pokret koji premješta fokus na "sljedeći" element nakon kojeg odmah slijedi pokret za premještanje fokusa na "prethodni" element uvijek treba kao rezultat imati vraćanje fokusa na izvorni element.
- Ako se definiraju
accessibilityTraversalBefore
iaccessibilityTraversalAfter
, treba izbjeći uvođenje kruženja jer bi u suprotnom korisnici mogli naići na situacije u kojima ne mogu pristupiti određenim elementima tijekom linearnog kretanja.
Dizajn
Tijekom dizajniranja aplikacije razmislite kako želite da korisnik čitača zaslona linearno prolazi kroz informacije koje se pojavljuju na sučelju. U idealnom bi slučaju prolazni redoslijed trebao biti usklađen s vizualnom prezentacijom informacija. No, ako ta usklađenost nije moguća, možete definirati prolazni redoslijed koji odražava logičku strukturu ili namjeru sučelja.
Saznajte više o izradi jednostavnog kretanja.
Testiranje
Da biste ručno provjerili prolazni redoslijed za povećanje pristupačnosti aplikacije:
- Uključite TalkBack.
- Otvorite aplikaciju.
- Pokretima za linearno kretanje pomičite fokus pristupačnosti s jednog elementa na zaslonu na drugi.
- Potvrdite da TalkBack premješta fokus s jednog elementa na zaslonu na drugi u logičnom redoslijedu i da izgovara smisleni opis svakog elementa koji posjećuje.
- Potvrdite da TalkBack pomiče fokus kroz elemente na zaslonu prema natrag i prema naprijed na dosljedan način, bez obzira na smjer kretanja.
Automatski alati za testiranje u Androidu mogu prepoznati neke probleme u prolaznom redoslijedu. Savjetujemo vam da pomoću Provjere pristupačnosti za Android ručno testirate aplikaciju na uređaju. Za automatizirana testiranja uključite provjeru pristupačnosti u testovima Espresso i Robolectric.