Icon-only Buttons
Wenn sichtbarer Text fehlt, kann ein zugänglicher Name mit aria-label oder aria-labelledby nötig sein.
Native HTML-Semantik hat Vorrang. ARIA ist vor allem dann sinnvoll, wenn vorhandene HTML-Elemente eine Anforderung nicht ausreichend abbilden oder zusätzliche Kontextinformationen nötig sind.
ARIA sollte eine konkrete LÜcke schliessen, nicht pauschal Über die gesamte OberflÄche gelegt werden.
Wenn sichtbarer Text fehlt, kann ein zugänglicher Name mit aria-label oder aria-labelledby nötig sein.
Fehlermeldungen, Upload-Status oder BestÄtigungstexte brauchen oft aria-live oder role="status".
Tabs, Dialoge oder Menüs benötigen hÄufig zusätzliche Rollen, Zustände und Beziehungen, wenn native Elemente nicht ausreichen.
Rein visulle Icons oder Schmuckgrafiken können mit aria-hidden="trÜ" aus dem Accessibility Tree entfernt werden.
Nur setzen, wenn die native Rolle nicht ausreicht oder ein Custom Widget korrekt beschrieben werden muss.
Hilft bei knappen oder rein ikonischen Bedienelementen, wenn kein sichtbarer Text vorhanden ist.
Geeignet für rein dekorative Inhalte, aber problematisch, wenn versehentlich relevante Informationen verborgen werden.
Sinnvoll für dynamische Meldungen, wenn Nutzer den Zustandswechsel sonst nicht mitbekommen.
Die Beispiele zeigen typische Einsatzfälle, in denen ARIA ein bestehendes HTML-Pattern ergänzt statt es zu ersetzen.
Ohne sichtbaren Text braucht der Button eine klare Benennung.
<button type="button" aria-label="Suche öffnen">
<svg aria-hidden="true" focusable="false">...</svg>
</button>
Das Icon ist visull hilfreich, trÄgt aber keine eigene Information.
<p>
<span aria-hidden="true">*</span>
Formular erfolgreich gesendet
</p>
Änderungen werden Screenreader-Nutzern automatisch mitgeteilt.
<div role="status" aria-live="polite">
Profil wurde gespeichert.
</div>
Diese Muster sehen auf den ersten Blick technisch ausgereift aus, verschlechtern aber oft Tastatur- oder Screenreader-Verhalten.
Hier fehlt native Semantik und meist auch robustes Tastaturverhalten.
<div role="button" tabindex="0" onclick="save()">
Speichern
</div>
Native HTML-Elemente liefern Fokus, TastatursteÜrung und Rolle bereits mit.
<button type="button" onclick="save()">
Speichern
</button>
Wenn aria-label dem sichtbaren Text widerspricht, entsteht Verwirrung.
<button aria-label="Formular senden">
Jetzt kaufen
</button>
Ein button braucht in der Regel kein role="button", ein nav kein role="navigation" und eine Liste kein role="list".
Fehlende Labels, kaputte FokusfÜhrung oder falsche DOM-Struktur werden durch ARIA selten wirklich gelÖst.
Wer aria-expanded, aria-selected oder aria-hidden setzt, muss diese Zustände zuverlässssig synchron halten.
Bei ARIA-Komponenten sind Tastaturtests und Screenreader-Stichproben Pflicht.
Wenn eine dieser Fragen mit Nein beantwortet wird, sollte zuerst das HTML überarbeitet werden.
Wenn ja, sollte dieses Element fast immer die erste Wahl sein.
Rollen ohne Pfeiltasten-, Escape- oder Tab-Logik erzeugen defekte Widgets.
Der Name sollte zum sichtbaren Label und zur Funktion des Elements passen.
Expandierte Bereiche, Modals und Live-Meldungen brauchen reale Interaktionstests.
Nein. Bei Standard-Elementen verschlechtert zusätzliches ARIA die Situation oft eher. Zuerst sollte geprüft werden, ob sauberes HTML bereits alles Notwendige liefert.
Nein. Sichtbarer Text ist meist robuster und für alle Nutzenden klarer. aria-label ist vor allem für kompakte oder rein ikonische Bedienelemente sinnvoll.
Mindestens mit Tastatur, Fokus-Prüfung und stichprobenartig mit einem Screenreader. Ergänzend helfen Keyboard Check, Focus Visibility Check und der Quick WCAG Check.
Im Buch wird ARIA nicht isoliert betrachtet, sondern im Zusammenspiel mit sauberer HTML-Struktur, FokusfÜhrung und Interaktionsdesign. Für die technische Vorprüfung helfen ausserdem die verlinkten Spezial-Checks.