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
ésaccessibilityTraversalAfter
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:
- Kapcsolja be a TalkBack funkciót.
- Nyissa meg az alkalmazást.
- 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.
- 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.
- 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.