Volgorde voor doorlopen van items

Achtergrond

Iemand die de TalkBack-schermlezer gebruikt, kan op twee manieren door een app navigeren:

  • Verkennen via aanraking: sleep met één vinger over het scherm om na te gaan hoe de elementen zijn gerangschikt.
  • Lineaire navigatie: veeg naar rechts en naar links om vooruit en achteruit naar een bepaald item te gaan. 

Android-apps moeten zowel verkennen via aanraking als lineaire navigatie ondersteunen. De volgorde voor het doorlopen van items tijdens lineaire navigatie moet over het algemeen overeenkomen met de visuele volgorde. Deze volgorde kan ook worden aangepast zodat deze logischer is voor de gebruikers van schermlezers.  

TalkBack gebruikt standaard de weergavehiërarchie van de app om de volgorde voor het doorlopen van items tijdens de lineaire navigatie te bepalen.

Implementatie

Soms komt de weergavehiërarchie van een app niet overeen met de logische structuur ervan. In dat geval kunnen ontwikkelaars de volgorde waarin toegankelijkheidsservices items doorlopen wijzigen door android:accessibilityTraversalBefore of android:accessibilityTraversalAfter in te stellen. Deze eigenschappen geven aan dat een schermlezer de inhoud van de ene weergave vóór (of na) de inhoud van een andere weergave moet doornemen. Weergaven zonder vaste voorafgaande of volgende weergave worden doorlopen in de volgorde die door de schermlezer wordt bepaald.

De volgorde voor het doorlopen van items door toegankelijkheidsservices verschilt van de volgorde voor de invoerfocus die voor de toetsenbordnavigatie wordt gebruikt. De volgorde voor de toetsenbordnavigatie wordt aangegeven door android:nextFocusDown, android:nextFocusLeft, android:nextFocusRight, en android:nextFocusUp.

Wanneer je accessibilityTraversalBefore en accessibilityTraversalAfter gebruikt, houd dan rekening met de volgende tips zodat je niet te veel beperkingen oplegt aan de volgorde voor het doorlopen van items:

  • Gebruik deze kenmerken alleen op plaatsen waar de logische volgorde verschilt van de volgorde van de weergavehiërarchie.
  • Op elk element waarop een gebruiker de focus kan leggen met aanraakverkenning, moet ook tijdens lineaire navigatie de focus kunnen worden gelegd.
  • De volgorde voor het doorlopen van items moet consistent zijn met de lineaire navigatie, ongeacht de richting. Een beweging om de focus naar het volgende element te verplaatsen, onmiddellijk gevolgd door een beweging om de focus naar het vorige element te verplaatsen, moet er bijvoorbeeld altijd toe leiden dat de focus terugkeert naar het oorspronkelijke element.
  • Er mogen geen cycli worden gebruikt bij het definiëren van accessibilityTraversalBefore en accessibilityTraversalAfter, anders kunnen gebruikers in sommige situaties bepaalde elementen niet bereiken met lineaire navigatie.

Ontwerp

Bedenk bij het ontwerpen van een app hoe iemand die een schermlezer gebruikt lineair door de informatie in de interface moet navigeren. In het ideale geval komt de volgorde voor het doorlopen van items overeen met die van de visuele weergave van de informatie. Wanneer dit echter niet mogelijk is, kun je een volgorde opgeven die overeenkomt met de logische structuur of de intentie van de interface.

Meer informatie over het maken van een gebruiksvriendelijke navigatie.

Testen

Handmatig de volgorde voor het doorlopen van items door toegankelijkheidsservices in een app evalueren:

  1. Schakel TalkBack in.
  2. Open de app.
  3. Gebruik lineaire navigatie om de focus voor toegankelijkheidsservices naar elk element op het scherm te verplaatsen.
  4. Controleer of TalkBack de focus in een logische volgorde verplaatst van het ene naar het andere element op het scherm en een zinvolle omschrijving geeft van elk element waarop de focus wordt gelegd.
  5. Controleer of TalkBack op een consistente manier de focus voor- en achteruit verplaatst tussen de elementen op het scherm, ongeacht de navigatierichting.

Met de geautomatiseerde testtools van Android kunnen bepaalde problemen met de volgorde voor het doorlopen van items worden gedetecteerd. Je kunt Accessibility Scanner voor Android gebruiken om je app handmatig op het apparaat te testen. Voor geautomatiseerde tests schakel je toegankelijkheidscontroles in Espresso en Robolectric in.

Zoeken
Zoekopdracht wissen
Zoekfunctie sluiten
Hoofdmenu
5369611306910287148
true
Zoeken in het Helpcentrum
true
true
true
true
true
717068
false
false