Zum Inhalt springen
SilktideHilfe

Tastenkürzel mit Einzelzeichen

Silktide findet Seiten, die einen Tastatur-Listener für die gesamte Seite registrieren – am document, window oder an <body>/<html> – und fordert Sie auf zu prüfen, ob irgendwelche Einzelzeichen-Kürzel eine Ausweichmöglichkeit benötigen.

Gängige Beispiele sind das Drücken von j zum Scrollen nach unten, \/ um die Suche zu fokussieren, oder g gefolgt von h, um zur Startseite zu gelangen.

Dies ist eine : Ein globaler Tastatur-Listener ist ein echter Anlass, hinzuschauen, aber allein aus der Registrierung kann Silktide nicht erkennen, ob der Handler ein Einzelzeichen-Kürzel implementiert. Seiten ohne globalen Tastatur-Listener werden nicht markiert.

Warum das wichtig ist

Zwei Gruppen sind von ständig aktiven Einzelzeichen-Kürzeln besonders betroffen:

  • Nutzende mit Spracheingabe diktieren Texte und Befehle laut. Software verwandelt ihre Sprache in Tastenanschläge, sodass ein gewöhnlicher Satz zu einer Folge unbeabsichtigter Kürzel-Aktivierungen wird – Seiten können springen, Dialoge können sich öffnen und Aktionen können mitten im Satz ausgelöst werden.
  • Menschen mit eingeschränkter Feinmotorik oder Tremor treffen häufig Tasten, die sie nicht beabsichtigt haben, und jede einzelne Taste kann ein aktiver Auslöser sein.

Erfolgskriterium 2.1.4 (Niveau A) verlangt daher, dass Einzelzeichen-Kürzel abgeschaltet, so neu belegt werden, dass eine Modifikatortaste wie Strg oder Alt erforderlich ist, oder nur ausgelöst werden, solange das betreffende Steuerelement hat.

So beheben Sie das

Für jeden globalen Tastatur-Handler, der ein Einzelzeichen-Kürzel implementiert, tun Sie eines der Folgenden:

  1. Stellen Sie eine Einstellung bereit, mit der die Kürzel ausgeschaltet werden können.
  2. Verlangen Sie eine Modifikatortaste, sodass das Kürzel z. B. Strg+K statt k wird.
  3. Verarbeiten Sie die Taste nur, solange das betreffende Steuerelement fokussiert ist – auf ein fokussiertes Steuerelement beschränkte Kürzel sind ausdrücklich erlaubt.
\/\/ Wird immer ausgelöst, wenn \"k\" irgendwo auf der Seite gedrückt wird
document.addEventListener('keydown', (e) => {
  if (e.key === 'k') openSearch();
});

\/\/ Behoben: erfordert, dass Strg (oder Cmd) gedrückt gehalten wird
document.addEventListener('keydown', (e) => {
  if (e.key === 'k' && (e.ctrlKey || e.metaKey)) openSearch();
});

Wenn ein gemeldeter Listener keine Einzelzeichen-Kürzel hat – oder bereits eine dieser Ausweichmöglichkeiten bietet –, Sie den Fund.

So testet Silktide dies

  1. Sammelt die Tastatur-, die die Seite im Browser registriert.
  2. Behält nur seitenweite Listener – jene, die am document, am window oder am <body>/<html>-Element hängen. Listener an einzelnen Steuerelementen sind ausgenommen, weil sie nur ausgelöst werden, solange dieses Steuerelement fokussiert ist.
  3. Meldet jeden verbleibenden Listener zur Bestätigung. Silktide durchsucht den Handler-Quelltext NICHT nach Mustern wie e.key === '\u2026' – das ist gegenüber minifiziertem und Framework-Code zu fragil. Das Vorhandensein eines globalen Tastatur-Listeners ist das Signal; Ihre Prüfung ist das Urteil.

Fehlerbehebung

Der Listener ist kein Einzelzeichen-Kürzel

Viele globale Tastatur-Handler überwachen nur Escape, Pfeiltasten oder Modifikatorkombinationen. Wenn Ihrer keine Einzelzeichen-Kürzel enthält, genehmigen Sie den Fund.

Das Kürzel lässt sich bereits deaktivieren oder neu belegen

Silktide sieht die Listener-Registrierung, aber nicht, ob Ihre Website einen Umschalter in den Einstellungen anbietet. Falls ja, ist die Seite konform – genehmigen Sie den Fund.

Kürzel aus Drittanbieter-Skripten

Chat-Widgets, Videoplayer und Analysetools registrieren bisweilen eigene globale Tastatur-Listener. Sie zählen trotzdem für Ihre Seite; prüfen Sie die Barrierefreiheitsoptionen des Anbieters oder sprechen Sie ihn darauf an.

Mit dem Attribut accesskey erstellte Kürzel

Diese werden separat von der Prüfung Accesskey-Attribut abgedeckt; diese Prüfung deckt in Skripten implementierte Kürzel ab.

Mehr erfahren

Zuletzt aktualisiert

War diese Seite hilfreich?

Tastenkürzel mit Einzelzeichen | Silktide-Hilfe