Attribut accesskey
Silktide findet Elemente, die ein accesskey deklarieren – eine veraltete Methode, einem Element ein eigenes Tastenkürzel zu geben. Diese Kürzel sind immer aktiv und können von Besuchenden nicht deaktiviert werden, was mehr Probleme verursacht, als es löst.
Warum das wichtig ist
Das Attribut accesskey in erzeugt ein Tastenkürzel mit einem einzelnen Zeichen, das immer ausgelöst wird, sobald die Taste gedrückt wird. Das kollidiert mit der Art und Weise, wie viele Menschen ihre Tastatur bereits benutzen: -Nutzende und Browser reservieren sich überlappende Tastenkombinationen, sodass ein accesskey unbemerkt ein Kürzel überschreiben kann, auf das jemand angewiesen ist – und welche Tastenkombination ihn auslöst, variiert je nach Browser und Betriebssystem. Menschen, die per Spracheingabe tippen oder eine geringe Feinmotorik haben, können das Kürzel außerdem leicht versehentlich auslösen.
Das -Erfolgskriterium 2.1.4 (Zeichen-Tastenkürzel, Stufe A) verlangt, dass einstellige Tastenkürzel deaktiviert, neu belegt oder nur ausgelöst werden können, während das Element den hat. Ein accesskey erfüllt nichts davon: Er ist immer aktiv und nur die Website kann ihn ändern.
So beheben Sie es
- Entfernen Sie das Attribut
accesskey. Es bietet selten echten Mehrwert, und seine Entfernung ändert nichts Sichtbares auf der Seite.
<!-- Immer aktives Kürzel, das mit den eigenen des Nutzers kollidieren kann -->
<a href="\/search" accesskey="s">Suche</a>
<!-- Behoben: ein normaler Link, wie alles andere per Tab erreichbar -->
<a href="\/search">Suche</a>
- Wenn Sie wirklich Tastenkürzel benötigen, implementieren Sie sie so, dass Besuchende sie deaktivieren oder neu belegen können – oder sodass sie nur gelten, solange das betreffende Steuerelement den Fokus hat.
Wie Silktide das prüft
- Alle Elemente im HTML der Seite ermitteln, die ein Attribut
accesskeymit einem nicht leeren Wert deklarieren. - Jedes davon melden. Leere Werte (
accesskey="") werden ignoriert, da einige Komponentenbibliotheken das Attribut wirkungslos rendern und dadurch kein Kürzel entsteht.
Fehlerbehebung
Wir haben Accesskeys hinzugefügt, um die Barrierefreiheit zu verbessern
Das war früher eine empfohlene Maßnahme, aber die Konflikte mit Browser- und Kürzeln überwiegen den Nutzen. Moderne Empfehlungen raten vom Attribut ab. Gut strukturierte Seiten mit sinnvollen Überschriften und Landmarks dienen Tastaturnutzenden besser.
In JavaScript implementierte Tastenkürzel
Diese Prüfung deckt nur das Attribut accesskey ab. In Skripten implementierte Kürzel werden von Zeichen-Tastenkürzel abgedeckt; die beiden Prüfungen ergänzen sich und können beide auf derselben Seite erscheinen.