ARIA: tabpanel Rolle
Das ARIA tabpanel
ist ein Container für die Ressourcen von geschichtetem Inhalt, der mit einem tab
verknüpft ist.
Beschreibung
Die tabpanel
-Rolle zeigt an, dass das Element ein Container für die Ressourcen ist, die mit einer tab
-Rolle verknüpft sind, wobei jeder tab
in einer tablist
enthalten ist.
Ein tabpanel
ist Teil einer Registerkarten-Schnittstelle, einem gängigen Nutzungsmuster, bei dem eine Gruppe von visuellen Registerkarten ein schnelles Umschalten zwischen mehreren geschichteten Ansichten ermöglicht. Jede Registerkarte wird mit der tab
-Rolle definiert, und diese Registerkarten sind in einem Element mit der tablist
-Rolle enthalten. Die tablist
ist oft visuell über oder neben einem Inhaltsbereich positioniert, der die zugehörigen tabpanel
-Elemente enthält. Die tabpanel
-Rolle ist der Container für jedes Inhaltsfeld, das mit einem entsprechenden tab
in der tablist
der Registerkartenschnittstelle verknüpft ist.
In vielen Registerkarten-Schnittstellen ist zu einem Zeitpunkt nur ein einziges tabpanel
sichtbar. In einigen Schnittstellen können jedoch mehrere tabpanel
-Elemente gleichzeitig angezeigt werden. In solchen Fällen würde die tablist
das Attribut aria-multiselectable
erhalten, und die tab
-Elemente würden dann das Attribut aria-expanded
verwenden, um anzuzeigen, ob ihr zugeordnetes tabpanel
sichtbar ist oder nicht. Der ausgewählte Zustand der Registerkarte würde stattdessen verwendet, um anzuzeigen, welches tabpanel
das derzeit 'aktive' Panel ist. Zum Beispiel könnte dies anzeigen, auf welches tabpanel
der Tastaturfokus wechseln würde, wenn jemand die Tab-Taste drücken würde, während er auf eine Registerkarte innerhalb der Mehrfachauswahl-tablist
fokussiert ist.
In Einzel-Auswahl-Registerkartenschnittstellen wird nur das tabpanel
angezeigt, das mit der aktuell ausgewählten Registerkarte verknüpft ist. Alle anderen tabpanel
-Elemente, die mit den nicht ausgewählten Registerkarten verknüpft sind, müssen vor den Benutzern verborgen werden. Beim Ändern der Registerkartenauswahl ändert sich somit auch das angezeigte tabpanel
, während das zuvor angezeigte tabpanel
dann ausgeblendet wird.
In Mehrfachauswahl-Registerkartenschnittstellen können mehrere tabpanel
-Elemente angezeigt werden, die den erweiterten Zustand ihrer zugehörigen tab
-Elemente widerspiegeln.
Registerkarten funktionieren nicht als Ankerlinks zu einzelnen Panels – und bei der Aktivierung sollte der Tastaturfokus auf dem aktuellen tab
-Element bleiben und nicht automatisch auf das neu angezeigte tabpanel
verschoben werden. Während eine Registerkartenschnittstelle progressiv auf einem zugrunde liegenden Markup-Muster von Seitenverweisen, die auf ihre entsprechenden Inhaltsabschnitte zeigen, erweitert werden kann, sollte beim Einsatz von JavaScript, um diese Elemente in eine Registerkartenschnittstelle zu verwandeln, das Standardverhalten der Hyperlinks verhindert werden. Idealerweise könnte dies durch Entfernen oder Ändern des href
-Attributs erreicht werden, da dies den zusätzlichen Vorteil hätte, die hyperlnkt-spezifischen Menüeinträge aus dem Kontextmenü des Browsers des Elements zu entfernen.
Wenn der Tastaturfokus auf einer tablist
oder einem tab
innerhalb der tablist
liegt, sollte die Tab-Taste programmiert werden, um vom fokussierten tab
– das möglicherweise oder möglicherweise nicht das ausgewählte tab
ist – zu dem tabpanel
zu wechseln, das die derzeit ausgewählte Registerkarte darstellt.
Jeder tab
in einer tablist
kann als Beschriftung für sein entsprechendes tabpanel
dienen. Fügen Sie die id
jeder Registerkarte als Wert für das aria-labelledby
-Attribut jedes tabpanel
-Elements ein.
Sie können auch optional jedes tabpanel
mit seiner zugehörigen Registerkarte verknüpfen, indem Sie die id
des tabpanel
als Wert des aria-controls
-Attributs der Registerkarte einfügen.
Wenn eine Registerkartenschnittstelle initialisiert wird, wird ein tabpanel
angezeigt und seine zugehörige Registerkarte ist so gestaltet, dass sie anzeigt, dass sie aktiv ist, um ihren programmatischen Zustand widerzuspiegeln. Alle inaktiven tabpanel
-Elemente müssen für alle Benutzer verborgen werden. Dies wird am häufigsten durch die Verwendung von display: none
in CSS erreicht.
Siehe den Artikel zur ARIA tab
Rolle für weitere Informationen zur Verwendung dieser Rolle.
Fügen Sie tabindex="-1"
hinzu, um einem tabpanel
das Fokussieren zu ermöglichen, ohne das tabpanel
in die Tastaturfokus-Reihenfolge der Seite einzuschließen.
Stellen Sie sicher, dass Sie Stile für ein tabpanel
definieren, wenn es den Fokus erhält, idealerweise unter Verwendung der CSS :focus
-Pseudoklasse, sodass Tastaturnutzer wissen, dass ein Fokuswechsel stattgefunden hat und sie sich bewusst sind, welcher Inhalt derzeit den Fokus hat.
Karussells können mit diesem Registerkartenmuster erstellt werden: Ein Folienauswahlelement kann als tabs
in einer tablist
markiert werden, wobei die Folie durch ein tabpanel
-Element dargestellt wird.
Zugehörige Rollen und Attribute
tab
Rolle-
Steuert die Sichtbarkeit des zugehörigen
tabpanel
tablist
Rolle-
Gruppe von
tab
-Elementen. aria-labelledby
-
Bietet einen zugänglichen Namen. Referenziert das
tab
-Element, das das Panel steuert aria-expanded
-
Sollte auf den erforderlichen
tab
-Elementen verwendet werden, wenn eine mehrfache auswählbaretablist
verwendet wird.
Tastaturinteraktionen
Siehe die Tastaturinteraktionen der tablist
in der Definition der tablist
-Rolle.
Beispiel
Siehe das Beispiel für tabpanel
, tab
und tablist
in der Definition der tab
-Rolle.
Spezifikationen
Specification |
---|
Accessible Rich Internet Applications (WAI-ARIA) # tabpanel |
Unknown specification |