Kolejność przechodzenia między elementami

Informacje ogólne

Osoba używająca czytnika ekranu TalkBack może poruszać się po aplikacji na dwa sposoby:

  • Czytanie dotykiem: przeciągnięcie jednym palcem nad ekranem umożliwia poznanie fizycznego rozmieszczenia elementów.
  • Nawigacja liniowa: przesuwanie palcem w prawo i w lewo pozwala przemieszczać się do przodu i wstecz, po jednym elemencie naraz. 

Aplikacje na Androida powinny obsługiwać zarówno czytanie dotykiem, jak i nawigację liniową. Kolejność przechodzenia między elementami podczas nawigacji liniowej powinna mniej więcej odpowiadać kolejności wizualnej lub zostać zoptymalizowana w inny sposób z zachowaniem porządku logicznego dla osób korzystających z czytników ekranu.  

Domyślnie TalkBack ustala kolejność przechodzenia pomiędzy elementami podczas nawigacji liniowej na podstawie hierarchii widoków danej aplikacji.

Implementacja

Jeżeli hierarchia widoków aplikacji nie odzwierciedla logicznej struktury tej aplikacji, programiści mogą wpływać na kolejność przechodzenia pomiędzy elementami w usługach ułatwiających dostęp, ustawiając atrybuty android:accessibilityTraversalBefore lub android:accessibilityTraversalAfter. Informują one czytnik ekranu, że ma otworzyć zawartość jednego widoku przed (albo po) innym. Kolejność przechodzenia pomiędzy widokami, dla których nie została ustalona relacja przed/po, jest ustalana przez czytnik ekranu.

Kolejność przechodzenia między elementami w usługach ułatwiających dostęp to funkcja inna niż „zaznaczanie elementu wprowadzającego” używanego do nawigacji z użyciem klawiatury. Do ustalania kolejności podczas nawigacji z użyciem klawiatury stosuje się atrybuty android:nextFocusDown, android:nextFocusLeft, android:nextFocusRight i android:nextFocusUp.

Podczas korzystania z atrybutów accessibilityTraversalBefore i accessibilityTraversalAfter warto pamiętać o następujących rzeczach, by nadmiernie nie ograniczyć kolejności przechodzenia pomiędzy elementami:

  • Atrybutów tych należy używać tylko tam, gdzie logiczna kolejność widoków różni się od kolejności wynikającej z hierarchii widoków.
  • Każdy element, który użytkownik może zaznaczyć podczas czytania dotykiem, powinno dać się zaznaczyć także przy nawigacji liniowej.
  • Kolejność przechodzenia pomiędzy elementami powinna być taka sama jak przy nawigacji liniowej, niezależnie od kierunku. Na przykład, jeżeli bezpośrednio po geście przesuwającym zaznaczenie na „następny” element zostanie wykonany gest przesuwający zaznaczenie na element „poprzedni”, zaznaczenie zawsze powinno wracać na element początkowy.
  • Przy korzystaniu z atrybutów accessibilityTraversalBefore i accessibilityTraversalAfter nie należy wprowadzać cykli, bo może to doprowadzić do sytuacji, w której użytkownicy nie będą w stanie dostać się do niektórych elementów za pomocą nawigacji liniowej.

Projektowanie

Podczas projektowania aplikacji należy zastanowić się, w jaki sposób osoba korzystająca z czytnika ekranu będzie liniowo przemieszczać się pomiędzy informacjami przedstawianymi w interfejsie. Najlepiej, aby kolejność przechodzenia odpowiadała kolejności, w jakiej informacje przedstawiane są w formie wizualnej. Jeżeli jednak takie rozwiązanie jest niemożliwe, można określić kolejność przechodzenia między elementami w taki sposób, by oddawała ona logiczną strukturę lub intencję interfejsu.

Dowiedz się więcej o tworzeniu nawigacji prostej w obsłudze.

Testowanie

Aby ręcznie sprawdzić kolejność przechodzenia między elementami aplikacji w usługach ułatwień dostępu:

  1. Włącz TalkBack.
  2. Otwórz aplikację.
  3. Użyj gestów nawigacji liniowej i przenieś zaznaczenie na każdy element ekranu.
  4. Sprawdź, czy TalkBack przenosi zaznaczenie pomiędzy elementami ekranu w logicznej kolejności i czy odczytuje sensowny opis każdego elementu.
  5. Sprawdź, czy TalkBack przenosi zaznaczenie do przodu i do tyłu pomiędzy elementami ekranu w spójny sposób, niezależnie od kierunku nawigacji.

Automatyczne narzędzia testujące na Androida potrafią wykryć niektóre z problemów związanych z kolejnością przechodzenia między elementami. Accessibility Scanner na Androida pozwala na ręczne przetestowanie aplikacji zainstalowanej na urządzeniu. Jeżeli chcesz przeprowadzać testy automatyczne, włącz sprawdzanie ułatwień dostępu w Espresso i Robolectric.

Szukaj
Wyczyść wyszukiwanie
Zamknij wyszukiwanie
Menu główne
10251413497894270685
true
Wyszukaj w Centrum pomocy
true
true
true
true
true
717068
false
false