Stufe
A
Seit
WCAG 2.1
/ WCAG-Kriterium

2.1.4 Zeichentastenbefehle

Ein Tastaturkürzel aus einer einzelnen Buchstaben-, Ziffern- oder Symboltaste muss sich abschalten oder neu belegen lassen, es sei denn, es wirkt nur, solange sein Bedienelement den Fokus hat.

/ Was es verlangt

Manche Webanwendungen reagieren auf einzelne Tasten: j und k zum Wechseln zwischen Nachrichten, e zum Archivieren, der Schrägstrich für die Suche, das Fragezeichen für die Hilfe. Schnellen Tastaturnutzern kommt das entgegen, doch Spracheingabe macht aus diktierten Wörtern Buchstabenfolgen, und ein Satz, den das Mikrofon im falschen Moment aufnimmt, kann mehrere Einträge hintereinander archivieren, stummschalten oder überspringen. Auch Menschen mit Tremor oder eingeschränkter Feinmotorik treffen versehentlich Tasten. Das Kriterium verlangt, dass sich solche Kürzel abschalten oder ändern lassen.

Es betrifft Tastaturkürzel, die im Inhalt nur mit Buchstaben, groß oder klein, Satzzeichen, Ziffern oder Symbolen umgesetzt sind, auch Folgen wie g und danach i. Mindestens eine von drei Bedingungen muss erfüllt sein: Ein Mechanismus schaltet das Kürzel ab, ein Mechanismus belegt es neu mit einer nicht druckbaren Taste wie Strg oder Alt, oder das Kürzel gehört zu einer Komponente und wirkt nur, solange diese den Fokus hat. Wie viele physische Tasten das Zeichen erzeugen, spielt keine Rolle, ein mit Umschalt getipptes Fragezeichen zählt also mit. Nicht betroffen ist das Tippen eines Buchstabens, um in einem fokussierten Listenfeld oder Menü zu springen, und ebenso wenig sind es Zugriffstasten, die Browser meist mit Modifikatortasten auslösen.

/ Woran Seiten scheitern

  • Eine Webmail-Anwendung archiviert die offene Nachricht mit e und löscht sie mit # überall auf der Seite, und keine Einstellung schaltet die Kürzel ab.
  • Ein Mediaplayer schaltet Wiedergabe und Stummschaltung mit k und m um, sobald die Seite den Fokus hat, nicht nur der Player.
  • Ein Druck auf s oder den Schrägstrich irgendwo auf der Seite setzt den Fokus ins Suchfeld, und nichts schaltet das ab.
  • Eine Hilfeseite listet die Ein-Tasten-Kürzel auf, bietet aber keinen Weg, sie zu ändern oder abzuschalten.
  • Ein keydown-Handler auf document reagiert auf einzelne Buchstaben, sobald der Fokus außerhalb eines Formularfelds liegt, und prüft nie auf eine Modifikatortaste.

/ So prüfen Sie es selbst

  1. Suchen Sie in Hilfe, Einstellungen und Dokumentation nach einer Liste von Tastaturkürzeln. Prüfen Sie auch, wenn es keine gibt.
  2. Klicken Sie auf eine leere Stelle der Seite, damit kein Formularfeld den Fokus hat, und drücken Sie nacheinander jeden Buchstaben, die Ziffern und gängige Zeichen wie ?, / und den Punkt. Lassen Sie Funktionen des Browsers selbst, etwa die Suche beim Tippen, außer Acht.
  3. Notieren Sie jede ausgelöste Aktion und ob sie auch dann ausgelöst wird, wenn das zugehörige Bedienelement keinen Fokus hat.
  4. Suchen Sie eine Einstellung, die Zeichenkürzel abschaltet oder sie mit Strg, Alt oder einer anderen Modifikatortaste neu belegt, und prüfen Sie, ob sie funktioniert.
  5. Wählen Sie in den Chrome-Entwicklerwerkzeugen das html-Element, öffnen Sie den Bereich Event Listeners und suchen Sie keydown-, keypress- und keyup-Handler an document oder window.

/ So beheben Sie es

  • Bieten Sie eine Einstellung, die alle Ein-Tasten-Kürzel abschaltet, und merken Sie sich die Wahl über Besuche hinweg.
  • Lassen Sie jedes Kürzel auf eine Kombination mit Strg, Alt oder Meta umlegen.
  • Hängen Sie den keydown-Listener an die Komponente selbst, etwa den Player oder das Raster, statt an document, damit das Kürzel nur wirkt, solange diese Komponente den Fokus hat.
  • Verlangen Sie standardmäßig eine Modifikatortaste und prüfen Sie im Handler event.ctrlKey, event.altKey oder event.metaKey, bevor er handelt.
  • Ignorieren Sie in jedem Fall Tastendrücke, deren Ziel ein input, textarea, select oder ein Element mit contenteditable ist, damit Tippen oder Diktieren in ein Feld nie einen Befehl auslöst.

/ Was unser Scanner prüft

In unserem Scan meldet nichts unter 2.1.4. Kürzel stecken in keydown-Handlern im Skript, und der Scan liest diesen Code weder, noch tippt er Buchstaben in die Seite, um zu sehen, was ausgelöst wird. HTML_CodeSniffer gibt zu diesem Kriterium nur einen Hinweis aus, der verworfen wird. Eine manuelle Prüfung drückt einzelne Tasten mit dem Fokus außerhalb von Formularfeldern und sucht in den Einstellungen nach einem Weg, Kürzel abzuschalten oder neu zu belegen.

/ Wer es verletzt, nach unseren eigenen Messungen

Der wöchentliche Index hat für dieses Kriterium keine Zahlen, weil keine Prüfung des Website-Scans es testen kann. Ein Mensch beurteilt es, und genau dafür gibt es ein manuelles Audit.

Eine Seite je Stelle, automatisch im Wochenrhythmus gemessen. Behebungen seit dem letzten Durchlauf erscheinen beim nächsten, und jede Eintragsseite bietet ein Recht auf Gegendarstellung.

/ Fragen zu diesem Kriterium

Fallen Kürzel mit Strg oder Alt unter 2.1.4?

Nein. Das Kriterium betrifft Kürzel, die nur aus druckbaren Zeichen bestehen: Buchstaben, Ziffern, Satzzeichen und Symbolen. Ein Kürzel, das Strg, Alt oder eine andere nicht druckbare Taste braucht, liegt außerhalb, und deshalb ist das Neubelegen mit einer solchen Taste einer der Wege, das Kriterium zu erfüllen.

Mit welcher WCAG-Version kam 2.1.4 hinzu?

Zeichentastenbefehle kam mit WCAG 2.1 auf Stufe A hinzu und ist auf derselben Stufe Teil von WCAG 2.2. Eine Prüfung nur nach WCAG 2.0 enthält es nicht, jede Prüfung nach 2.1 oder 2.2 auf Stufe A oder AA dagegen schon.

Zählen einzelne Buchstaben in einem fokussierten Widget?

Nicht, wenn sie nur wirken, solange dieses Widget den Fokus hat. Einen Buchstaben zu tippen, um in einem fokussierten Listenfeld zu einer Option zu springen, oder eine Taste, die ein Raster nur bei Fokus verarbeitet, erfüllt die dritte Bedingung des Kriteriums. Das Problem ist ein Kürzel, das wirkt, wo auch immer der Fokus gerade liegt.