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

Elementen met een vaste breedte

Elementen met een vaste breedte

Je zoomt in tot 400%. De tekst wordt groter, de pagina smaller.

overflow: hidden knipt de focusindicator af

overflow: hidden knipt de focusindicator af

Een mooie kaartcomponent. Afgeronde hoeken. overflow: hidden om te voorkomen dat content buiten de hoeken valt.

Focusindicator die opgaat in de achtergrond

Focusindicator die opgaat in de achtergrond

Er is een focusindicator. Technisch gezien. Een lichtgrijze outline (#E0E0E0) op een witte achtergrond. 1 pixel dik.