ARIA

Die fünf Regeln von ARIA Muss

  1. Kein ARIA ist besser als schlechtes ARIA. Natives HTML verwenden, wenn möglich.
  2. Keine nativen Semantiken überschreiben. Nicht <h2 role="tab">.
  3. Alle interaktiven ARIA-Elemente müssen per Tastatur bedienbar sein.
  4. Fokussierbare Elemente nicht mit role="presentation" oder aria-hidden="true" versehen.
  5. Alle interaktiven Elemente brauchen einen zugänglichen Namen.

Wann ARIA verwenden? Muss

Natives HTML vs. ARIA
Statt ARIA Natives HTML verwenden
role="button" <button>
role="link" <a href>
role="navigation" <nav>
role="checkbox" <input type="checkbox">

Häufig benötigte ARIA-Attribute

Zugängliche Namen

<!-- Sichtbares Label -->
<button aria-label="Menü schliessen">✕</button>

<!-- Label referenzieren -->
<div aria-labelledby="dialog-title">
  <h2 id="dialog-title">Konto löschen</h2>
</div>

Zustände

<button aria-expanded="false" aria-controls="menu">Menü</button>
<ul id="menu" hidden>...</ul>

<input aria-invalid="true" aria-describedby="error-msg">
<p id="error-msg">Pflichtfeld</p>

Live Regions

<!-- Für Statusmeldungen -->
<div aria-live="polite" role="status">3 Ergebnisse gefunden.</div>

<!-- Für dringende Meldungen -->
<div aria-live="assertive" role="alert">Sitzung läuft in 2 Minuten ab.</div>