NCA Social Media
Erstellt:
Aktualisiert:
Autor:
Roland Golla
Grüne isometrische Tastatur mit leuchtender Tab Taste und Fokus Ringen

Was ist Keyboard Navigation?

Keyboard Navigation (Tastaturnavigation) bedeutet, dass sich jede Funktion einer Website allein mit der Tastatur erreichen und bedienen lässt. Nutzer springen mit Tab und Shift+Tab von Element zu Element, lösen mit Enter oder Leertaste Aktionen aus und steuern Menüs, Tabs oder Slider mit den Pfeiltasten.

Das klingt nach einem Nischenthema. Ist es nicht. Wer blind ist und einen Screenreader nutzt, arbeitet fast immer mit der Tastatur. Dazu kommen Menschen mit motorischen Einschränkungen, Nutzer von Schaltern, Mundstäben oder Sprachsteuerung und alle Power User, die schneller tippen als klicken. Für sie alle entscheidet die Tastaturnavigation, ob eine Seite funktioniert oder eine Sackgasse ist.

In den WCAG 2.2 gehört die Tastaturbedienung zum Prinzip Bedienbar. Seit dem BFSG ist sie für viele Onlineshops und digitale Dienste in Deutschland Pflicht.

Inhalt
NCA Cypress Workshop mit Cypress Ambassador Roland Golla

E2E Tests, die euer Team selbst schreibt

Ein Tag inhouse mit Roland Golla, offizieller Cypress Ambassador und seit über 20 Jahren in Testing und Refactoring zu Hause. Auf unserem YouTube Kanal zeigt er in über 70 Live Coding Tutorials, wie Cypress in echten Projekten läuft. Dazu kommt unser Open Source Plugin NCA TESTIFY: Basistests für jede Website, mit einer Zeile im CI/CD Setup. Im Workshop lernt euer Team Setup, stabile Selektoren, Custom Commands und Tests in der Pipeline.

  1. 1
    Kostenloses Vorgespräch
    Projekt, Stack und Teststand klären
  2. 2
    Workshoptag bei euch
    Setup, Patterns und erste Tests im Team
  3. 3
    Praxistag optional
    Tests im eigenen Projekt und in CI
Roland Golla
Roland Golla
Fullstack Developer
Zum Cypress Workshop arrow_forward

Wir sichern eure Tastaturbedienung mit Cypress Tests ab

Tastaturnavigation prüfen wir nicht nur von Hand. Roland Golla ist Cypress Ambassador, und bei NCA laufen Tab Reihenfolge, Fokus Management und Fokusfallen als automatisierte Tests in der Pipeline. Seit Cypress den Befehl cy.press() mit echten Tastatur Events mitbringt, lassen sich genau die Fehler abfangen, die sonst erst im manuellen Audit auffallen.

Wir gehen eure wichtigsten Strecken ohne Maus durch, markieren Fokusfallen, unsichtbare Fokusringe und falsche Reihenfolgen und bauen problematische Custom Komponenten auf native Elemente um. Für die visuelle Kontrolle nutzen wir taba11y, für die dauerhafte Absicherung Tests mit axe DevTools und Cypress. Menüs, Dialoge und Tabs bringen wir auf die Tastatur Patterns aus ARIA. Die Ergebnisse fließen in unser Accessibility Audit und in die Einordnung nach dem Barrierefreiheitsstärkungsgesetz.

Wer auf die Tastatur angewiesen ist

Eine Maus setzt voraus, dass man sehen und fein zielen kann. Die Tastatur setzt nichts davon voraus. Deshalb ist sie die gemeinsame Basis für fast alle alternativen Eingabegeräte. Schalter, Mundstäbe, Augensteuerung und viele Sprachsteuerungen schicken am Ende Tastatur Events an den Browser.

Wer auf Tastaturnavigation angewiesen ist:

  • Blinde Menschen mit Screenreader wie NVDA, JAWS oder VoiceOver
  • Menschen mit motorischen Einschränkungen, etwa bei Tremor, Lähmungen oder Rheuma
  • Nutzer von Schaltern und Sprachsteuerung, deren Hilfsmittel Tastendrücke simulieren
  • Menschen mit vorübergehenden Einschränkungen, etwa mit gebrochenem Arm
  • Power User und Entwickler, die mit der Tastatur schlicht schneller sind

Wenn ein einziges Element nicht per Tastatur erreichbar ist, reicht das oft schon. Ein Cookie Banner ohne Fokus, ein Warenkorb Button als div oder ein Modal ohne Ausgang: Für diese Nutzer ist der Kauf an dieser Stelle vorbei.

Tastaturnavigation ist in den WCAG nicht ein einzelnes Kriterium, sondern ein ganzes Bündel. Die wichtigsten Erfolgskriterien im Überblick:

  • 2.1.1 Tastatur (A): Jede Funktion muss per Tastatur bedienbar sein, ohne feste Zeitvorgaben für einzelne Tastendrücke.
  • 2.1.2 Keine Tastaturfalle (A): Der Fokus darf nirgends festhängen. Wer in eine Komponente hineinkommt, muss auch wieder herauskommen.
  • 2.1.4 Tastaturkurzbefehle (A): Kürzel aus einzelnen Buchstaben müssen abschaltbar oder umbelegbar sein, sonst lösen Sprachsteuerungen sie versehentlich aus.
  • 2.4.1 Blöcke umgehen (A): Ein Skip Link oder saubere Landmarks erlauben den Sprung direkt zum Hauptinhalt.
  • 2.4.3 Fokus Reihenfolge (A): Die Tab Reihenfolge muss Sinn und Bedienung erhalten.
  • 2.4.7 Fokus sichtbar (AA): Der aktuelle Fokus muss immer erkennbar sein.
  • 2.4.11 Fokus nicht verdeckt, Minimum (AA): Neu in WCAG 2.2. Sticky Header, Cookie Banner oder Chat Widgets dürfen das fokussierte Element nicht komplett verdecken.
  • 2.4.13 Fokus Darstellung (AAA): Ebenfalls neu in 2.2. Legt Mindestgröße und Kontrast für den Fokusindikator fest.

Für die Praxis heißt das: WCAG 2.2 Stufe AA ist das Ziel. Die beiden neuen Kriterien treffen genau die Probleme moderner Layouts mit festen Headern und Overlays. Wer sie heute umsetzt, muss beim nächsten Audit nicht nachbessern.

Tastaturbedienung wächst in Stufen von erreichbar bis getestet

Tastaturnavigation ist kein Schalter, den man umlegt. Sie wächst in Stufen. Jede Stufe baut auf der vorherigen auf, und erst die letzte sorgt dafür, dass das Ergebnis auch nach dem nächsten Release noch stimmt.

Jede der vier Stufen hat eigene Prüfpunkte und Werkzeuge

Level Was geprüft wird Werkzeuge
1 Erreichbar Jede Funktion ist per Tab, Enter, Leertaste und Pfeiltasten bedienbar Maus weglegen, native HTML Elemente
2 Sichtbar Fokus ist immer klar erkennbar und nicht verdeckt CSS :focus-visible, scroll-padding
3 Logisch Sinnvolle Reihenfolge, Skip Link, keine Fokusfallen, Fokus Management in Dialogen taba11y, dialog Element, inert
4 Getestet Tab Reihenfolge und Fokus laufen als automatisierte Tests in der Pipeline Cypress mit cy.press, axe core, GitHub Actions

So setzt ihr Tastaturnavigation mit Code aus der Praxis um

Regel Nummer eins: native Elemente nutzen. Ein echter button ist fokussierbar, reagiert auf Enter und Leertaste und wird vom Screenreader korrekt angesagt. Ein div mit Click Handler kann nichts davon.

Code:
          

<!-- Falsch: nicht fokussierbar, keine Tastatur Events -->
<div class="btn" onclick="addToCart()">In den Warenkorb</div>

<!-- Richtig: alles eingebaut -->
<button type="button" onclick="addToCart()">In den Warenkorb</button>

Fokus sichtbar machen. Mit :focus-visible zeigt der Browser den Fokusring nur bei Tastaturbedienung. Maus Nutzer sehen ihn nicht, Tastatur Nutzer immer. Ein outline: none ohne Ersatz ist dagegen ein klarer WCAG Verstoß.

Code:
          

:focus-visible {
  outline: 3px solid #00FF7F;
  outline-offset: 3px;
}

/* Sticky Header darf den Fokus nicht verdecken (WCAG 2.4.11) */
html {
  scroll-padding-top: 5rem;
}

Skip Link als erstes Element. Er erlaubt den Sprung über die Navigation direkt zum Inhalt und wird erst beim ersten Tab sichtbar.

Code:
          

<a class="skip-link" href="#main">Zum Inhalt springen</a>
...
<main id="main" tabindex="-1">...</main>

Dialoge mit dem nativen dialog Element. showModal() hält den Fokus im Dialog, macht den Rest der Seite inert und schließt mit Escape. Eigene Fokusfallen in JavaScript werden damit in den meisten Fällen überflüssig.

Code:
          

const dialog = document.querySelector('dialog');
const opener = document.querySelector('#open-dialog');

opener.addEventListener('click', () => dialog.showModal());
dialog.addEventListener('close', () => opener.focus());

Wichtig ist die letzte Zeile: Nach dem Schließen muss der Fokus zurück auf den Auslöser. Sonst landet der Nutzer am Seitenanfang und muss sich neu durchtabben. Für komplexe Widgets wie Tabs, Menüs oder Comboboxen gelten die Tastatur Patterns aus dem ARIA Authoring Practices Guide: Tab springt in die Komponente, Pfeiltasten bewegen sich darin.

Tastaturnavigation mit Cypress automatisiert testen

Lange war das Testen der Tab Taste in Cypress ein Workaround mit Plugins. Seit Cypress 14.3 gibt es den Befehl cy.press(). Er schickt echte, native Tastatur Events an den Browser. Mit Cypress 15.1 kamen Pfeiltasten, Enter, Leertaste und weitere Tasten dazu. Damit lässt sich Tastaturnavigation so testen, wie Nutzer sie erleben.

Code:
          

describe('Tastaturnavigation', () => {
  beforeEach(() => cy.visit('/'))

  it('zeigt den Skip Link als erstes Element', () => {
    cy.press(Cypress.Keyboard.Keys.TAB)
    cy.focused().should('have.class', 'skip-link')
  })

  it('hält die Tab Reihenfolge im Login ein', () => {
    cy.get('#email').focus()
    cy.press(Cypress.Keyboard.Keys.TAB)
    cy.get('#password').should('have.focus')
    cy.press(Cypress.Keyboard.Keys.TAB)
    cy.get('button[type=submit]').should('have.focus')
  })

  it('gibt den Fokus nach dem Dialog zurück', () => {
    cy.get('#open-dialog').click()
    cy.get('dialog').should('be.visible')
    cy.press(Cypress.Keyboard.Keys.ESC)
    cy.get('#open-dialog').should('have.focus')
  })
})

Diese Tests laufen in unserer CI mit GitHub Actions oder GitLab CI bei jedem Pull Request. Kombiniert mit axe core in Cypress fällt ein kaputter Fokus auf, bevor er live geht. Für die visuelle Kontrolle der Reihenfolge nutzen wir zusätzlich die Browser Extension taba11y.

Was Automatisierung nicht ersetzt: den kurzen manuellen Test. Maus weglegen, einmal durch die wichtigste Strecke tabben, etwa Startseite, Produkt, Warenkorb, Checkout. Fünf Minuten, die mehr zeigen als jeder Score.

Sechs Fehler, die Tastatur Nutzer ausbremsen

Die meisten Probleme wiederholen sich von Projekt zu Projekt. Diese sechs sehen wir am häufigsten:

  1. outline: none ohne Ersatz. Oft aus einem CSS Reset übernommen. Der Fokus ist danach unsichtbar.
  2. Klickbare div und span Elemente. Sie sind weder fokussierbar noch per Enter auslösbar.
  3. Positiver tabindex. Werte wie tabindex="3" zerreißen die natürliche Reihenfolge. Erlaubt sind in der Praxis nur 0 und minus 1.
  4. Modals ohne Fokus Management. Der Fokus bleibt hinter dem Overlay oder kehrt nach dem Schließen nicht zurück.
  5. Cookie Banner und Chat Widgets. Sie verdecken den Fokus oder lassen sich nur per Maus schließen.
  6. Mega Menüs nur per Hover. Untermenüs öffnen sich bei Mausbewegung, aber nicht per Tastatur.

Viele dieser Fehler hängen mit einer falschen logischen Reihenfolge oder fehlendem semantischem HTML zusammen. Wer an der Wurzel ansetzt, löst mehrere Probleme auf einmal.

Tab key testing is here with cy.press()!

Jennifer Shehane, Co-Founderin und Head of Product, Cypress.io – Cypress Blog

Warum Tastaturnavigation in die Pipeline gehört

Unsere wichtigste Erkenntnis: Tastaturnavigation geht selten beim ersten Bauen kaputt. Sie geht beim zehnten Release kaputt. Ein neues Chat Widget, ein umgebautes Menü, ein Cookie Banner vom Marketing. Deshalb gehört sie für uns in die Test Pipeline und nicht nur in das einmalige Audit.

Die Grundlage ist Operabilität, eines der vier POUR Prinzipien. Für neue Astro Projekte setzen wir gerne auf Accessible Astro Components, die Tastaturbedienung bereits mitbringen. Bei der Werkzeugwahl helfen unsere Übersicht der Accessibility Testing Tools, die Firefox Accessibility Tools und der Lighthouse Accessibility Audit.

Eng verwandt sind barrierefreie Formulare, bei denen Fokus und Fehlermeldungen zusammenspielen, und die Color Accessibility, denn ein Fokusring braucht genug Kontrast. Spannend ist auch die Agent Readiness: KI Agenten, die Websites bedienen, profitieren von denselben sauberen Strukturen wie Tastatur Nutzer.

CYPRESS.IO Ambassador und IT Consultant für QA Engenieering und Qualität in PHP Projekten.
Erreichen Sie unsere Spezialisten zu barrierefreien Webdesign

Wir sind hier, um Ihnen zu helfen. Gemeinsam meistern wir Ihre digitalen Herausforderungen und fördern die Inklusion im Internet. Lassen Sie uns Ihre Projekte mit barrierefreiem Webdesign erfolgreich machen.

Häufige Fragen zur Keyboard Navigation

Von Tab Reihenfolge bis Skip Link: Antworten aus der Praxis der Tastaturbedienung.

Was ist Keyboard Navigation 2026?

Keyboard Navigation bedeutet, dass jede Funktion einer Website allein mit der Tastatur bedienbar ist. Nutzer wechseln mit Tab und Shift+Tab zwischen Elementen, lösen mit Enter oder Leertaste Aktionen aus und steuern Widgets mit den Pfeiltasten. Sie ist 2026 ein Kernbestandteil der WCAG 2.2 und für viele Unternehmen durch das BFSG gesetzlich vorgeschrieben.

Ist Tastaturnavigation 2026 gesetzlich Pflicht?

Ja, für viele Unternehmen. Das Barrierefreiheitsstärkungsgesetz gilt seit dem 28. Juni 2025 unter anderem für Onlineshops, Banking und digitale Dienste. Tastaturbedienbarkeit gehört zu den grundlegenden Anforderungen. Öffentliche Stellen sind über die BITV 2.0 schon länger verpflichtet. Kleinstunternehmen mit Dienstleistungen sind vom BFSG ausgenommen.

Welche WCAG 2.2 Kriterien betreffen die Tastaturnavigation 2026?

Zentral sind 2.1.1 Tastatur, 2.1.2 Keine Tastaturfalle, 2.1.4 Tastaturkurzbefehle, 2.4.1 Blöcke umgehen, 2.4.3 Fokus Reihenfolge und 2.4.7 Fokus sichtbar. Neu in WCAG 2.2 sind 2.4.11 Fokus nicht verdeckt auf Stufe AA und 2.4.13 Fokus Darstellung auf Stufe AAA. Ziel für die Praxis ist WCAG 2.2 Stufe AA.

Wie teste ich Tastaturnavigation 2026 am schnellsten?

Maus weglegen und die wichtigste Strecke der Seite nur mit Tab, Shift+Tab, Enter, Leertaste, Escape und Pfeiltasten durchgehen. Achte darauf, ob jedes Element erreichbar ist, der Fokus immer sichtbar bleibt und die Reihenfolge logisch ist. Für die visuelle Kontrolle hilft die Extension taba11y, für Regressionen automatisierte Cypress Tests.

Wie teste ich die Tab Reihenfolge 2026 mit Cypress?

Seit Cypress 14.3 gibt es cy.press(), das echte native Tastatur Events auslöst. Du setzt den Fokus auf ein Element, drückst mit cy.press(Cypress.Keyboard.Keys.TAB) die Tab Taste und prüfst mit should('have.focus'), ob das erwartete nächste Element fokussiert ist. Seit Cypress 15.1 werden auch Pfeiltasten, Enter und Leertaste unterstützt.

Was ist eine Tastaturfalle?

Eine Tastaturfalle entsteht, wenn der Fokus in eine Komponente hineinkommt, aber nicht mehr heraus. Typische Beispiele sind eingebettete Player, Karten, Editoren oder schlecht gebaute Modals. Nutzer ohne Maus kommen dann nicht weiter. Das verletzt WCAG 2.1.2. Ausnahme ist ein bewusst modaler Dialog, der sich per Escape oder Button schließen lässt.

Warum darf ich den Fokusrahmen nicht einfach mit outline none entfernen?

Weil damit der Fokusindikator verschwindet und Tastatur Nutzer nicht mehr sehen, wo sie sich befinden. Das verletzt WCAG 2.4.7 Fokus sichtbar. Wer den Standardring optisch nicht mag, ersetzt ihn per :focus-visible durch einen eigenen, gut sichtbaren Stil mit ausreichendem Kontrast. Einfach entfernen ist keine Option.

Was unterscheidet die Pseudoklassen focus und focus-visible?

:focus greift immer, wenn ein Element den Fokus hat, auch nach einem Mausklick. :focus-visible greift nur, wenn der Browser einen sichtbaren Fokus für sinnvoll hält, typischerweise bei Tastaturbedienung. So bekommen Tastatur Nutzer einen klaren Fokusring, während Maus Nutzer beim Klicken keinen Rahmen sehen. Alle modernen Browser unterstützen :focus-visible.

Welche tabindex Werte sind sinnvoll?

In der Praxis nur zwei. tabindex="0" nimmt ein Element in die natürliche Tab Reihenfolge auf, etwa ein Custom Widget. tabindex="-1" macht ein Element per Script fokussierbar, ohne es in die Tab Reihenfolge aufzunehmen, etwa den Hauptinhalt als Ziel eines Skip Links. Positive Werte wie 1 oder 5 zerstören die logische Reihenfolge und sollten nie verwendet werden.

Was ist ein Skip Link?

Ein Skip Link ist ein Link ganz am Anfang der Seite, meist mit dem Text Zum Inhalt springen. Er wird erst beim ersten Tab sichtbar und führt direkt zum Hauptinhalt. So müssen Tastatur Nutzer nicht auf jeder Seite durch die komplette Navigation tabben. Er erfüllt WCAG 2.4.1 Blöcke umgehen.

Wie baue ich barrierefreie Dialoge für die Tastatur?

Am einfachsten mit dem nativen dialog Element und showModal(). Der Browser hält den Fokus im Dialog, macht den Hintergrund inert und schließt per Escape. Wichtig bleibt eine Aufgabe für dich: Nach dem Schließen muss der Fokus zurück auf das Element, das den Dialog geöffnet hat. Das lässt sich mit Cypress gut automatisiert prüfen.

Reichen automatische Tools wie axe für Tastaturnavigation?

Nein. axe und Lighthouse finden einzelne Probleme wie fehlende Fokusindikatoren oder positive tabindex Werte. Ob die Reihenfolge logisch ist, ob Dialoge den Fokus zurückgeben oder ob ein Menü per Tastatur öffnet, erkennen sie nicht. Dafür brauchst du gezielte Tests mit cy.press und einen kurzen manuellen Durchlauf ohne Maus.

Hilft Tastaturnavigation auch bei SEO und KI Agenten?

Indirekt ja. Saubere Tastaturnavigation setzt semantisches HTML, echte Links und Buttons sowie eine logische Struktur voraus. Genau diese Struktur verstehen Suchmaschinen besser, und auch KI Agenten, die Websites selbstständig bedienen, orientieren sich daran. Barrierefreiheit und maschinelle Lesbarkeit gehen hier Hand in Hand.