Bejárási sorrend

Háttér

A TalkBack képernyőolvasót használók kétféleképpen navigálhatnak az alkalmazásban:

  • Felfedezés érintéssel: Ujjuk mozgatásával érzékelhetik az elemek fizikai elrendezését a képernyőn.
  • Lineáris navigáció: Ujjuk jobbra és balra csúsztatásával mozoghatnak előre és visszafelé, elemenként. 

Az Android alkalmazások az érintéses felfedezést és a lineáris navigációt egyaránt támogatják. A lineáris navigáció során használt bejárási sorrendnek általánosságban meg kell egyeznie a vizuális sorrenddel, vagy úgy kell optimalizálni, hogy illeszkedjen a képernyőolvasót használók által alkalmazott logikus sorrendhez.  

Alapértelmezésben a TalkBack az alkalmazás megtekintési hierarchiájának használatával határozza meg az elemek bejárási sorrendjét a lineáris navigáció során.

Gyakorlati alkalmazás

Azokban az esetekben, amikor egy alkalmazás megtekintési hierarchiája nem tükrözi az alkalmazás logikus felépítését, a fejlesztők befolyásolhatják a kisegítő lehetőségek bejárását az android:accessibilityTraversalBefore vagy android:accessibilityTraversalAfter beállításával. Ezek az elemek jelzik, hogy a képernyőolvasónak az egyik nézet tartalmát a másik előtt (vagy után) kell megjelenítenie. A „Before/After” kapcsolattal nem rendelkező nézetek bejárási sorrendjét a képernyőolvasó határozza meg.

A kisegítő lehetőségek bejárási sorrendje eltér a billentyűzetes navigáció során használt „beviteli fókuszú” sorrendtől. A billentyűzetes navigáció sorrendjét az android:nextFocusDown, android:nextFocusLeft, android:nextFocusRight és android:nextFocusUp határozza meg.

A bejárási sorrend túlzott korlátozásának elkerülése érdekében az accessibilityTraversalBefore és accessibilityTraversalAfter használatakor érdemes megfontolni az alábbi tippeket:

  • Csak ott használja ezeket az attribútumokat, ahol a logikus sorrend eltér a megtekintési hierarchián alapuló sorrendtől.
  • Az érintéses felfedezéssel fókuszálható elemeknek lineáris navigáció során is fókuszálhatónak kell lenniük.
  • A bejárási sorrendnek iránytól függetlenül konzisztensnek kell lennie a lineáris navigációval. Ha például a „következő” elemre mozgatást jelző kézmozdulatot azonnal követi az „előző” elemre mozgatást jelző mozdulat, akkor a fókusznak vissza kell térnie az eredeti elemre.
  • Az accessibilityTraversalBefore és accessibilityTraversalAfter megadásakor nem szabad ciklusokat bevezetni, különben a felhasználók azzal a problémával szembesülhetnek, hogy bizonyos elemek lineáris navigáció használatakor nem érhetők el.

Kialakítás

Az alkalmazás kialakításának megtervezésekor vegye figyelembe, hogy a képernyőolvasót használó személy Ön szerint hogyan „járja be” lineárisan a felületen megjelenő adatokat. Ideális esetben a bejárási sorrend megegyezik az adatok vizuális megjelenítésének sorrendjével. Ha azonban ez nem lehetséges, megadhat olyan bejárási sorrendet, amely a felület logikus felépítését vagy a szándékolt sorrendet tükrözi.

További információ a könnyen követhető navigáció létrehozásáról

Tesztelés

Egy alkalmazás kisegítő lehetőségei bejárási sorrendjének manuális vizsgálatához hajtsa végre a következőket:

  1. Kapcsolja be a TalkBack funkciót.
  2. Nyissa meg az alkalmazást.
  3. A lineáris navigáció kézmozdulataival mozgassa a kisegítő lehetőségek fókuszát végig a képernyőn látható elemeken.
  4. Ellenőrizze, hogy a TalkBack logikus sorrendben halad-e végig a képernyőn megjelenő elemeken, és minden felkeresett elemet érthetően ismertet-e.
  5. Ellenőrizze, hogy a TalkBack iránytól függetlenül konzisztens módon mozgatja-e a fókuszt az elemeken előre és visszafelé a képernyőn.

Az Android automatizált tesztelőeszközei képesek a bejárási sorrend bizonyos problémáinak észlelésére. Fontolja meg az androidos Accessibility Scanner használatát az alkalmazás manuális tesztelésére valamely eszközön. Automatizált tesztek elvégzéséhez kapcsolja be a kisegítő lehetőségek ellenőrzését az Espresso és a Robolectric tesztelési eszközökben.

Keresés
Keresés törlése
A keresés bezárása
Főmenü
11250856226690773451
true
Keresés a Súgóoldalakon
true
true
true
true
true
717068
false
false