Retningslinje
2.5.2 Pekeravbrytelse
La folk ombestemme seg—ikke la noe skje med en gang brukeren trykker.
Suksesskriterium 2.5.2 Pekeravbrytelse (Nivå A)
For funksjonalitet som kan betjenes med en enkelt pekerbevegelse, gjelder minst ett av følgende punkter:
- Ingen trykkhandling: Trykkhandlingen for pekerbevegelsen brukes ikke til å utføre noen del av funksjonen.
- Avbryte eller angre: Funksjonen utføres på slipphandlingen, og det finnes en mekanisme for å avbryte funksjonen før den utføres, eller for å angre funksjonen etter at den er utført.
- Slipphandling medfører reversering: Slipphandlingen opphever resultatet av den foregående trykkhandlingen.
- Avgjørende: Det er avgjørende å utføre funksjonen på trykkhandlingen.
Hvorfor er suksesskriteriet viktig?
Ingen liker å utføre en feil handling ved et uhell, men personer med nedsatt motorikk, syn eller konsentrasjon kan være spesielt utsatt for å komme borti feil knapp. Hvis handlingen skjer med en gang brukeren trykker ned, får de ikke rettet opp feilen. Ved å vente til de slipper, kan de flytte pekeren bort før det skjer noe.
Anbefalinger
Først og fremst anbefaler vi at du bruker native HTML eller Aksel-komponenter fremfor å mekke egne. Hvis funksjonaliteten du trenger ikke finnes allerede i HTML eller Aksel, sjekk mønstrene i ARIA Authoring Practices Guide for veiledning. Det aller viktigste er å ikke bruke onmousedown
eller touchstart
til å trigge noe viktig. Rådene tilknyttet WCAG 3.3.4 Forhindring av feil, der brukeren skal kunne bekrefte, gjøre om eller korrigere bestemte handlinger, er også god praksis her.
Vanlige misforståelser
Mange tror kanskje at et vanlig klikk alltid trigges når man trykker ned, men i nettlesere skjer aktiveringen faktisk når du slipper opp (altså mouseup
) for standard knapper og lenker. Problemet oppstår ofte når utviklere overstyrer standard oppførsel, for eksempel ved å bruke onmousedown
eller touchstart
til å utføre en handling tidligere enn normalt (kanskje for at det skal føles kjappere). Slike tilpasninger kan føre til brudd på kravet fordi brukeren mister muligheten til å ombestemme seg.
Hvordan teste kravet?
Kjernespørsmål
Kan brukeren avbryte eller omgjøre handlinger som startes med et peketrykk?
Innhold du må teste
All funksjonalitet som utføres med klikk, trykk eller dra, med unntak av funksjonalitet der det er essensielt at handlingen utløses på ned-eventet.
Tips
Eksempler på funksjonalitet der det er essensielt at handlingen utløses på ned-eventet er emulering av tastaturer, for eksempel et piano-spill.
Testmetode
Trykk og hold museknappen nede. Verifiser at minst én av følgende er sant:
- Ingen trykkhandling: Funksjonen utløses ikke ved å klikke/trykke og holde pekeren nede (ned-eventet).
- Avbryte eller angre: Du kan angre funksjonen etter at den er utført eller avbryte funksjonen før den utføres (for eksempel ved å flytte musen bort fra elementet og slippe).
- Slipphandling medfører reversering: Handlingen reverseres automatisk når du slipper klikket/trykket (opp-eventet). Eksempler kan være pop-ups som vises på ned-eventet og skjules på opp-eventet.
Ofte stilte spørsmål
Medvirkende