Selektoren
Darstellung von Elementen und Attributen
(Materialsammlung)
Selektoren werden in CSS-Anweisungen eingesetzt, um bestimmte Aspekte von HTML-Elementen und Attributen in einer gewünschten Weise darzustellen. Dadurch werden Aspekte realisiert, die von der Standarddarstellung des Browsers abweichen.
Auf dieser Seite sammle ich Hinweise zum Einsatz von Selektoren mit einem Schwerpunkt auf Barrierefreiheit.
before und after
Mit den Pseudoelementen ::before und ::after kann Inhalt vor oder hinter einem HTML-Element hinzugefügt werden.
Der zu ergänzende Inhalt wird mit der
content
-Anweisung realisiert.
Der folgende CSS-Code stellt Elementen mit der Klasse mobil ein Icon für Smart Phones voran.
Das Icon wird als
Unicode-Zeichen
📱 (📱) realisiert.
Hinter dem Schrägstrich wird die Textalternative für Screen Reader angegeben.
Mit dem Code können in einer zentralen CSS-Datei Mobiltelefonnummern konsistent mit einem Indikator versehen werden.
.mobil::before {
content: "\1F4F1" / "Mobil";
}
- W3C | Selectors Level 3 # The ::before and ::after pseudo-elements
- Empfehlungen des World Wide Web Consortium
- W3C | Accessible Name and Description Computation 1.1
-
Unter der Bedingung F werden
beforeundafterals Teil des barrierefreien Namens erläutert.
empty
Mit der Pseudoklasse :empty können CSS-Anweisungen speziell für leere Elemente realisiert werden.
Leer bedeutet dabei, dass sich in dem Element keine Kindelemente oder Zeichen befinden.
Selbst enthaltene Leerzeichen oder Absatzumbrüche bewirken, dass Anweisungen unwirksam bleiben.
Lediglich Kommentare werden als leer interpretiert.
Nach dem Vorschlag der CSS-Arbeitsgruppe für den Standard
Selectors Level 4 (April 2026)
sollten auch Leerzeichen und andere white-space-Zeichen durch eine empty-Anweisung berücksichtigt werden.
Allerdings ist die Umsetzung durch Browser mit Stand 2026 noch nicht gewährleistet.
Folgende Überschriften der Ebene 2 gelten beispielsweise für :empty-Anweisungen als leer:
<h2></h2> <h2><!-- Kommentar --></h2>
Mit folgenden CSS-Anweisungen können diese leeren Überschriften aus dem Accessibility-Tree entfernt werden:
h2:empty {
display: none;
}
-
Leere Elemente sollten nicht generell verborgen werden.
:empty { … }*:empty { … }Links und Schalter bestehen vielfach aus leeren Elementen mit Hintergrundgrafiken, deren Beschriftung lediglich mit einem Titelattribut oder einer ARIA-Anweisung realisiert ist (Social-Media-Links, Suchschalter, …).
- Leere Überschriften werden vom Prüftool WAVE als Fehler identifiziert. Leider bleit die Fehlermeldung auch, wenn eine leere Überschrift mit der obigen Anweisung verborgen wird.
Links zu :empty
- W3C | Selectors Level 3 # :empty pseudo-class
- Empfehlungen des World Wide Web Consortium
- MDN | :empty CSS pseudo-class
- Erläuterungen und Praxisbeispiele aus dem Mozilla Developer Network.
-
Testdatei für
empty - Labordatei zum Prüfen des Verhaltens im Browser, Screen Reader oder in Prüftools