Hoppa till innehåll
SilktideHjälp

Avbrytande av pekaråtgärd

Silktide upptäcker knappar och länkar som aktiveras så fort de trycks ned, snarare än när tryckningen släpps. Om aktiveringen sker när tryckningen släpps får användaren möjlighet att återhämta sig från att ha tryckt på fel sak genom att dra bort pekaren innan knappen släpps.

Varför detta är viktigt

Alla trycker ibland på fel knapp, men personer med darrningar, begränsad finmotorik eller nedsatt syn gör det betydligt oftare. Den universella gesten för att ångra sig är att fortsätta hålla ned, dra bort pekaren från kontrollen och släppa – vilket fungerar eftersom knappar och länkar normalt aktiveras när tryckningen släpps. En kontroll som är programmerad att reagera vid den första tryckningen tar bort den möjligheten att komma undan: åtgärden utförs direkt, utan möjlighet att avbryta. På ett formulärs skicka- eller raderingsknapp kan ett feltryck bli ett oåterkalleligt misstag.

Detta är framgångskriterium 2.5.2 i (Avbrytande av pekaråtgärd), ett krav på – en del av den mest grundläggande nivån för överensstämmelse.

Så åtgärdar du problemet

  1. Utlös åtgärder från händelsen click, som utlöses när tryckningen släpps, i stället för mousedown, pointerdown eller touchstart.
  2. Om en kontroll verkligen behöver reagera vid den första tryckningen – till exempel en pianotangent i en musikapp – ska du se till att ett släpp utanför kontrollen återställer eller avbryter åtgärden, eller tillhandahålla en ångra-funktion.
  3. Om den markerade lyssnaren inte faktiskt utlöser någon åtgärd (den kanske bara lägger till en visuell nedtryckt effekt) kan du resultatet.
// Problem: aktiveras omedelbart vid tryckning och kan inte avbrytas
button.addEventListener('mousedown', submitForm);

// Lösning: aktiveras när tryckningen släpps, så att det avbryts om man drar bort pekaren
button.addEventListener('click', submitForm);

Så testar Silktide detta

  1. Läs in varje sida i en riktig webbläsare och registrera de -händelselyssnare som den registrerar.
  2. Hitta lyssnare för händelser när pekaren trycks ned: mousedown, pointerdown och touchstart.
  3. Rapportera en lyssnare när den är kopplad till en kontroll som normalt aktiveras när tryckningen släpps: en knapp, länk, skicka- eller återställningsinmatning, eller ett element med en -roll som button, link, menuitem, tab eller switch.
  4. Hoppa över sidomfattande lyssnare som inte är kopplade till en specifik kontroll, eftersom de vanligtvis hör ihop med rullning eller dra-och-släpp-hantering snarare än aktivering.
  5. Eftersom Silktide inte kan avgöra vad lyssnarens kod gör markeras resultaten för din bekräftelse i stället för att räknas som bekräftade fel.

Felsökning

Lyssnaren aktiverar ingenting

Lyssnare för händelser när pekaren trycks ned används ofta för ofarliga effekter: en nedtryckt stil, en krusningsanimation eller fokushantering, medan den verkliga åtgärden fortfarande utförs vid click. Det uppfyller kriteriet; godkänn resultatet.

Kontrollen är ett skjutreglage eller ett draghandtag

Skjutreglage, draghandtag och liknande komponenter behöver legitimt följa den första tryckningen. WCAG betraktar händelsen när pekaren trycks ned som nödvändig för dessa interaktioner; godkänn resultatet.

Läs mer

Senast uppdaterad

Var den här sidan hjälpsam?

Avbrytande av pekaråtgärd | Silktide Hjälp