Barrierefreiheit testen: Methoden und Tools zur Überprüfung deiner Website

Die Gewährleistung der Barrierefreiheit deiner Website ist entscheidend, um allen Nutzern den Zugang zu digitalen Inhalten zu ermöglichen. In diesem Artikel erfährst du, wie du die Barrierefreiheit deiner Website und Webanwendungen testen kannst – von manuellen Tests mit Screenreadern bis hin zu automatisierten Tools wie pa11y, Lighthouse und WAVE. Entdecke bewährte Methoden und praktische Tipps, um sicherzustellen, dass deine digitalen Angebote für alle zugänglich sind. Ich zeige dir außerdem, wie du auch ohne kommerzielle Tools effektive Tests durchführen kannst.

Accessibility Testing: Wie du die Barrierefreiheit deiner Website und Webanwendungen testest

Barrierefreiheit ist kein Nice-to-have, sondern eine gesetzliche und ethische Verpflichtung. Doch wie testest du, ob deine Website oder Webanwendung wirklich für alle Nutzer:innen zugänglich ist? In diesem Artikel zeige ich dir verschiedene Methoden – von manuellen Tests bis hin zu automatisierten Tools – und erkläre, warum manuelle Tests unverzichtbar sind.


1. Manuelles Testen: Die Basis für echte Barrierefreiheit

Automatisierte Tools können viele technische Probleme aufdecken, aber sie ersetzen nicht die Perspektive echter Nutzer:innen. Hier sind einige bewährte und kreative Methoden für manuelle Tests:

Screenreader nutzen

Screenreader wie NVDA (Windows) oder VoiceOver (macOS/iOS) simulieren, wie blinde oder sehbehinderte Menschen deine Website erleben. Teste dabei:

Tipp: Nutze die Tastenkombinationen für NVDA, um dich effizient durch die Seite zu bewegen.

Simulationsbrillen und physische Einschränkungen

Kontrast und Lesbarkeit

2. Automatisiertes Testen mit pa11y

pa11y ist ein Open-Source-Tool, das Webseiten auf Barrierefreiheitsprobleme prüft – direkt in der Kommandozeile oder als Teil deiner CI-Pipeline. Was mir an pa11y besonders gefällt, ist dass es gleichzeitig sehr einfach zu bedienen und dennoch mächtig ist. Man darf sich nur nicht davor scheuen, ein bisschen mit der Kommandozeile zu arbeiten. Aber keine Sorge: Bereits mit wenigen einfachen Befehlen kannst du wertvolle Erkenntnisse gewinnen.

Installation

Voraussetzung für die Installation ist Node.js und npm (Node Package Manager).

Installiere pa11y global mit npm:

npm install -g pa11y

Einfaches Beispiel

Teste eine einzelne URL:

pa11y https://deine-website.com

pa11y gibt dir eine Liste von Problemen aus, sortiert nach Schweregrad (Error, Warning, Notice). Du kannst auch spezifische Standards (z. B. WCAG 2.1 AA) oder Reporter (z. B. JSON) angeben:

pa11y --standard WCAG2AA --reporter json https://deine-website.com > ergebnis.json

Mit > ergebnis.json speicherst du die Ergebnisse direkt in einer Datei.

Das tolle an den Ergebnissen von pa11y ist, dass sie sehr detailliert sind. Du bekommst nicht nur eine Liste der Probleme, sondern auch Hinweise zur Behebung. So kannst du gezielt an den Schwachstellen arbeiten. Es werden auch die genauen HTML-Selektoren angegeben, was die Fehlersuche erleichtert. So kannst du bspw. direkt im Code oder in den Entwicklungstools deines Browsers nach dem fehlerhaften Element suchen.

Hier ist ein einfaches Beispiel für die Ausgabe von pa11y. In diesem Fall wurde ein Kontrastproblem auf der Website der Wirtschaftskammer Tirol gefunden:

pa11y https://www.wko.at/tirol

Welcome to Pa11y

 > Running Pa11y on URL https://www.wko.at/tirol

Results for URL: https://www.wko.at/tirol

 • Error: This element has insufficient contrast at this conformance level. Expected a contrast ratio of at least 3:1, but text in this element has a contrast ratio of 1:1. Recommendation:  change text colour to #949494.
   ├── WCAG2AA.Principle1.Guideline1_4.1_4_3.G145.Fail
   ├── #wkolatestnewscontainer > div > div > h2
   └── <h2>Top Themen</h2>

1 Errors

Wie man anhand des Beispiels sieht, gibt pa11y nicht nur den Fehler an, sondern auch den genauen Ort im HTML-Code, wo das Problem auftritt. In diesem Fall schlägt pa11y vor, die Textfarbe des Elements #wkolatestnewscontainer > div > div > h2 zu #949494 zu ändern, um den Kontrast zu verbessern. In den Entwicklungstools des Browsers kann man nun mit dem Befehl document.querySelector('#wkolatestnewscontainer > div > div > h2') direkt zu dem fehlerhaften Element navigieren und die Änderung testen.

Die Entwickler-Tools von Chrome zeigen das fehlerhafte Element mit dem geringen Kontrast an. Im rechten Bereich sieht man die DevTools Konsole, wo der JavaScript-Befehl eingegeben wurde, um das Element zu selektieren. Links sieht man den Browser, der das ausgewählte Element hervorhebt.

Chrome DevTools: Element finden

3. Erweiterung: Skript für mehrere URLs

Mit einem einfachen Node.js-Skript kannst du mehrere URLs testen und die Ergebnisse in einer CSV- oder JSON-Datei speichern. Hier ein Beispiel:

const pa11y = require('pa11y');
const fs = require('fs');

async function testUrls(urls, outputFile) {
  const results = [];
  for (const url of urls) {
    try {
      const result = await pa11y(url);
      results.push({ url, issues: result.issues });
    } catch (error) {
      console.error(`Fehler bei ${url}:`, error);
    }
  }
  fs.writeFileSync(outputFile, JSON.stringify(results, null, 2));
  console.log(`Ergebnisse gespeichert in ${outputFile}`);
}

// Beispielaufruf
const urls = [
  'https://deine-website.com/seite1',
  'https://deine-website.com/seite2'
];
testUrls(urls, 'accessibility-results.json');

Hinweis: Installiere vorher das pa11y-Paket lokal in deinem Projekt:

npm install pa11y

4. Weitere Tools: Lighthouse und WAVE

Lighthouse

Lighthouse ist in die Chrome DevTools integriert und prüft neben Barrierefreiheit auch Performance, SEO und Best Practices. So nutzt du es:

  1. Öffne die DevTools (F12), gehe zum Tab „Lighthouse“.
  2. Wähle „Accessibility“ und starte den Audit.
  3. Lighthouse zeigt dir eine bewertete Liste von Problemen und Optimierungsmöglichkeiten.

Vorteil: Schnell, kostenlos und direkt im Browser nutzbar. Nachteil: Erfasst nicht alle WCAG-Kriterien – manuelle Tests bleiben nötig. Hinweis: Auch für Lighthouse gibt es eine CLI-Version, die du in deine CI/CD-Pipeline integrieren kannst.

WAVE (WebAIM)

WAVE ist ein webbasiertes Tool, das Barrierefreiheitsprobleme direkt auf der Seite visualisiert. Du kannst es als:

WAVE markiert Fehler wie fehlende Alt-Texte, Kontrastprobleme oder falsche ARIA-Attribute direkt im Seitenlayout. Besonders hilfreich für schnelle, visuelle Analysen.


Fazit: Manuelle Tests sind unverzichtbar

Automatisierte Tools wie pa11y, Lighthouse oder WAVE sind großartig, um technische Probleme zu finden. Aber: Sie decken nicht alle WCAG-Kriterien ab. Außerdem können automatisierte Tests nicht zwischen dekorativen Elementen und echten Inhalten bei Grafiken und Bildern unterscheiden. Dadurch läuft man Gefahr, Alt-Attribute zu setzen, wo sie gar nicht notwendig wären. Echte Barrierefreiheit erreichst du nur durch:

Kommerzielle Tools sind selten nötig – mit den hier vorgestellten Open-Source-Lösungen und etwas Kreativität kannst du bereits viel erreichen.

Los geht's

Für Anfragen und weitere Informationen stehe ich Ihnen gerne zur Verfügung.

Kontakt
Jetzt Gesprächstermin vereinbaren oder