Automatisiertes Testen mit axe Core

Wie man Accessibility automatisiert prüft, welche Vorteile und Grenzen es gibt, und wie man axe Core installiert und einsetzt.

Was ist automatisiertes Testen?

Automatisierte Accessibility-Tests prüfen Webseiten auf technische Verstöße gegen die Web Content Accessibility Guidelines (WCAG). Sie verwenden Programme, die den HTML-Code und das Verhalten von Webseiten analysieren und auf bekannte Muster für Barrieren testen – zum Beispiel fehlende Labels, zu geringe Kontraste oder unzulässige ARIA-Attribute.

Wann macht automatisiertes Testen Sinn?

Was kann automatisiertes Testen?

Was kann automatisiertes Testen nicht?

Vorteile

Nachteile

Einführung in axe Core

axe Core ist eine Open-Source-JavaScript-Bibliothek des Unternehmens Deque Systems. Sie analysiert Webseiten und Webanwendungen automatisiert auf Barrierefreiheitsprobleme und gibt Ergebnisse im JSON-Format zurück. axe Core ist die Grundlage vieler Tools – darunter die axe DevTools Browser-Erweiterung und Integrationen in Testframeworks wie Jest, Cypress oder Playwright.

Installation (Node.js)

  1. Node.js (ab Version 18) installieren
  2. Neues Projekt anlegen:
    mkdir axe-demo && cd axe-demo
    npm init -y
    npm install axe-core puppeteer
  3. Neue Datei run-axe.js anlegen und Beispielcode einfügen:
import axe from 'axe-core';
import puppeteer from 'puppeteer';

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com', { waitUntil: 'networkidle2' });
  await page.addScriptTag({ content: axe.source });

  const results = await page.evaluate(async () => {
    return await window.axe.run(document, {
      runOnly: ['wcag2a', 'wcag2aa']
    });
  });

  console.log(JSON.stringify(results, null, 2));
  await browser.close();
})();

Dieser Code öffnet eine Seite im Headless-Chromium-Browser, injiziert axe Core und führt einen automatisierten WCAG-Test aus. Das Ergebnis enthält Listen von violations, passes und incomplete Checks.

Auswertung der Ergebnisse

Die JSON-Ausgabe von axe Core kann direkt in der Konsole oder mit Visualisierungstools weiterverarbeitet werden. Typischerweise enthält sie folgende Schlüssel:

Jeder Verstoß enthält Details zur Regel-ID, eine Beschreibung, betroffene HTML-Knoten und den Schweregrad (impact). Entwickler:innen können diese Informationen nutzen, um gezielt Verbesserungen im Code umzusetzen.

Integration in den Entwicklungsprozess

Fazit

Automatisiertes Testen mit axe Core ist ein zentraler Bestandteil moderner Barrierefreiheitsprüfungen. Es spart Zeit, erkennt häufige technische Probleme frühzeitig und lässt sich gut in Entwicklungsprozesse integrieren. Trotzdem bleibt es ein Werkzeug zur Unterstützung – keine vollständige Lösung. Ein kompletter Accessibility-Workflow kombiniert automatisierte Tests mit manuellen Prüfungen und Nutzertests.