Ved fokus
Når en brugergrænsefladkomponent modtager fokus, må det ikke udløse en kontekstændring — ingen automatisk sidenavigation, intet nyt vindue, ingen større indholdsomlægning. Fokus er til orientering, ikke til handling.
Hvad det kræver
At modtage fokus må aldrig udløse en „kontekstændring.“ WCAG definerer en kontekstændring som: navigation til en ny side, åbning af et nyt vindue, flytning af fokus til en anden komponent eller markant omlægning af sideindholdet. Fokus er tastaturækvivalenten til at flytte musen hen over et element — det skal forblive passivt.
Brugeren skal selv styre kontekstændringer via bevidst aktivering: tryk på en knap, Enter på et link, indsendelse af en formular.
Sådan opfyldes det
- Kald aldrig
window.open,location.href = …ellerform.submit()fra enfocus-hændelseshåndterer. - Tooltips og små reveal-on-focus-oplysninger er i orden — de udgør ikke en kontekstændring. Større indholdsskift gør.
- For autofuldførelses-forslag udgør flytning af fokus til et forslag ikke en overtrædelse af dette succeskriterium, så længe forslagslisten i sig selv er den forventede adfærd.
- Hvis yderligere UI skal vises, når et element fokuseres (f.eks. hjælpetekst til et inputfelt), placeres det i nærheden og uden forstyrrende effekt.
- Test med tastatur: Tab igennem hvert interaktivt element. Alt, der „springer“ eller auto-indsender ved fokus, er en fejl.
Almindelige fejl
- En dropdown, der auto-indsender, når en mulighed modtager fokus via piletasterne.
- Tab-fokus på et link, der udløser øjeblikkelig navigation via en
onfocus-håndterer. - Datovelgere, der lukker sig selv det øjeblik det næste felt modtager fokus, inden brugeren er færdig med at interagere.
- Login-formularer, der auto-indsender, når passwordfeltet modtager fokus fra en adgangskodemanager.
Hvorfor det betyder noget
Tastaturbrugere navigerer ved sekventielt at flytte fokus hen over siden. Hvis fokus udløser en kontekstændring, er brugeren pludselig et sted, de ikke havde til hensigt at befinde sig — og for skærmlæserbrugere er dette desorienterende, fordi annoncerings-køen pludselig skifter. Reglen er enkel: fokus orienterer, aktivering handler.