Aufbau einer React-Komponente
Meine Vorstellung davon, wie jede React-Komponente aussehen sollte
104
8 min.
52
2 min.
Der SSA-Standard legt Anforderungen an die Semantik, Barrierefreiheit und Funktionslogik von Akkordeons fest.
Akkordeon-Elemente in diesem Standard werden Spoiler genannt. Spoiler können unabhängige Entitäten vom Akkordeon sein, werden aber selten einzeln verwendet.
Die Grundlage des Akkordeons bildet die Liste <ul>. Dadurch wird sichergestellt, dass assistive Technologien die Spoiler-Gruppe als eine einheitliche Auflistung miteinander verbundener Elemente wahrnehmen. Innerhalb jedes <li> befindet sich das Tag <details>, das zwingend die Überschrift <summary> und den Inhaltsbereich <div> enthält:
<ul class="accordion"> <li> <details class="spoiler" name="faq"> <summary class="spoiler__trigger"> <h3 class="spoiler__title">Trigger-Text</h3> <span class="spoiler__icon" aria-hidden="true"></span> </summary> <div class="spoiler__content"></div> </details> </li> </ul>
Das Attribut
nameermöglicht es Ihnen, Akkordeons zu erstellen, bei denen gleichzeitig nur ein Spoiler geöffnet sein kann (vorausgesetzt, alle Elemente in der Gruppe haben denselbenname-Wert).
Der Status „erweitert/verkleinert“ wird dank der Verwendung des nativen Tags <details> automatisch an Screenreader weitergeleitet, zusätzliche ARIA-Attribute sind hierfür nicht erforderlich. Dem Symbol (Pfeil oder Pluszeichen) wird immer aria-hidden="true" hinzugefügt, da es eine visuelle Funktion erfüllt und seine Sprachausgabe für den Nutzer unnötigen „Lärm“ verursachen würde.
Dank <summary> erhält das Element beim Drücken der Tab-Taste automatisch den Fokus und wird mit den Tasten Enter oder Leertaste aktiviert. Außerdem ist die Verwendung der Pseudoklasse :focus-visible zwingend erforderlich, damit der Benutzer bei der Navigation mit der Tastatur einen deutlichen outline-Rahmen des aktiven Elements sieht.
Der Text innerhalb des Triggers muss in eine Überschrift (<h3>-<h6>) eingeschlossen werden, die der Struktur der Seite entspricht, damit Nutzer von Screenreadern schnell durch die Abschnitte des Akkordeons navigieren können.
Der Bereich, in dem der Trigger <summary> angeklickt werden kann, sollte so groß wie möglich sein und über separate innere Abstände verfügen; dies ist besonders bei mobilen Geräten entscheidend. Auch der Inhalt sollte separate innere Abstände aufweisen, um die Fläche des aktiven Bereichs zu vergrößern, ohne den Text „ zusammenzudrücken“, und damit der Nutzer den Status des Elements verstehen kann, sollten stets drei Interaktionsarten verwendet werden: Mauszeiger-Überfahrt, Fokus und Öffnen.
/* Basisstile */ .spoiler__trigger { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; cursor: pointer; list-style: none; /* Systemmarkierung verbergen */ } .spoiler__trigger::-webkit-details-marker { display: none; } .spoiler__trigger:hover { background-color: rgb(0 0 0 / 5%); } /* Zustand bei Öffnung */ .spoiler[open] .spoiler__trigger { background-color: #f8f9fa; border-block-end: 1px solid #eee; } /* Symbolanimation */ .spoiler__icon { flex-shrink: 0; inline-size: 24px; block-size: 24px; transition: rotate 0.3s ease-in-out; } .spoiler[open] .spoiler__icon { rotate: 180deg; }
Ähnliche Kategorien:
Meine Vorstellung davon, wie jede React-Komponente aussehen sollte
104
8 min.
Der SSF-U-Standard legt Anforderungen an die Semantik, Barrierefreiheit und Funktionslogik von Vollbildmodus fest
37
2 min.
Analyse kritischer Fehler im Webdesign. Warum Slider, Autoplay und schwerfällige Seiten die Konversionsrate sowie die Platzierungen bei Google und Yandex verschlechtern
47
2 min.
Der SSP-Standard legt Anforderungen an die Semantik, Barrierefreiheit und Funktionslogik von Paginierung fest
58
1 min.
Der SSPS-Standard legt Anforderungen an die Struktur und Benennung von Dateien und Ordnern im Projekt fest
169
2 min.
Der SSG-Standard legt Anforderungen an die Semantik, Barrierefreiheit und Funktionslogik von Git fest
52
3 min.