HTML Elemente
Box mit einem Schalter und der Beschriftung SUMMARY.
    Der Deckel ist offen und an einer Sprungfeder ist ein Schild mit der Beschriftung DETAILS herausgesprungen.

details & summary
HTML-Element

(Materialsammlung)

Zuletzt geändert:

Mit dem details-Element wird eine Komponente mit Inhalten zum Aus- und Einklappen realisiert. Die Beschriftung des Steuerelements für die Mechanismen erfolgt im summary-Element.

Das Element stellt ohne Scripts barrierefrei Funktionalitäten eines Akkordeons zur Verfügung.

Technische Realisierung

Syntax

Der HTML-Code kann anspruchslos folgendermaßen aussehen:

<details>
  <summary>[Schalterbeschriftung]</summary>
  [HTML-Code des eingeblendeten Bereichs]
</details>

summary zur Beschriftung des Schalters

(Beschriftung und Steuerelement)

Mit dem summary-Element wird eine individuelle Beschriftung des Schalters in einem details-Element festgelegt. Unter einem Diagramm könnten beispielsweise eingehende textuelle Alternativen eingeblendet werden:

Erläuterungen zum Diagramm

[Inhalt der Erläuterungen zum Diagramm.]

Fehlt das Element, wird der Schalter vom Browser selbst beschriftet und zwar meist mit Details:

Hey, du hast das <summary>-Element vergessen!

Das summary-Element sollte wohl in jedem Fall verwendet werden. Fehlt das Element, liefert der W3C HTML Validator eine Fehlermeldung.

open-Attribut

Mit dem Attribut open kann festgelegt werden, dass die Detailbeschreibung standardmäßig angezeigt wird. Der Schalter dient damit zur Reduktion der Anzeige. Dies gilt sowohl für die Darstellung im Browser am Bildschirm als auch durch assistierende Technologien:

Detailbeschreibung

Die Detailbeschreibung ist bereits offen.

Zum Schließen drücken Sie auf den Schalter Detailbeschreibung!

Der offene Erweiterungszustand erspart das Öffnen der Inhalte der Komponente. Sofern bekannt, kann der Mechanismus eines details-Elements somit zum Ausblenden von umfangreicheren Inhalten verwendet werden. Langwieriges Scrollen oder vielfache Betätigung von sind nicht mehr nötig.

Akkordeon aus details

Wenn einzelne details-Elemente mit demselben Wert für name versehen werden, kann ein Akkordeon-Effekt erzielt werden. Durch öffnen eines einzelnen Elements wird ein allfällig offenes anderes Element eingeklappt.

Der HTML-Validator meldet fälschlich, dass das name-Attribut für details nicht zulässig ist.

Liste von details

Ein Akkordeon lässt sich als Liste von details-Elementen realisieren.

Aufzählungszeichen für Listenelemente werden mit der CSS-Anweisung list-style-type: none unterdrückt. Allerdings sollte in diesem Fall entgegen sonstigen Empfehlungen redundant zur HTML-Semantik die entsprechende ARIA-Rolle zugewiesen werden. In Safari wird ansonsten keine Listensemantik dargestellt (Stand 2023):

<ul style="list-style-type: none" role="list">

Modifizieren des visuellen Indikators

Das nach rechts zeigende gefüllte Dreieck ist ein visueller Indikator für die Möglichkeit zum Aufklappen. Es dreht sich beim Öffnen um 90° im Uhrzeigersinn. Im Englischen wird die Komponente wegen dieser Drehbewegung auch als Twisty bezeichnet.

Der Indikator kann durch CSS-Anweisungen modifiziert werden. Im Sinne der Wiedererkennbarkeit der Komponente über Webauftritte hinweg ist davon jedoch eher abzuraten.

⚠ Wenn das summary-Element in CSS mit display: block versehen ist, verschwindet der visuelle Indikator für den Erweiterungszustand!

Ein Fokuseffekt entsprechend den Anforderungen des Erfolgskriteriums 2.4.13 kann mittels CSS etwa folgendermaßen realisiert werden:

details summary:focus {
  background: yellow;
  outline: 2px solid red;
  outline-offset: 2px;
}

Barrierefreiheit und Nutzungsfreundlichkeit

Implizite Semantik

Tastaturbedienung

Der große Vorteil beim Erstellen von Webinhalt mittels des details-Elements besteht darin, dass die Tastaturbedienung gänzlich dem Browser überlassen werden kann. Für die Bedienung stehen folgende Tastaturmechanismen ohne zusätzliche Scripts zur Verfügung:

Tabulator
Setzt den Fokus auf das Steuerelement zum Ein- und Ausblenden (summary).
Enter oder Leertaste
Blendet Inhalt ein und aus, wenn sich der Fokus auf dem Steuerelement befindet.
Pfeiltasten und
Bewegen den virtuellen Cursor eines Screen Readers in den geöffneten Inhalt unter dem Steuerelment oder wieder zurück.
Escape
Ohne Funktion für die details-Komponente in den getesteten Browsern (Firefox, Chrome, Edge).

Die Taste Escape wird auch in den Praxisrichtlinien für Akkordeons nicht als Mechanismus zum Schließen des ausgeklappten Inhalts erwähnt.

⚠ Verborgen auch für Suche

Verborgene Inhalte werden bei der Suche im Browser nicht gefunden.

Beispile für den Einsatz

Einsatzszenarien

Das Verhalten kann etwa für Detailbeschreibungen einer komplexen Grafik oder Medienalternativen genutzt werden. Es werden darüber hinaus Anforderungen an verschachtelte Navigationselemente korrekt erfüllt.