aria-disabled
Zeigt an, dass ein Steuerelement wahrnehmbar und fokussierbar ist, aber nicht auf Benutzereingaben reagiert. Das native HTML-Attribut disabled sollte bevorzugt werden; aria-disabled empfiehlt sich, wenn das Element fokussierbar bleiben oder ein Tooltip anzeigen soll.
Verwendung
Wenn ein Button, Link, Eingabefeld oder zusammengesetztes Widget aktuell nicht bedienbar ist, aber dennoch in der Tab-Reihenfolge erscheinen soll, damit Nutzende es entdecken und den Grund für die Deaktivierung erfahren können. Dazu wird aria-disabled="true" gesetzt und das Element visuell so gestaltet, dass der deaktivierte Zustand eindeutig erkennbar ist.
Im Vergleich zu verwandten Attributen:
- HTML
disabled(auf<button>,<input>,<select>,<textarea>,<fieldset>) — entfernt das Steuerelement vollständig aus der Tab-Reihenfolge, ignoriert Klicks und verhindert die Übermittlung des Werts. Dieses Attribut sollte verwendet werden, wenn keine Interaktion mit dem Steuerelement sinnvoll ist. aria-disabled="true"— der Screenreader kündigt „deaktiviert“ / „nicht verfügbar“ an, das Element bleibt jedoch fokussierbar. Der Klick-Handler muss zusätzlich manuell blockiert werden. Dieses Attribut eignet sich für Custom-Widgets, für<a>-Tags (die keindisabledakzeptieren) oder wenn der deaktivierte Zustand einen erklärenden Tooltip benötigt.aria-readonly— der Wert kann nicht geändert werden, das Steuerelement ist jedoch weiterhin bedienbar und fokussierbar. Die Nutzenden können ihn kopieren, und das Formular übermittelt ihn weiterhin.aria-hidden— entfernt das Element vollständig aus dem Accessibility-Tree. Anderes Ziel: verborgen, nicht deaktiviert.
Synchronisation
Gültige Werte sind "true" und "false". Bei aktiviertem Steuerelement empfiehlt sich "false" oder das Weglassen des Attributs — es ist nicht notwendig, aria-disabled="false" auf jedem aktiven Steuerelement zu rendern.
Bei aria-disabled="true":
- Den Klick-Handler blockieren. Das Attribut blockiert Ereignisse nicht selbst.
- Die Standard-Tastaturaktivierung (Enter, Space) verhindern.
- Den deaktivierten Zustand visuell klar kennzeichnen; dabei prüfen, ob er noch WCAG 1.4.11 (Nicht-Text-Kontrast) erfüllt — die deaktivierte Darstellung ist ausdrücklich ausgenommen, ein klarer visueller Hinweis ist jedoch weiterhin empfehlenswert.
Häufige Fehler
aria-disabled="true"verwenden, ohne den Klick-Handler zu blockieren — das Element wirkt deaktiviert, löst aber seine Aktion weiterhin aus.disabledundaria-disabledauf demselben Element kombinieren: Das native Attribut gibt den Zustand bereits bekannt; die Dopplung ist redundant.aria-disabledauf<a>verwenden, ohnehrefzu entfernen oder das Standardverhalten zu verhindern — der Link navigiert weiterhin.- Steuerelemente deaktivieren, ohne den Grund zu erklären: WCAG 3.3.1 erwartet eine Fehlermeldung oder Anweisung.
aria-disabledmitaria-hiddenverwechseln: Deaktivierte Elemente bleiben im Accessibility-Tree; verborgene Elemente verschwinden daraus.
Beispiel
<button type="submit" aria-disabled="true" aria-describedby="submit-help">
Submit order
</button>
<p id="submit-help">Add at least one item to your cart to enable submit.</p>