tabindex
Das Globale Attribut tabindex
gibt an, ob sein Element fokussiert werden kann, ob und an welcher Stelle es an der sequentiellen Tastaturnavigation beteiligt ist (normalerweise mit der Tabulatortaste, daher der Name).
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Die Quelle für dieses interaktive Beispiel wird in einem GitHub-Repository gespeichert. Wenn du am interaktiven Beispielprojekt mitarbeiten möchtest, klone bitte https://github.com/mdn/interactive-examples und sende uns eine Pull-Anfrage.
Es akzeptiert einen Integer als Wert der zu unterschiedlichen Ergebnissen führt, abhängig von diesen Werten:
-
Ein negativer Wert (normalerweise
tabindex="-1"
) bedeutet, dass das Element fokussierbar, jedoch nicht durch die sequenzielle Tastaturnavigation erreichbar sein sollte. Er ist meistens hilfreich um barrierefreie Widgets mit JavaScript zu erstellen. -
Dies ist hilfreich, wenn Inhalte außerhalb des Bildschirms vorhanden sind, welche zu einem bestimmten Ereignis in Erscheinung treten. Es ist nicht möglich ein Element mit der Tastatur zu fokussieren, das einen negativen
tabindex
hat. Jedoch ist es möglich, es mittels derfocus()
Methode aufzurufen.
-
tabindex="0"
bedeutet, dass das Element mittels der sequenziellen Tastaturnavigation fokussierbar ist, wobei die Aufrufreihenfolge von der Quellreihenfolge des Dokuments definiert ist -
Die CSS-Positionierung wirkt sich nicht auf die Tab-Reihenfolge aus. Es wird sich nur die visuelle Reihenfolge der Elemente ändern. Tab-Reihenfolge entspricht der Quellreihenfolge!
-
Ein positiver Wert bedeutet, dass das Element in der sequenziellen Tastaturnavigation fokussierbar sein kann, wobei seine Reihenfolge durch den Wert der Zahl definiert wird.
tabindex="4"
würde also vortabindex="5"
, aber nachtabindex="3"
fokussiert werden. Wenn mehrere Elemente den gleichen positiventabindex
-Wert haben, folgt ihre Reihenfolge relativ zu ihrer Position in der Dokumentquelle.Vermeiden Sie die Verwendung von
tabindex
-Werten größer als 0. Dies erschwert es Benutzern, die auf assistive Technologie angewiesen sind, durch Seiteninhalte zu Navigieren und sie zu Bedienen.
Es wird nicht empfohlen, den Elementen positive Werte zu geben. Am Ende springt der Fokus zwischen den Elementen und es wird verwirrend, die tabindex
-Attributwerte einzelner Elemente zu manipulieren. Empfehlenswert ist, sie in einer geeigneten DOM-Sequenz zu schreiben.
Wenn das tabindex
-Attribut für ein <div>
festgelegt wird, kann der untergeordnete Inhalt nicht mit den Pfeiltasten gescrollt werden. Außer, der tabindex
wurde für den Inhalt festgelegt. Folgendes fiddle hilft beim Verstehen der Scrolleffekte des tabindex
.
Hinweis: Der maximale Wert für tabindex
ist 32767. Wenn er nicht spezifiziert ist, wird der Standardwert von 0 angenommen.
Bedenken zur Barrierefreiheit
Vermeiden Sie die Verwendung des tabindex
-Attributs in Verbindung mit nichtinteraktiven Inhalten, um Elemente durch die Tastatureingabe interaktiv fokussierbar zu machen, wie etwa zum Beispiel die Verwendung eines <div>
Elements, um eine Schaltfläche zu erzeugen, anstelle des <button>
Elements.
Interaktive Komponenten, die mit nichtinteraktiven Elementen erstellt wurden, gelangen nicht in der accessibility tree für Eingabehilfen aufgeführt. Dadurch wird verhindert, dass assistive Technologien zu ihnen navigieren und sie manipulieren können. Der Inhalt sollte semantisch mit interaktiven Elementen (<a>
, <button>
, <details>
, <input>
, <select>
, <textarea>
, etc.) beschrieben werden. Diese Elemente verfügen über integrierte Rollen und Zustände, die den Status der Zugänglichkeit mitteilen, die andernfalls durch ARIA verwaltet werden müsste.
Spezifikationen
Spezifikation | Status | Kommentar |
---|---|---|
HTML Living Standard Die Definition von 'tabindex' in dieser Spezifikation. |
Lebender Standard | No change from latest snapshot, HTML 5.1. |
HTML 5.1 Die Definition von 'tabindex' in dieser Spezifikation. |
Empfehlung | Snapshot of HTML Living Standard, no change from HTML5. |
HTML5 Die Definition von 'tabindex' in dieser Spezifikation. |
Empfehlung | Snapshot of HTML Living Standard. From HTML 4.01 Specification, the attribute is now supported on all elements (global attributes). |
HTML 4.01 Specification Die Definition von 'tabindex' in dieser Spezifikation. |
Empfehlung | Only supported on <a> , <area> , <button> , <object> , <select> , and <textarea> . |
Browserkompatibilität
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, check out https://github.com/mdn/browser-compat-data and send us a pull request.
Siehe auch
- Alle globalen Attribute
HTMLElement.tabIndex
das dieses Attribut widerspiegelt- Accessibility-Probleme mit tabindex: siehe Don’t Use Tabindex Greater than 0 von Adrian Roselli