Barrierefreiheitszertifikat – Startseite

Ohne Maus ans Ziel: Tastatur und Fokus

Viele Menschen bedienen das Web ohne Maus: mit Tastatur, Schaltern, Sprachsteuerung oder Screenreader. Hier lesen Sie, was dafür funktionieren muss und wie Sie den Fokus in modernen Web-Apps richtig führen.

Zuletzt geprüft: · 6 Min. Lesezeit

Die Grundregeln

Echte Buttons statt klickbarer divs

Ein <button> ist von Haus aus fokussierbar, reagiert auf Enter und Leertaste und wird als Schaltfläche angesagt. Ein <div> mit Klick-Handler kann nichts davon. Nehmen Sie für Aktionen <button>, für Seitenwechsel <a href>. Das spart Code und Fehler.

Problem
<div class="btn" onclick="save()">
  Speichern
</div>
Besser
<button type="button" class="btn">
  Speichern
</button>

Der Button ist fokussierbar, reagiert auf Enter und Leertaste und hat die richtige Rolle.

tabindex: 0 und -1 ja, positive Werte nein

tabindex="0" nimmt ein Element in die normale Reihenfolge auf, etwa ein eigenes Widget. tabindex="-1" macht ein Element per Skript fokussierbar, ohne es in die Tab-Reihenfolge zu stellen, zum Beispiel eine Überschrift, auf die Sie nach einem Seitenwechsel springen. Positive Werte wie tabindex="3" bringen die Reihenfolge durcheinander und sind fast nie die richtige Lösung. Ordnen Sie lieber das HTML so, wie es gelesen werden soll.

Seitenwechsel in Single-Page-Apps

Bei einer klassischen Website lädt nach einem Klick eine neue Seite, und der Screenreader beginnt oben. In einer Single-Page-App tauscht JavaScript nur den Inhalt aus. Der Fokus bleibt auf dem geklickten Link, der vielleicht gar nicht mehr existiert, und niemand erfährt, dass sich etwas geändert hat.

Bewährt hat sich: Nach jedem Routenwechsel den Seitentitel (document.title) aktualisieren (2.4.2 Seite mit Titel) und den Fokus auf die neue Hauptüberschrift setzen. Alternativ kündigen Sie den Wechsel über eine Live-Region an, siehe Muster Statusmeldung.

Problem
router.on('change', view => {
  main.innerHTML = view.html;
});
Besser
router.on('change', view => {
  main.innerHTML = view.html;
  document.title = view.title;
  const h1 = main.querySelector('h1');
  h1.setAttribute('tabindex', '-1');
  h1.focus();
});

Dialoge, Menüs und Fokus-Rückgabe

Öffnet sich ein modaler Dialog, gehört der Fokus hinein. Solange er offen ist, bleibt Tab im Dialog, Escape schließt ihn, und danach kehrt der Fokus zu dem Element zurück, das ihn geöffnet hat. Das native <dialog>-Element mit showModal() erledigt vieles davon. Wie es aussieht und sich anfühlt, zeigt das Muster Modaler Dialog; für Menüs das Muster Aufklapp-Navigation.

Wichtig: Ein Fokus-Einschluss ist nur bei echten modalen Dialogen richtig. Überall sonst ist er eine Tastaturfalle.

Eigene Tastenkürzel mit Bedacht

Kürzel aus nur einem Buchstaben, etwa „s“ für Suche, lösen bei Sprachsteuerung versehentlich aus. 2.1.4 Tastaturkurzbefehle verlangt, dass man solche Kürzel abschalten oder umbelegen kann oder dass sie nur wirken, solange das zugehörige Element den Fokus hat. Kürzel mit Strg oder Alt sind davon nicht betroffen.

Checkliste zum Abhaken

0 von 8 erledigt

Ihre Häkchen bleiben nur in diesem Browser-Tab und werden nirgends gespeichert.

Passende WCAG-Kriterien

Werkzeuge und Muster dazu

Häufige Fragen

Wie teste ich die Tastaturbedienung am schnellsten?

Legen Sie die Maus weg und gehen Sie einen wichtigen Ablauf mit Tab, Umschalt+Tab, Enter, Leertaste und Escape durch. Achten Sie darauf, ob der Fokus immer sichtbar ist und ob Sie überall wieder herauskommen.

Brauchen eigene Widgets Pfeiltasten?

Bei zusammengesetzten Widgets wie Tabs, Menüs oder Listboxen erwarten Nutzer die Bedienung, die der WAI-ARIA Authoring Practices Guide beschreibt, meist mit Pfeiltasten. Einfache Buttons und Links brauchen das nicht.

Was ist mit Hover-Menüs?

Was nur bei Mauszeiger erscheint, ist für Tastatur und Touch oft unerreichbar. Öffnen Sie Untermenüs per Button mit aria-expanded.

Quellen

Wie steht Ihre Website da?

Der kostenlose Check prüft Ihre Startseite in zwei Minuten. Das Audit entscheidet alle 55 Kriterien, durch einen Menschen.

Kostenlos prüfenPreise ansehen

Weitere Ratgeber

  • Cookie-Banner, die niemanden aussperren

    Der Cookie-Banner ist oft das Erste, was Besucher sehen, und für manche das Letzte: Wer ihn mit Tastatur oder Screenreader nicht bedienen kann, kommt nicht weiter. So machen Sie ihn für alle bedienbar.

  • Kontraste, die jeder lesen kann

    Blasse graue Schrift sieht elegant aus, ist aber für viele Menschen schwer zu lesen, bei Sonne auf dem Smartphone für alle. Hier stehen die Werte, die WCAG 2.2 verlangt, und wie Sie sie dauerhaft im Design verankern.

  • BFSG-Prüfung: So lassen Sie Ihre Website auf Barrierefreiheit prüfen

    Das BFSG verlangt barrierefreie Angebote, aber kein bestimmtes Prüfverfahren. Hier steht, welche Prüfung was leistet, wie ein Audit abläuft, was es bei uns kostet und was Sie danach in der Hand haben.