Beta

Was sind ARIA-Attribute überhaupt?

Alle Lernartikel

ARIA-Attribute sind wie Untertitel für Screen Reader – sie erklären, was auf deiner Website passiert. Ohne sie verstehen blinde Menschen oft nicht, ob ein Button ein Menü öffnet oder ein Modal schließt. In diesem Guide lernst du die wichtigsten ARIA-Attribute kennen und siehst an echten Beispielen, wie du sie richtig einsetzt.

Laptop zeigt Aria-Attribute-Übersicht: aria-label, aria-hidden, aria-expanded, aria-live mit Accessibility- und Audio-Symbol

Inhaltsverzeichnis

ARIA steht für „Accessible Rich Internet Applications“ – klingt kompliziert, ist es aber nicht. ARIA-Attribute sind zusätzliche HTML-Eigenschaften, die Screen Readern erklären, was auf deiner Website passiert.

Denk an ARIA wie an Untertitel in einem Film: Sehende Menschen sehen die Bilder, aber Screen Reader-Nutzer brauchen diese „Untertitel“, um zu verstehen, was gerade abläuft.

Wichtige Grundregel:

Verwende zuerst semantisches HTML, dann erst ARIA. Ein <button> ist immer besser als ein <div role="button">. ARIA ist nur die Notlösung, wenn HTML nicht reicht.

Die wichtigsten ARIA-Attribute im Überblick

Es gibt über 50 verschiedene ARIA-Attribute, aber du brauchst nur etwa 10 davon für 90% aller Fälle. Hier sind die wichtigsten:

aria-label gibt Elementen einen unsichtbaren Namen. aria-hidden versteckt dekorative Elemente vor Screen Readern. aria-expanded zeigt an, ob etwas auf- oder zugeklappt ist. aria-describedby verknüpft Elemente mit Hilfstext.

Das war’s schon für den Anfang! Diese vier Attribute lösen bereits die meisten Barrierefreiheits-Probleme.

aria-label – der unsichtbare Helfer

aria-label ist dein bester Freund bei Icon-Buttons. Ohne Text weiß ein Screen Reader nicht, was ein Button macht.

<!-- Schlecht: Screen Reader sagt nur "Button" -->
<button><i class="icon-close"></i></button>

<!-- Gut: Screen Reader sagt "Dialog schließen, Button" -->
<button aria-label="Dialog schließen">
  <i class="icon-close"></i>
</button>

<!-- Noch besser: Verstecke das Icon vor Screen Readern -->
<button aria-label="Dialog schließen">
  <i class="icon-close" aria-hidden="true"></i>
</button>

Zweck: Zeigt wie aria-label funktioniert und warum aria-hidden wichtig ist

Praktische Anwendungen

  • Social Media Buttons
  • Such-Icons
  • Download-Links ohne Text

aria-hidden – Dekorative Elemente verstecken

aria-hidden="true" ist perfekt für Icons, Trennstriche und andere dekorative Elemente, die Screen Reader verwirren würden.

<!-- Verwirrender Screen Reader Output ohne aria-hidden -->
<button>
  <i class="fas fa-download"></i>
  Datei herunterladen
</button>
<!-- Screen Reader: "Bild Datei herunterladen Button" -->

<!-- Sauberer Output mit aria-hidden -->
<button>
  <i class="fas fa-download" aria-hidden="true"></i>
  Datei herunterladen
</button>
<!-- Screen Reader: "Datei herunterladen Button" -->

Zweck: Demonstriert den Unterschied im Screen Reader Output

Gefährlicher Fehler

Verwende aria-hidden=“true“ NIEMALS auf fokussierbaren Elementen wie Buttons oder Links.

Praktische Anwendungen

  • Font Awesome Icons
  • dekorative SVGs
  • Breadcrumb-Pfeile

aria-expanded – Auf- und Zuklappen kommunizieren

aria-expanded zeigt an, ob Dropdown-Menüs, Akkordeons oder mobile Navigation auf- oder zugeklappt sind.

<!-- Dropdown-Button mit aria-expanded -->
<button 
  aria-expanded="false" 
  aria-controls="user-menu"
  onclick="toggleMenu()">
  Benutzerkonto
  <i class="arrow-down" aria-hidden="true"></i>
</button>

<ul id="user-menu" style="display: none;">
  <li><a href="/profile">Profil</a></li>
  <li><a href="/settings">Einstellungen</a></li>
  <li><a href="/logout">Abmelden</a></li>
</ul>

<script>
function toggleMenu() {
  const button = event.target;
  const menu = document.getElementById('user-menu');
  const isExpanded = button.getAttribute('aria-expanded') === 'true';
  
  // Status umschalten
  button.setAttribute('aria-expanded', !isExpanded);
  menu.style.display = isExpanded ? 'none' : 'block';
}
</script>

Zweck: Vollständiges Beispiel mit JavaScript für aria-expanded

Praktische Anwendungen

  • Dropdown Menüs
  • Akkordeon-Panels
  • Mobile Hamburger-Navigation

aria-describedby – Hilfstext verknüpfen

aria-describedby verknüpft Formularfelder mit Hilfstext oder Fehlermeldungen.

<!-- Passwort-Feld mit Anforderungen -->
<label for="password">Neues Passwort</label>
<input 
  type="password" 
  id="password" 
  aria-describedby="password-help password-error"
  required>

<div id="password-help">
  Mindestens 8 Zeichen, davon eine Zahl und ein Sonderzeichen
</div>

<div id="password-error" style="color: red; display: none;">
  Passwort entspricht nicht den Anforderungen
</div>

Zweck: Zeigt wie Hilfstext und Fehlermeldungen verknüpft werden

Praktische Anwendungen

  • Passwort-Anforderungen
  • Formular-Hilfen
  • Zeichenzähler
  • Fehlermeldungen

Live Regions – Dynamische Änderungen mitteilen

aria-live teilt Screen Readern mit, wenn sich Inhalte ändern – ohne dass der Nutzer den Fokus verliert.

<!-- Status-Meldungen für Formulare -->
<div id="status" aria-live="polite"></div>

<!-- Fehlermeldungen (wichtiger) -->
<div id="alerts" aria-live="assertive"></div>

<script>
// Erfolg mitteilen
document.getElementById('status').textContent = 
  'Einstellungen gespeichert';

// Fehler sofort ankündigen
document.getElementById('alerts').textContent = 
  'Verbindung fehlgeschlagen - bitte erneut versuchen';
</script>

Zweck: Live Regions für dynamische Inhalte

Praktische Anwendungen

  • Shopping Cart Updates („Artikel hinzugefügt“)
  • Formular-Validierung („Feld korrekt ausgefüllt“)
  • Chat-Nachrichten (neue Nachricht erhalten)
  • Suchergebnisse (Anzahl Treffer aktualisiert)
  • Fortschrittsbalken (Upload bei 50%)

Häufige Fehler und wie du sie vermeidest

Der größte Fehler: Zu viel ARIA verwenden. Jedes HTML-Element hat bereits eingebaute Semantik. Du machst es nur kaputt, wenn du unnötig ARIA hinzufügst.

<!-- FALSCH: Unnötige Wiederholung -->
<nav role="navigation">
<button role="button">Klick mich</button>
<a href="#" role="link">Link</a>

<!-- RICHTIG: HTML reicht völlig -->
<nav>
<button>Klick mich</button>
<a href="#">Link</a>

Häufige Fragen zu ARIA

  • Ja, definitiv! Falsches ARIA macht Websites schlechter zugänglich. Die Regel ist: Lieber gar kein ARIA als falsches ARIA. Teste immer mit Screenreadern.

  • Für den Anfang: aria-label, aria-hidden, aria-expanded und aria-describedby. Diese vier lösen 80% aller ARIA-Probleme und sind einfach zu verstehen.

  • Nein! Für die meisten Websites reichen 5-10 ARIA-Attribute völlig aus. Lerne erst die Grundlagen, bevor du dich an komplexere Attribute wagst.

Komplett kostenlos

Starte deinen Weg zur digitalen Barrierefreiheit

Erhalte 5 Tage lang täglich eine E-Mail: Von den Grundlagen über die besten Testing-Tools bis zu häufigen Fehlern – dein perfekter Einstieg in digitale Barrierefreiheit.