In diesem Artikel erfahren Sie alles über den korrekten Einsatz von aria-hidden: wann es angebracht ist, welche Fehler Sie unbedingt vermeiden sollten und wie Sie es optimal nutzen, um eine klarere und inklusivere Web-Erfahrung zu schaffen.
Was aria-hidden macht und warum es wichtig ist
Die Funktion von aria-hidden=“true“: Unsichtbar für Screenreader
Wann aria-hidden=“true“ korrekt eingesetzt wird: Konkrete Anwendungsfälle
Häufige Fehler und Missverständnisse: Was man NICHT tun sollte
Technische Umsetzung und Kombination mit anderen Attributen
Checkliste für den Einsatz von aria-hidden (Praktischer Leitfaden)
Stellen Sie sich vor, Sie navigieren durch eine Webseite und jeder noch so kleine grafische Schnörkel, jedes doppelt vorhandene Logo oder jeder nicht relevante Hintergrund-Icon würde Ihnen laut vorgelesen. Das wäre nicht nur mühsam, sondern auch extrem verwirrend und zeitraubend. Genau dieses Problem löst das ARIA-Attribut aria-hidden.
Es ist ein mächtiges Werkzeug in der Welt der Web-Barrierefreiheit, das eine ganz spezielle Aufgabe erfüllt: Ein Element visuell sichtbar zu lassen, es aber gleichzeitig für Screenreader und andere assistive Technologien komplett unsichtbar zu machen. Während Sie ein Element weiterhin sehen können, existiert es für einen Screenreader schlichtweg nicht.
Dies ist besonders wichtig, um die digitale Erfahrung für Menschen mit Sehbehinderung zu optimieren. Ohne aria-hidden könnten assistive Technologien mit irrelevanten oder redundanten Informationen überflutet werden. Das führt zu einer schlechten Nutzererfahrung, da wichtige Inhalte in einem Meer von Unwichtigem untergehen. aria-hidden hilft dabei, die „auditive Landschaft“ einer Webseite zu bereinigen und sicherzustellen, dass sich Screenreader-Nutzer auf das Wesentliche konzentrieren können.
Unterschied zu display:none und visibility:hidden
Es ist wichtig zu verstehen, dass aria-hidden etwas anderes bewirkt als CSS-Eigenschaften wie display: none oder visibility: hidden. Diese verstecken Elemente sowohl visuell als auch für Screenreader. aria-hidden hingegen agiert gezielt auf der Ebene der Barrierefreiheit: Es versteckt Inhalte nur für Screenreader, während sie für sehende Nutzer weiterhin sichtbar bleiben.
Das Kernprinzip von aria-hidden=“true“ ist einfach, aber wirkungsvoll: Es entfernt ein Element und alle seine Nachfahren (also alle darin enthaltenen Elemente) vollständig aus dem sogenannten Accessibility Tree des Browsers. Der Accessibility Tree ist eine Art vereinfachte, semantische Darstellung der Webseite, die von assistiven Technologien wie Screenreadern genutzt wird. Wenn ein Element aus diesem Baum entfernt wird, existiert es für den Screenreader nicht mehr.
Wie das Attribut aria-hidden technisch angewendet wird
Sie fügen das Attribut aria-hidden mit dem Wert true direkt zu dem HTML-Element hinzu, das Sie für Screenreader unsichtbar machen möchten:
HTML
<div aria-hidden=“true“>
<img src=“dekoratives-icon.svg“ alt=““> <span>Zusätzlicher Text, der nur für Sehende relevant ist</span>
</div>
Hinweis: Das alt-Attribut des Bildes bleibt hier leer (alt=““), da es sich um ein rein dekoratives Element handelt, dessen Information bereits durch aria-hidden ausgeblendet wird. Möchten Sie mehr über die korrekte Verwendung von alt-Texten erfahren? Dann lesen Sie unseren ausführlichen Artikel über alt-Texte.
Was passiert, wenn aria-hidden=“true“ angewendet wird?
Die Auswirkungen sind präzise:
Unterschied zu display: none und visibility: hidden
Es ist entscheidend, aria-hidden=“true“ nicht mit den CSS-Eigenschaften display: none oder visibility: hidden zu verwechseln.
Dieser Unterschied ist fundamental: aria-hidden ist ein Werkzeug der Barrierefreiheit, das gezielt die Ausgabe von assistiven Technologien steuert, ohne die visuelle Darstellung zu beeinflussen. Es ist dazu gedacht, eine klarere und weniger redundante auditive Erfahrung zu schaffen, nicht um Elemente visuell zu verbergen.
Ein Hinweis zu aria-hidden=“false“
Obwohl es auch aria-hidden=“false“ gibt, ist dessen Einsatz in der Praxis selten und oft eine Quelle für Verwirrung. Standardmäßig sind alle Elemente im Accessibility Tree enthalten, es sei denn, sie werden explizit ausgeblendet (z.B. durch aria-hidden=“true“ oder display: none). Das Setzen von aria-hidden=“false“ ist primär dann sinnvoll, wenn ein Element zuvor dynamisch mit aria-hidden=“true“ ausgeblendet wurde und nun wieder für Screenreader zugänglich gemacht werden soll. In den meisten Fällen benötigen Sie es jedoch nicht. Unser Fokus liegt daher auf der bewussten Verwendung von aria-hidden=“true“.
aria-hidden=“true“ ist kein Attribut, das Sie inflationär nutzen sollten. Sein Wert liegt im gezielten Einsatz, um die Screenreader-Ausgabe zu vereinfachen und redundante oder verwirrende Informationen zu eliminieren. Hier sind die gängigsten und wichtigsten Anwendungsfälle, bei denen aria-hidden=“true“ eine essenzielle Rolle für die Barrierefreiheit spielt:
Dekorative oder redundante Elemente
Dies ist der häufigste und intuitivste Anwendungsfall. Elemente, die für das Verständnis des Inhalts oder die Bedienbarkeit der Seite nicht notwendig sind, sollten für Screenreader unsichtbar gemacht werden.
Duplizierte oder Off-Screen-Inhalte (Mobile Navigationen, Hidden Elements)
Oftmals gibt es im HTML-Code Inhalte, die aus Design- oder technischen Gründen mehrfach vorhanden sind oder nur unter bestimmten Bedingungen sichtbar werden (z.B. auf mobilen Geräten). aria-hidden=“true“ hilft hier, Verwirrung zu vermeiden.
Komplexe Widgets während Übergängen/Interaktionen (Dynamischer Einsatz)
Bei interaktiven Elementen, die den Fokus des Nutzers erfordern, ist aria-hidden=“true“ entscheidend, um den Screenreader auf das Wesentliche zu lenken. Hier wird das Attribut meist dynamisch per JavaScript gesetzt.
Besonderer Mehrwert: Text, der für sehende Nutzer nötig, aber für Screenreader irrelevant/störend ist
Dies ist ein seltenerer, aber bedenkenswerter Anwendungsfall, der den Mehrwert von aria-hidden unterstreicht und über das Übliche hinausgeht:
Manchmal gibt es kurze Textfragmente, die aus visuellen Gründen unverzichtbar sind, aber für Screenreader-Nutzer eine unnötige Redundanz oder sogar eine Störung darstellen, weil die Information bereits auf andere, bessere Weise bereitgestellt wird.
Beispiel: Eine rein visuelle Bildunterschrift zu einem Bild mit gutem alt-Text. Stellen Sie sich ein Bild vor, das einen präzisen und informativen alt-Text hat (z.B. „Ein sonniger Strand mit Palmen und türkisblauem Meer bei Sonnenuntergang“). Darunter befindet sich eine sichtbare Bildunterschrift, die nur „Urlaubsbild“ sagt. Für sehende Nutzer ist die knappe Unterschrift okay, für Screenreader-Nutzer wäre das jedoch eine störende Dopplung oder sogar eine Abwertung der besseren alt-Text-Information. Hier könnte die oberflächliche Bildunterschrift mit aria-hidden=“true“ versehen werden, um die wertvollere alt-Text-Info in den Vordergrund zu rücken und die auditive Ausgabe zu optimieren.
HTML
<img src=“strand.jpg“ alt=“Ein sonniger Strand mit Palmen und türkisblauem Meer bei Sonnenuntergang“>
<p class=“image-caption“ aria-hidden=“true“>Urlaubsbild</p>
Wichtig: Dies sollte nur geschehen, wenn der alt-Text deutlich besser und ausführlicher ist als die Bildunterschrift. Im Zweifel sollte die Bildunterschrift immer zugänglich bleiben, wenn sie neue oder ergänzende Informationen liefert.)
Der bewusste Einsatz von aria-hidden=“true“ in diesen Szenarien trägt maßgeblich dazu bei, eine aufgeräumte, klare und somit barrierefreiere Nutzererfahrung für Menschen zu schaffen, die auf assistive Technologien angewiesen sind.
Häufige Fehler und Missverständnisse: Was man NICHT tun sollte
Trotz seiner Nützlichkeit kann aria-hidden=“true“ bei falscher Anwendung erhebliche Barrieren schaffen. Die folgenden Fehler gilt es unbedingt zu vermeiden:
Verstecken von relevantem, sichtbarem Inhalt
Dies ist der gravierendste Fehler. Wenn ein Element oder Text visuell sichtbar und für das Verständnis oder die Interaktion der Seite essenziell ist, darf es niemals mit aria-hidden=“true“ versehen werden. Screenreader-Nutzer würden diesen Inhalt vollständig verpassen.
Beispiel: Eine Produktbeschreibung, ein Preis oder ein wichtiger Link, der für Sehende sichtbar ist, aber für Screenreader ausgeblendet wird.
aria-hidden als visuellen Verstecker missbrauchen
aria-hidden=“true“ ist kein Ersatz für CSS-Eigenschaften wie display: none oder visibility: hidden. Es beeinflusst nicht das visuelle Rendering der Seite. Ein Element mit aria-hidden=“true“ ist für Sehende weiterhin sichtbar. Versuchen Sie, Elemente damit zu verstecken, führt das zu verwirrendem Code und keiner visuellen Veränderung.
aria-hidden auf interaktiven Elementen anwenden
Interaktive Elemente wie Links, Buttons, Formularfelder oder Schalter, die visuell sichtbar und bedienbar sind, dürfen niemals mit aria-hidden=“true“ versehen werden. Dies würde bedeuten, dass Screenreader-Nutzer diese Elemente nicht finden, nicht aktivieren und somit die Webseite nicht bedienen können.
Beispiel: <button aria-hidden=“true“>Absenden</button> – Dieser Button wäre für Screenreader-Nutzer nicht existent.
Sinnloser Einsatz von aria-hidden=“false“
Das Attribut aria-hidden=“false“ ist selten notwendig. Standardmäßig sind alle Elemente im Accessibility Tree enthalten, sofern sie nicht explizit ausgeblendet wurden. Das Setzen von aria-hidden=“false“ auf einem Element, das ohnehin sichtbar und zugänglich ist, ist redundant und kann in komplexen Szenarien potenziell zu Fehlern oder einer unnötigen Verkomplizierung führen. Es ist primär nützlich, um ein zuvor mit aria-hidden=“true“ verstecktes Element wieder sichtbar zu machen.
Vernachlässigung des Fokusmanagements bei dynamischem aria-hidden
Wenn Sie aria-hidden=“true“ dynamisch verwenden (z.B. beim Öffnen eines Modals für den Hintergrundinhalt), müssen Sie auch das Fokusmanagement beachten. Der Fokus muss beim Öffnen auf das Modal gelenkt werden und nach dem Schließen wieder an die ursprüngliche Position zurückkehren. Wenn Sie nur aria-hidden setzen, aber den Fokus nicht verschieben, kann es für Screenreader-Nutzer schwierig sein, den neuen Kontext zu erreichen oder den Überblick zu behalten.
Die korrekte Anwendung dieser Regeln ist entscheidend, um unbeabsichtigte Barrieren zu vermeiden und eine wirklich barrierefreie Nutzererfahrung zu gewährleisten.
Die technische Implementierung von aria-hidden=“true“ ist unkompliziert, doch sein Zusammenspiel mit anderen Attributen erfordert Aufmerksamkeit, um eine optimale Barrierefreiheit zu gewährleisten.
HTML-Beispiele für die Anwendung
Das Attribut wird direkt im HTML-Tag platziert, das Sie aus dem Accessibility Tree entfernen möchten:
Dynamisches Setzen mit JavaScript
Bei interaktiven Komponenten wie Modal-Dialogen oder Karussells wird aria-hidden häufig per JavaScript gesetzt, um den Zustand dynamisch zu steuern.
Wichtiger Hinweis: Bei Modalen muss zusätzlich immer der Fokus richtig verwaltet werden
Zusammenspiel mit alt-Texten, aria-label und role=“img“
Die Wahl zwischen aria-hidden, alt-Text und aria-label hängt stark vom Kontext und der Art des Elements ab:
Die sorgfältige Kombination dieser Attribute ermöglicht es, eine präzise und effiziente Barrierefreiheits-Erfahrung zu schaffen, ohne die visuelle Gestaltung zu beeinträchtigen.
Um sicherzustellen, dass Sie aria-hidden=“true“ korrekt und zielgerichtet einsetzen, können Sie die folgende Checkliste nutzen. Sie hilft Ihnen, die häufigsten Fehler zu vermeiden und eine wirklich barrierefreie Lösung zu finden.
Relevanz des Inhalts prüfen
Art des Elements und des Inhalts
Dynamischer Einsatz (bei Interaktionen)
Semantik und Alternativen
Testen und Validierung
Diese Checkliste dient als Leitfaden, um bewusste und korrekte Entscheidungen beim Einsatz von aria-hidden=“true“ zu treffen und somit eine qualitativ hochwertige Barrierefreiheit zu gewährleisten.
aria-hidden=“true“ macht ein Element für Screenreader und andere assistive Technologien unsichtbar, während es für sehende Nutzer weiterhin auf der Webseite sichtbar bleibt. Es wird aus dem sogenannten Accessibility Tree entfernt.
Nutzen Sie es für rein dekorative Elemente (z.B. Icons ohne eigene Funktion), redundante Inhalte oder um den Hintergrund bei geöffneten Modal-Dialogen für Screenreader auszublenden, damit diese sich auf das aktive Fenster konzentrieren können.
Nein. display: none und visibility: hidden verstecken Elemente sowohl visuell als auch für Screenreader. aria-hidden=“true“ versteckt Inhalte nur für Screenreader, während sie visuell sichtbar bleiben.
Niemals! Wenn ein Link, Button oder ein anderes interaktives Element sichtbar ist und bedient werden soll, darf es nicht mit aria-hidden=“true“ versehen werden. Dies würde es für Screenreader-Nutzer unzugänglich machen.
Der beste Weg ist das Testen mit einem echten Screenreader (z.B. NVDA auf Windows, VoiceOver auf Mac/iOS). Sie können auch die Entwicklertools Ihres Browsers nutzen, um den Accessibility Tree zu prüfen.
Ob gesetzliche Anforderungen, technische Details oder allgemeine Orientierung – unsere Expert:innen beraten Sie persönlich, unkompliziert und kostenlos und zeigen Ihnen auch unsere Softwarelösung im Detail.
Sie sehen gerade einen Platzhalterinhalt von GTranslate. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr InformationenSie sehen gerade einen Platzhalterinhalt von Google Maps. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen