Zum Inhalt springen
SilktideHilfe

Zeiger-Abbruch

Silktide erkennt Schaltflächen und Links, die in dem Moment reagieren, in dem sie heruntergedrückt werden, statt erst beim Loslassen. Das Auslösen beim Loslassen gibt Menschen die Möglichkeit, sich von einem Fehlklick zu erholen, indem sie gedrückt halten, vom Steuerelement wegziehen und erst dann loslassen.

Warum das wichtig ist

Jede Person drückt gelegentlich die falsche Schaltfläche, aber Menschen mit Tremor, eingeschränkter Feinmotorik oder Sehbehinderung passiert das deutlich häufiger. Die universelle Rettungsgeste besteht darin, weiter gedrückt zu halten, vom Steuerelement wegzuziehen und loszulassen – das funktioniert, weil Schaltflächen und Links normalerweise beim Loslassen auslösen. Ein Steuerelement, das bereits auf den ersten Druck reagiert, nimmt diesen Ausweg: Die Aktion feuert sofort, ohne Abbruchmöglichkeit. Bei einer Senden- oder Löschen-Schaltfläche in einem Formular wird ein Ausrutscher so zu einem irreversiblen Fehler.

Dies ist das -Erfolgskriterium 2.5.2 (Pointer Cancellation), eine Anforderung der – Teil der grundlegendsten Konformitätsstufe.

So beheben Sie das

  1. Lösen Sie Aktionen über das click-Ereignis aus, das beim Loslassen feuert, statt über mousedown, pointerdown oder touchstart.
  2. Wenn ein Steuerelement wirklich auf den Erstkontakt reagieren muss – zum Beispiel eine Klaviertaste in einer Musik-App –, stellen Sie sicher, dass das Loslassen außerhalb des Steuerelements die Aktion rückgängig macht oder abbricht, oder bieten Sie eine Rückgängig-Funktion an.
  3. Wenn der gemeldete Listener tatsächlich keine Aktion auslöst (er fügt vielleicht nur einen visuellen Gedrückt-Effekt hinzu), können Sie den Befund .
\/\/ Problem: wird sofort beim Drücken ausgelöst, kann nicht abgebrochen werden
button.addEventListener('mousedown', submitForm);

\/\/ Fix: wird beim Loslassen ausgelöst, dadurch kann Wegziehen abbrechen
button.addEventListener('click', submitForm);

So testet Silktide dies

  1. Laden Sie jede Seite in einem echten Browser und zeichnen Sie die -Event-Listener auf, die sie registriert.
  2. Suchen Sie Listener für die Down-Events: mousedown, pointerdown und touchstart.
  3. Melden Sie einen Listener, wenn er an ein Steuerelement angehängt ist, das normalerweise beim Loslassen aktiviert wird: eine Schaltfläche, ein Link, ein Eingabefeld vom Typ submit oder reset, oder ein Element mit einer -Rolle wie button, link, menuitem, tab oder switch.
  4. Überspringen Sie seitenweite Listener, die nicht an ein bestimmtes Steuerelement gebunden sind; diese gehören meist zum Scrollen oder Drag-and-Drop statt zur Aktivierung.
  5. Da Silktide nicht erkennen kann, was der Code des Listeners tut, werden Funde zu Ihrer Bestätigung markiert, statt als bestätigte Fehler gezählt.

Fehlerbehebung

Der Listener aktiviert nichts

Down-Event-Listener werden häufig für harmlose Effekte verwendet: einen gedrückten Stil, eine Ripple-Animation oder Fokusverwaltung, während die eigentliche Aktion weiterhin auf click liegt. Das erfüllt das Kriterium; genehmigen Sie den Befund.

Das Steuerelement ist ein Schieberegler oder Ziehgriff

Schieberegler, Ziehgriffe und ähnliche Widgets verfolgen berechtigterweise den Erstkontakt. WCAG betrachtet das Down-Event als wesentlich für diese Interaktionen; genehmigen Sie den Befund.

Mehr erfahren

Zuletzt aktualisiert

War diese Seite hilfreich?

Zeiger-Abbruch | Silktide-Hilfe