Zum Hauptinhalt springen

Tabs

Die Tabs-Komponente wird verwendet, um verwandte Inhalte auf derselben Seite zu organisieren und zwischen ihnen zu navigieren. Tabs sorgen dafür, dass große Inhaltsmengen für Nutzer:innen leichter organisiert werden können. Tabs sind in Registerkartenleisten angeordnet, die als Registerkartengruppen bezeichnet werden, wobei die Registerkartenbeschriftung den Nutzer:innen einen Hinweis darauf gibt, welcher Inhalt angezeigt wird, wenn die Registerkarte ausgewählt wird.

Konstruktion

Nach dem Laden der Komponente wird die erste Registerkarte links automatisch optisch als aktiv hervorgehoben. Jede Registerkarte übernimmt den Status aktiv nach dem Anklicken. Der Status aktiv kann mit dem Attribut _selected auch manuell auf den Index der Registrierkarte gesetzt werden. Die einzelnen Inhalte der Registerkarte werden in einem eigenen HTMLDivElement als <div>Inhalt der Registerkarte</div> innerhalb von <kol-tabs></kol-tabs> notiert.

Die Zuordnung der Daten im Attribut _tabs zu den Div-Elementen erfolgt automatisch.

Code

<kol-tabs _selected="0" _tabs='[{"_label":"Tab 1","_icon":"codicon codicon-home"},{"_label":"Tab 2", "_on": {"onClose": true}},{"_label":"Tab 3"}]'>
<div>Inhalt von Tab 1</div>
<div>Inhalt von Tab 2</div>
<div>Inhalt von Tab 3</div>
</kol-tabs>

Beispiel

Inhalt von Tab 1
Inhalt von Tab 2
Inhalt von Tab 3

Verwendung

Definition der Registerkarten

Die Daten für die Registerkarten können als Objekte oder JSON-String an das Attribut _tabs übergeben werden.

[{ "_label": "Tab 1", "_icon": "codicon codicon-home" }, { "_label": "Tab 2", "_on": { "onClose": true } }, { "_label": "Tab 3" }]

Registerkarte deaktivieren

Um eine Registerkarte zu deaktivieren, verwenden Sie das Attribut _disabled.

Close-Icon im Registekartenheader

Wenn Sie eine schließbare Registerkarte benötigen, können Sie dies über das Attribut _on und den Wert "onClose":true realisieren.

Best practices

  • Verwenden Sie Registerkarten, um verwandte Inhalte so zu organisieren und zu gruppieren, dass Nutzer:innen die Seite nicht verlassen müssen.
  • Registerkarten sollten in einer einzelnen, scrollbaren (falls erforderlich) Zeile über dem Inhalt positioniert werden, auf den sie sich beziehen.
  • Verwenden Sie die Registerkartenbezeichnung, um den Inhalt dieser Registerkarte klar und prägnant zu beschreiben und zwischen den verschiedenen Abschnitten zu unterscheiden.
  • Verwenden Sie Registerkarten nicht, um eine Sequenz oder einen Verlauf von Inhalten zu erstellen, die der Benutzer in einer bestimmten Reihenfolge lesen soll.
  • Verwenden Sie Registerkarten nicht zum Vergleichen von Inhalten (z. B. unterschiedliche Spezifikationen).
  • Berücksichtigen Sie die Anzahl der Registerkarten, die Sie in die Registerkartengruppe aufnehmen. Wenn Sie das Gefühl haben, dass die Zahl zu groß wird, sollten Sie den Inhalt weiter aufteilen oder ein anderes Navigationsmuster/eine andere Komponente verwenden.

Anwendungsfälle

  • Über Registerkarten können Sie z.B. Dienstleistungen oder Vorteile in verschiedene Kategorien einteilen.
  • Verwenden Sie Registerkarten, um Benutzerprofile in verschiedene Abschnitte zu gliedern (z. B. persönliche Informationen, Termine, aktive Services).
  • Verwenden Sie Registerkarten, um FAQs in verschiedene Kategorien zu unterteilen.

Barrierefreiheit

Tastatursteuerung

Ausgewählte Tabs werden beim Anspringen mit der Tab-Taste mit einem deutlichen Focus-Rahmen umgeben. Die einzelnen Tabs können mit den Pfeiltasten links und rechts durchlaufen werden.

Nach Anspringen eines Tabs kann mit Hilfe der Tab-Taste vom Header in den Inhaltsbereich der Registerkarte gewechselt werden.

Unabhängig davon ob die Tab-Schalter oben, rechts, unten oder links angeordnet sind, bleibt die Tastatursteuerung gleich. Hintergrund ist, dass das Layout bei der Nutzung eines Screenreaders keine Rolle spielt. Eine unterschiedliche Pfeil-Tastensteuerung aufgrund der Layout-Anordnung würde daher nicht dem üblichen Bedienkonzept des W3C entsprechen.

Bei der Umsetzung der Tastatursteuerung wurde sich an den Beispielen des W3C's orientiert.

Hier steht immer der beeinträchtige Nutzende im Vordergrund. Um möglichst effizient über die gesamte Seite/Anwendung zu navigieren, ist nur 1 Schalter aus der Tab-Serie fokussierbar. Sobald der Nutzende auf der Tab-Navigation selbst ist, werden die Pfeiltasten verwendet, um zwischen den Tabs selbst wechseln.

TasteFunktion
TabFokussiert den ersten aktiven Tab. Auf vorhandene Close-Icons können mit der Tab-Taste erreicht werden.
Pfeil-Tasten (links | rechts)Wechselt zwischen den Tabs.

Properties

PropertyAttributeDescriptionTypeDefault
_align_alignDefines the position of the tab captions."bottom" | "left" | "right" | "top" | undefined'top'
_ariaLabel_aria-label[DEPRECATED] use _label instead

Deprecated: Setzt die semantische Beschriftung der Komponente.
string | undefinedundefined
_label_labelDefines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).string | undefinedundefined
_on--Gibt die Liste der Callback-Funktionen an, die auf Events aufgerufen werden sollen.undefined | { onCreate?: EventCallback<Event> | { label: string; callback: EventCallback<Event>; } | undefined; } & { onSelect?: EventValueOrEventCallback<MouseEvent | CustomEvent<any> | KeyboardEvent | PointerEvent, number> | undefined; }undefined
_selected_selectedDefines which tab is active.number | undefined0
_tabs (required)_tabsDefines the tab captions.TabButtonProps[] | stringundefined
_tabsAlign_tabs-align[DEPRECATED] Use _align.

Deprecated: Setzt die Position der Registrierkarten.
"bottom" | "left" | "right" | "top" | undefined'top'

Dependencies

Depends on

Graph


Live-Editor

Beispiele