Wcag uitgelegd

Focus springt onverwacht door de pagina

Focus springt onverwacht door de pagina: WCAG 2.4.3 Focusvolgorde (post 1/11)

Tab. Je bent in het hoofdmenu. Tab. Je bent in de sidebar. Tab. Je bent terug in het hoofdmenu. Tab. Nu ben je in de content.

Wat?

De focus springt heen en weer als een bal in een flipperkast. De visuele volgorde zegt: menu, content, sidebar. De focusvolgorde zegt: menu, sidebar, content. Want zo staat het in de HTML.

CSS heeft de sidebar visueel naar rechts geplaatst. Maar de focus volgt de HTML. Niet de CSS.

Dit speelt bij elke layout waar CSS de visuele volgorde verandert:

  • order in Flexbox
  • grid-column en grid-row in CSS Grid
  • flex-direction: row-reverse
  • position: absolute of fixed

De fix: pas de HTML-volgorde aan zodat die overeenkomt met de visuele layout.

De test: tab door je pagina. Volgt de focus de visuele volgorde, van links naar rechts, van boven naar beneden? Test ook op smalle schermen: responsive layouts veranderen de visuele volgorde, maar de HTML-volgorde blijft gelijk.

Het hoeft niet pixel-perfect overeen te komen. Maar het mag niet verwarrend zijn. Als je niet kunt voorspellen waar de focus naartoe gaat, is het een probleem.

Related Posts

Klikbare div in plaats van een button

Klikbare div in plaats van een button

Een div met een onclick. Ziet eruit als een knop. Doet iets als je erop klikt.

Informatief icoon dat onzichtbaar is

Informatief icoon dat onzichtbaar is

Drie streepjes. Een hamburgericoon. Dat is je menu. Tenminste, als je het kunt zien.

Paginatitel ontbreekt

Paginatitel ontbreekt

Je opent een pagina. De schermlezer zegt: “https colon slash slash w-w-w dot example dot com slash pagina dash 3-b dot html.”