Standarder · WCAG 2.2

SC 2.5.2 Nivå A WCAG 2.1

Pekarannullering

Funktioner som utlöses av ett enda pekarklick måste aktiveras vid upp-händelsen, inte ned-händelsen — så att användare kan dra bort fingret för att avbryta. Avbryt, ångra eller förhandsaktivering måste vara möjligt, om inte omedelbar aktivering är nödvändig.

Vad det kräver

När en användare börjar trycka eller klicka och sedan inser att de har fel mål, ska de kunna dra bort fingret innan de lyfter det eller släpper musen — och åtgärden ska inte utlösas. Det innebär att aktivering måste ske vid pointerup / click — standardbeteendet i webbläsaren — inte vid pointerdown / mousedown.

Framgångskriteriet kräver en av fyra garantier:

  • Ned-händelsen utlöser inte funktionen, eller
  • Slutförandet sker vid upp-händelsen över samma mål, med möjlighet att avbryta genom att flytta bort, eller
  • Det finns ett “ångra”-alternativ efter aktivering, eller
  • Det omvända av funktionen återställer resultatet (växlingsknapp).

Nödvändig aktivering — som nedslaget av en pianotangent i en musikapp — är undantagen.

Hur du uppfyller det

  • Använd click-lyssnare, inte mousedown / touchstart. Webbläsaren implementerar redan korrekt avbryt-vid-drag-beteende.
  • För anpassade widgetar som hanterar pekarhändelser manuellt, utlös vid pointerup och kontrollera att målet fortfarande är samma element under pekaren.
  • För destruktiva åtgärder (radera, skicka), kombinera med ett bekräftelsesteg eller ett ångra-meddelande.
  • För växlingsknappar (ljud av, favorit, tryckt tillstånd) reverserar ett andra tryck ändringen, vilket också uppfyller framgångskriteriet.

Vanliga fel

  • Knappar kopplade till onmousedown som utlöses så fort pekaren trycks ned. Att dra bort gör ingenting.
  • Anpassade draghandtag som tolkar pointerdown som en “markerings”-händelse.
  • Kort som navigerar till en detaljsida vid touchstart — användaren kan inte scrolla förbi utan att av misstag aktivera.
  • Rullgardinsmenyer som stängs vid mousedown utanför istället för click, och på så sätt “äter upp” klicket.

Varför det spelar roll

Drag-bort-för-att-avbryta är hur användare med skakningar, motoriska funktionsnedsättningar eller oprecist pekande (penna på ett skakande tåg) återhämtar sig från ett feltryck. Aktivering vid ned-händelsen tar bort den möjligheten — när fingret väl rör vid skärmen är åtgärden genomförd. Det är också ett användbarhetsproblem för alla: även användare utan funktionsnedsättning förlitar sig rutinmässigt på drag-bort när trycket hamnar på fel mål.