Framer

Framer

Accessibility

Accessibility

Barrierefreiheit & ARIA‑Labels – Anleitung für Dummies

Barrierefreiheit & ARIA‑Labels – Anleitung für Dummies

Für Einsteiger, die schnell verstehen wollen, wie sie ihre Website barrierefrei machen – ohne Fachchinesisch.

Porträt von Max Baasner, dem Inhaber der "Website für Selbständige", mit einem freundlichen Lächeln.
Porträt von Max Baasner, dem Inhaber der "Website für Selbständige", mit einem freundlichen Lächeln.

Erstellt von

Max Baasner

1. Warum du dich kümmern solltest

  • Reichweite – rund 15 % der Menschen leben mit einer Behinderung. Wenn deine Seite sie ausschliesst, verpasst du Besucher:innen und Umsatz.

  • SEO‑Boost – saubere Semantik hilft Suchmaschinen, deinen Content besser zu verstehen.

  • Recht & Image – in vielen Ländern sind barrierefreie Angebote Pflicht. Ausserdem zeigt es, dass du es ernst meinst mit Inklusion.

2. Die 5 goldenen Barrierefreiheits‑Regeln

  1. Semantik first – nutze die richtigen HTML‑Elemente (z. B. <button> statt <div> für klickbare Dinge).

  2. Tastatur‑Test – prüfe jede Funktion nur mit Tab, Enter und Leertaste. Wenn es klappt, bist du schon weit.

  3. Visueller Fokus – der aktuell fokussierte Bereich muss klar sichtbar sein (Outline, Shadow …).

  4. Kontrast & Schriften – mindestens 4.5 : 1 für Text, keine winzigen 10‑px‑Fonts.

  5. Alle Medien beschreiben – Alt‑Text fürs Bild, Untertitel fürs Video.

3. Was ist ARIA?

ARIA = Accessible Rich Internet Applications. Es ergänzt HTML, wenn Standard‑Elemente nicht reichen.

Denke an ARIA wie an Gewürze: Eine Prise macht das Gericht besser, zu viel verdirbt es.

4. Die wichtigsten ARIA‑Attribute (Cheat‑Sheet)

Attribut

Wann setzen?

Beispiel

aria-label

Wenn kein sichtbarer Text vorhanden ist

<button aria-label="Menü öffnen">☰</button>

aria-labelledby

Wenn ein sichtbarer Titel vorhanden ist

<div role="dialog" aria-labelledby="modalTitle">

aria-describedby

Für zusätzliche Beschreibung

<input aria-describedby="pwd-hint">

aria-expanded

Klapp‑Elemente (Akkordeon, Burger)

<button aria-expanded="false">Mehr</button>

aria-current

Aktueller Link oder Schritt

<a aria-current="page" href="/blog">Blog</a>

aria-hidden

Inhalt für Screenreader verbergen

<span class="icon" aria-hidden="true">★</span>

5. Landmarks – Wegweiser für Screenreader

Was sind Landmarks? Denk an sie wie an Wegweiser in einem Gebäude: „Hier geht’s zum Empfang“, „Hier zur Kantine“. Screenreader bauen aus Landmarks ein Inhaltsverzeichnis, damit Nutzende blitzschnell von Abschnitt zu Abschnitt springen können.

5.1 Warum du Landmarks brauchst

  • Zeitsparend: Ein einzelnes Shortcut‑Tastenkürzel (NVDA = D, VoiceOver = ⌃⌥⌘ L) reicht, um durch alle Landmarks zu zappen.

  • Klare Orientierung: „Main Content“, „Navigation“, „Footer“ – sofort erkennbar, wo man sich befindet.

  • WCAG 2.1 §1.3.1 & 2.4.1: Struktur muss programmatisch erkennbar sein.

5.2 Die sechs Standard‑Landmarks

HTML‑Tag

Implizite ARIA‑Rolle

Darf öfter vorkommen?

Typische Inhalte

<header>

banner (nur der erste direkt unter <body>)

1× pro Seite als Banner, beliebig oft innerhalb von Section/Article

Logo, Hauptüberschrift, Suchfeld

<nav>

navigation

Ja, multiple

Hauptmenü, Footer‑Links, Breadcrumbs

<main>

main

Exakt einmal

Hauptinhalt der Seite

<aside>

complementary

Ja

Sidebar, Hinweis‑Boxen

<footer>

contentinfo (nur der erste im <body>)

1× pro Seite als Contentinfo, mehrfach in Section/Article

Impressum, Copyright, Meta‑Links

(optional) <form role="search">

search

1 – n

Globale oder lokale Suche

Tipp: Wenn du mehrere Landmarks desselben Typs hast, benenne sie mit aria-label oder aria-labelledby, z. B. <nav aria-label="Footer‑Navigation">.


6. Schritt‑für‑Schritt‑Checkliste

  1. Template prüfen – gibt es bereits ein <main>? Wenn nein: nachrüsten.

  2. Navigation labeln – bei mehr als einer <nav> jeder ein aria-label geben (z. B. "Hauptnavigation", "Footer‑Links").

  3. Buttons checken – sind es echte <button>s? Haben Toggle‑Buttons aria-pressed oder aria-expanded?

  4. Formulare testen – jedes <input> braucht ein <label> oder aria-label/aria-labelledby.

  5. Medien – Bilder: aussagekräftiger Alt‑Text. Videos: Untertitel. PDFs: getaggte Struktur.

  6. Keyboard‑Durchlauf – einmal komplett mit Tab durchgehen (Safari/Firefox: Tab‑Navigation aktivieren!).

  7. Automatischer Scan – Lighthouse, axe DevTools oder den Accessible Web Page Scanner laufen lassen und Fehlermeldungen fixen.

7. Code‑Beispiel: Mini‑Accordion

<section class="faq">
  <h2>FAQ</h2>

  <button class="faq-toggle" aria-expanded="false" aria-controls="faq1">
    Was ist ARIA?
  </button>
  <div id="faq1" hidden>
    <p>ARIA ergänzt HTML, um Web‑Apps für Screenreader verständlich zu machen.</p>
  </div>
</section>

<script>
  const btns = document.querySelectorAll('.faq-toggle');
  btns.forEach(btn => {
    btn.addEventListener('click', () => {
      const expanded = btn.getAttribute('aria-expanded') === 'true';
      btn.setAttribute('aria-expanded', !expanded);
      document.getElementById(btn.getAttribute('aria-controls')).hidden = expanded;
    });
  });
</script>

Was passiert hier?

  • Der Button bekommt dynamisch aria-expanded → Screenreader sagt „eingeklappt“ / „ausgeklappt“.

  • aria-controls verbindet Button und Panel.

  • Das Panel ist mit hidden ausgeblendet, bis es geöffnet wird.

8. Nützliche Tools & Links

Zweck

Gratis‑Tool

Kurz‑Beschreibung

Online‑Analyse

WAVE Evaluation Tool (Browser‑Add‑on)

URL einfügen, sofortige A11y‑Visualisierung

Browser‑Overlay

Accessible Web Helper (Browser‑Add‑on)

Add‑on mit Page Scanner + Kontrast‑Check

Chrome Lighthouse

In Chrome integriert

"Accessibility"‑Audit unter Lighthouse‑Tab

(Alle Tools sind kostenlos oder haben eine Free‑Tier.)

9. TL;DR zum Mitnehmen

Wenn du richtiges HTML verwendest und ein paar ARIA‑Labels sauber setzt, bist du zu 80 % barrierefrei. Teste alles mit der Tastatur und lass einen Scanner drüberlaufen – fertig!

Lieben Gruss & happy coding – Max

Barrierefreiheit & ARIA‑Labels – Anleitung für Dummies

Barrierefreiheit & ARIA‑Labels – Anleitung für Dummies

Barrierefreiheit & ARIA‑Labels – Anleitung für Dummies