Zum Hauptinhalt springen

Methodik

Diese Seite beschreibt vollständig, wie der BFSG-Index 2026 erhoben wurde, was er aussagt und was er ausdrücklich nicht aussagt.

Fragestellung

Die Erhebung beantwortet genau eine Frage: Anteil der technisch erfolgreich ausgewerteten Startseiten mit mindestens einem automatisiert bestätigten Error gegen WCAG 2.1 AA. Diese Formulierung wird auf allen Seiten der Studie wörtlich verwendet, weil jede Verkürzung fachlich falsch wäre.

Stichprobe

Grundlage ist die Tranco-Liste, ein akademisches Top-Sites-Ranking, das täglich neu erzeugt wird und jede Liste unter einer permanenten ID archiviert. Verwendet wurde die Liste L5W84 (tranco-list.eu/list/L5W84), abgerufen am 04.08.2026.

Aus dieser Liste wurde in dieser Reihenfolge gefiltert:

  1. TLD-Filter: nur .de, .at und .ch. Der Tranco-Rang wird alstrancoRank mitgeführt.
  2. Erreichbarkeit: HTTP 200 auf der Startseite. Andernfalls Verwerfen mit dokumentiertem Grund.
  3. Shop-Klassifikation: warenkorb + (schema ODER preis ODER strukturell erkanntes shopsystem), oder schema + preis (siehe unten).
  4. Eligibility-Review: Erforderlich ist ein B2C-Angebot, bei dem Online-Kauf oder digitaler Vertragsabschluss eine wesentliche Funktion der Domain ist. Informations-, Medien-, Spenden-, Community-, Agentur- und B2B-Software-Angebote sowie reine Neben-Shops werden mit Begründung ausgeschlossen.
  5. Cutoff: Domains in Rangfolge, bis die Zielgröße erreicht ist. In dieser Erhebung umfasst die bereinigte Stichprobe 185 Domains, davon 184 technisch auswertbar (99,5 Prozent).

Der verwendete Datensatz enthält ausschließlich Domains aus der eingefrorenen Tranco-Liste. Eine technisch vorgesehene Whitelist für bekannte DACH-Shops mit .com-Domain hat in dieser Erhebung keinen Eintrag zum Sample beigesteuert.

Shop-Klassifikation

Geprüft werden vier Signale im mit Headless-Chromium gerenderten HTML der Startseite (nicht ein reiner HTTP-Abruf; Details dazu im Abschnitt Prüfverfahren):

  • Warenkorb-Signatur: Link oder Pfad auf Warenkorb, Cart, Checkout oder Basket, oder ein entsprechend beschriftetes Warenkorb-Element.
  • Strukturierte Daten: schema.org/Product oder schema.org/Offer.
  • Preisangabe: Betrag mit Währungssymbol zusammen mit einem Hinweis auf Versandkosten oder Mehrwertsteuer.
  • Shop-System: struktureller Fingerprint in geladenen Ressourcen oder im Generator-Metatag, nicht als bloßer Markenname im Seitentext.

Landet die Startseite knapp unter der Schwelle (das heißt, es fehlt mindestens eines dieser Signale, oder es liegt ein entfernter Cookie-Consent-Layer vor, siehe unten), wird zusätzlich eine zweite, intern verlinkte Produkt- oder Kategorieseite geprüft und deren Signale hinzugezählt, bevor die Domain verworfen wird.

Akzeptiert wird Warenkorb zusammen mit Schema, Preis oder strukturell erkanntem Shop-System sowie alternativ Schema zusammen mit Preis. Der Shop-System-Fingerprint wird im Barrierefreiheits-Scan erneut ermittelt; nur dieser zweite Wert wird als beschreibendes Merkmal veröffentlicht.

Prüfverfahren

Veröffentlicht wird ausschließlich die Startseite jeder zulässigen Domain. Sie wird in zwei Viewports getestet (1280x1024 und375x812). Eine im Erhebungslauf zusätzlich archivierte interne Unterseite bleibt aus allen veröffentlichten Kennzahlen ausgeschlossen.

Es laufen zwei Prüf-Engines gleichzeitig, HTML_CodeSniffer und axe-core. Beide finden teilweise dieselben Verstöße mit unterschiedlichen Codes. Alle veröffentlichten Zahlen basieren deshalb auf einer deduplizierten Menge: Befunde, die sich auf dasselbe Element und dasselbe Erfolgskriterium beziehen, werden zu einem Befund zusammengefasst. Der Datensatz enthält zusätzlich die nicht deduplizierte Rohanzahl, damit die Überlappung nachvollziehbar bleibt.

axe-Regeln werden über die Regel-Metadaten von axe-core auf WCAG-Erfolgskriterien abgebildet. Die Mapping-Tabelle wird aus der eingesetzten axe-core-Version erzeugt und mit dem Datensatz veröffentlicht.

Befunde werden strikt nach error und warning getrennt. Kernaussagen, Fehlerklassen und Kriterien-Ranking verwenden ausschließlich error. warning wird separat als Hinweis mit manuellem Prüfbedarf ausgewiesen. Die Kategorie notice erhebt der Runner in dieser Konfiguration nicht.

Einschränkung: Der Scan prüft die Seite im Auslieferungszustand, ohne einen Cookie-Consent-Dialog zu schließen. Verstöße, die ausschließlich von einem Drittanbieter-Consent-Layer stammen (etwa Usercentrics, OneTrust oder Cookiebot), werden dadurch der gescannten Domain zugerechnet, auch wenn die Ursache beim Consent-Anbieter liegt. Die Shop-Klassifikation in Schritt 1 entfernt einen erkannten Consent-Layer testweise aus dem DOM, um Domains nicht fälschlich als Nicht-Shop einzustufen. Dieser Schritt fließt aber nicht in den hier beschriebenen Barrierefreiheits-Scan ein.

Zusätzlich erhobene Merkmale

  • Informationen zur Barrierefreiheit: Suche nach einem Link auf der Startseite, danach Prüfung, ob das Ziel mit HTTP 200 antwortet. Unterschieden wird zwischen einem eindeutigen Treffer (Linktext oder Pfad benennt die Information ausdrücklich) und einem unsicheren Treffer (nur ein allgemeiner Barrierefreiheits-Link). Nur eindeutige Treffer tragen eine Kernaussage. Seiten, die erkennbar ein Prüf- oder Serviceangebot beschreiben, werden ausgeschlossen. Dieses Merkmal prüft die Auffindbarkeit eines passenden Links, nicht die rechtliche Vollständigkeit der Informationen nach Anlage 3 BFSG.
  • Overlay-Widget: Signaturerkennung im HTML für eye-able, UserWay, accessiBe und EqualWeb.

Ergänzender Qualitätslauf

Nach dem ersten Erhebungslauf wurden technische Ausfälle in einem getrennten, checkpointfähigen Verfahren erneut geprüft. Vor jedem erneuten Pa11y-Lauf verifiziert ein Headless-Chromium-Probe Statuscode, Seitentitel und Ziel-URL. Challenge- und Sperrseiten werden nicht als Shop-Ergebnis übernommen.

Zusätzlich wurden mit demselben Chromium-Probe Strukturmetriken des gerenderten DOM erhoben. Dazu gehören DOM-Elemente, Links, Buttons, Formularfelder, Bilder, Überschriften und interaktive Elemente. Self-hosted Firecrawl archiviert ein zweites gerendertes HTML-Signal zur Nachvollziehbarkeit, ersetzt aber weder Pa11y noch axe-core als Accessibility-Prüfung.

Der Qualitätslauf gewann 40ursprünglich technisch gescheiterte Domains zurück. Für 184 ausgewertete Startseiten liegen konsistente DOM-Komplexitätsdaten vor.

Crawl-Etikette

  • Eigener User-Agent inklusive Kontakt-URL: BFSG-Index/1.0 (+https://barrierefreie-agenturen.de/studie/bfsg-index-2026/methodik/)
  • robots.txt wird vor jedem Abruf geprüft und respektiert. Eine Domain, die uns ausschließt, wird als „nicht erhoben“ dokumentiert und nicht geprüft.
  • Maximal eine Anfrage pro Domain gleichzeitig, mindestens zwei Sekunden Abstand zwischen den beiden geprüften Seiten.
  • Maximal zwei Wiederholungen bei technischen Fehlern, exponentiell verzögert. Danach wird der Fehler mit Kategorie dokumentiert, nicht stillschweigend entfernt.

Reproduzierbarkeit

Damit die Erhebung im nächsten Jahr vergleichbar bleibt, sind alle Versionsstände Teil des Datensatzes:

Eingesetzte Softwareversionen
KomponenteVersion
Pa11y9.1.1
axe-core4.11.1
HTML_CodeSnifferin Pa11y enthalten
Lighthouse12.8.2
ChromiumChromium 150.0.7871.128 snap
Node.jsv20.20.2
Geprüfter StandardWCAG2AA

Erhebungszeitraum: 04.08.2026 bis 06.08.2026.

Limitationen

Diese Einschränkungen sind Teil des Ergebnisses, nicht eine Fußnote dazu.

Automatisierte Tests decken nur einen Teil der WCAG ab
Ein erheblicher Anteil der Erfolgskriterien lässt sich nur manuell prüfen, etwa Verständlichkeit, sinnvolle Reihenfolge oder die Qualität von Alternativtexten. Aus dieser Erhebung lässt sich deshalb nicht ableiten, wie viele Shops barrierefrei sind oder das BFSG erfüllen. Jede Aussage bezieht sich ausschließlich auf automatisiert feststellbare Verstöße.
Geprüfter Standard ist WCAG 2.1 AA, nicht 2.2
Der eingesetzte Runner prüft gegen den Standard WCAG2AA, das entspricht WCAG 2.1 AA. Die neun zusätzlichen Erfolgskriterien der WCAG 2.2 werden nicht erhoben. Die EN 301 549 und damit das BFSG verweisen derzeit ebenfalls auf WCAG 2.1 AA.
Ausgewertet wird ausschließlich die Startseite
Der Erhebungslauf hat zusätzlich eine interne Unterseite archiviert. Weil die automatische Auswahl nicht zuverlässig eine vergleichbare Produkt- oder Kategorieseite traf, fließen diese Unterseiten nicht in die veröffentlichten Kennzahlen ein. Checkout und Kaufabschluss werden nicht geprüft.
Keine Rangliste einzelner Anbieter
Absolute Error-Zahlen hängen auch von Umfang und Komplexität einer Startseite ab. Die ergänzende Fehlerdichte je 1.000 DOM-Elemente gleicht nur die grobe Seitengröße aus, nicht aber Art, Funktion oder Wiederholung der Elemente. Ein Best- oder Worst-in-Class-Ranking wäre deshalb weiterhin methodisch nicht belastbar. Veröffentlicht werden nur aggregierte Ergebnisse.
Reichweite ist ein Proxy für Größe, kein Umsatzmaß
Die Tranco-Liste misst Reichweite. Die Stichprobe ist deshalb ausdrücklich nicht die Liste der umsatzstärksten Shops.
DACH-Shops auf .com sind unterrepräsentiert
Der TLD-Filter erfasst .de, .at und .ch. Händler mit .com-Domain fallen heraus. Eine ergänzende Whitelist gleicht das teilweise aus, kann die Lücke aber nicht schließen.
Die Ländergruppen sind unterschiedlich groß
Die auswertbaren Gruppen umfassen deutlich mehr deutsche als österreichische oder schweizerische Angebote. Länderwerte beschreiben ausschließlich diese Stichprobe und erlauben insbesondere bei kleinen Gruppen keine repräsentative Aussage über den jeweiligen nationalen Markt.
Die Shop-Klassifikation ist heuristisch
Falsch-Positive und Falsch-Negative sind möglich. Deshalb wurde das automatisch gezogene Sample vor der Auswertung anhand einer festen Eligibility-Regel geprüft. Manuelle Ausschlüsse und Begründungen sind Bestandteil des Datensatzes.
Technische Ausfälle können die Ergebnisse verzerren
Von 185 Angeboten im bereinigten Sample konnten 184 automatisiert ausgewertet werden. Ein Angebot blieb wegen HTTP 403 technisch nicht auswertbar und fehlt im Nenner der Ergebnisanteile. Ob dieses Ergebnis systematisch besser oder schlechter ausgefallen wäre, ist unbekannt.
Feste Viewports
Gemessen wird bei 1280x1024 und 375x812. Diese Werte sind im Scan-Server fest hinterlegt, der zugleich das öffentliche Check-Tool bedient. Andere Viewports können zu abweichenden Ergebnissen führen, insbesondere bei Kontrast- und Layoutfragen.
Die Rangliste ändert sich täglich
Maßgeblich ist ausschließlich die eingefrorene Tranco-Listen-ID, nicht die jeweils aktuelle Liste.
Momentaufnahme
Erhoben wird ein einzelner Abruf je Seite. A/B-Tests, Consent-Layer, Personalisierung und kurzfristige Deployments können das Ergebnis beeinflussen.

Lizenz und Nachnutzung

Datensatz und Grafiken stehen unter CC BY 4.0. Nachnutzung ist erlaubt, auch kommerziell, bei Namensnennung von barrierefreie-agenturen.de mit Link auf die Studienseite.

Zurück zur Studie