Hopp til innhold
SilktideHjelp

Avbryting av peker

Silktide oppdager knapper og lenker som aktiveres i det de trykkes ned, i stedet for når trykket slippes. Når aktiveringen skjer ved slipp, får folk mulighet til å angre etter å ha trykket på feil element ved å dra pekeren bort før de slipper.

Hvorfor dette er viktig

Alle trykker av og til på feil knapp, men personer med skjelvinger, begrenset fingerferdighet eller nedsatt syn gjør det langt oftere. Den universelle måten å angre på er å fortsette å holde inne, dra pekeren bort fra kontrollen og slippe – noe som fungerer fordi knapper og lenker vanligvis aktiveres ved slipp. En kontroll som reagerer på det første trykket, fjerner denne muligheten til å unnslippe: Handlingen utføres umiddelbart, uten mulighet til å avbryte. På et skjema med en send inn- eller sletteknapp kan ett feiltrykk bli en ugjenkallelig feil.

Dette er suksesskriterium 2.5.2 i (Avbryting av peker), et krav på – en del av det mest grunnleggende samsvars­nivået.

Slik løser du det

  1. Utløs handlinger fra click-hendelsen, som utløses ved slipp, i stedet for mousedown, pointerdown eller touchstart.
  2. Hvis en kontroll faktisk må reagere på det første trykket – for eksempel en pianotangent i en musikkapp – må du sørge for at det å slippe utenfor kontrollen reverserer eller avbryter handlingen, eller tilby en angre-funksjon.
  3. Hvis den markerte lytteren ikke faktisk utløser en handling (den kan for eksempel bare legge til en visuell trykkeeffekt), kan du funnet.
// Problem: fires immediately on press, cannot be canceled
button.addEventListener('mousedown', submitForm);

// Fix: fires on release, so dragging away cancels
button.addEventListener('click', submitForm);

Slik tester Silktide dette

  1. Last inn hver side i en ekte nettleser, og registrer -hendelseslytterne den registrerer.
  2. Finn lyttere for hendelser når pekeren trykkes ned: mousedown, pointerdown og touchstart.
  3. Rapporter en lytter når den er knyttet til en kontroll som vanligvis aktiveres ved slipp: en knapp, lenke, send inn- eller tilbakestillingsfelt, eller et element med en -rolle som button, link, menuitem, tab eller switch.
  4. Hopp over lyttere som gjelder hele siden, og som ikke er knyttet til en bestemt kontroll. De brukes vanligvis til rulling eller dra-og-slipp, ikke aktivering.
  5. Fordi Silktide ikke kan vite hva koden til lytteren gjør, markeres funn for bekreftelse i stedet for å telles som bekreftede feil.

Feilsøking

Lytteren aktiverer ingenting

Lyttere for hendelser når pekeren trykkes ned, brukes ofte til ufarlige effekter: en trykket stil, en ringanimasjon eller fokushåndtering, mens den faktiske handlingen fortsatt skjer på click. Dette oppfyller kriteriet; godkjenn funnet.

Kontrollen er en glidebryter eller et drahåndtak

Glidebrytere, drahåndtak og lignende komponenter følger legitimt det første trykket. WCAG regner hendelsen når pekeren trykkes ned som nødvendig for disse samhandlingene; godkjenn funnet.

Les mer

Sist oppdatert

Var denne siden nyttig?