taba11y ist eine kostenlose Chrome-Extension, die die Tab-Reihenfolge einer Webseite visuell darstellt. Unverzichtbar für WCAG- und BITV-konforme Tastaturnavigation.
Mehr erfahren
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.
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.
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.
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:
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:
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.
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.
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.
<!-- 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ß.
: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.
<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.
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.
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.
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.
Die meisten Probleme wiederholen sich von Projekt zu Projekt. Diese sechs sehen wir am häufigsten:
tabindex="3" zerreißen die natürliche Reihenfolge. Erlaubt sind in der Praxis nur 0 und minus 1.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()!
taba11y ist eine kostenlose Chrome-Extension, die die Tab-Reihenfolge einer Webseite visuell darstellt. Unverzichtbar für WCAG- und BITV-konforme Tastaturnavigation.
Mehr erfahrenUnsere 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.
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.
Von Tab Reihenfolge bis Skip Link: Antworten aus der Praxis der Tastaturbedienung.
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.
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.
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.
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.
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.
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.
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.
: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.
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.
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.
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.
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.
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.