Third Party

Was ist verlangt?

Skripte, die von extern eingebunden werden (etwa Cookie-Management, Social-Media-Einbindungen, Video-Player-Einbettungen, Analyse-Dienste und vieles mehr) sind aus dem modernen Web nicht mehr wegzudenken. Und auch Online-Shops haben ein meist spezielles Set an Diensten, die man „Dritt-Parteien-Dienste“ oder „Third Party Services“ nennt. So wird die Bezahlung einer Ware oder Dienstleistung überwiegend mit einer Third Party wie beispielsweise PayPal geregelt – und die oben genannten Dienste finden natürlich auch im E-Commerce Einzug. Wenn ein Produkt beispielsweise in Videoform präsentiert werden soll, so geschieht das häufig per YouTube-Kanal und der Einbettung eines zugehörigen Players auf der Produktseite. Ich würde auch vermuten, Online-Shop-Betreibende sind besonders an Analytik-Diensten interessiert. Etwa, ob ein bestimmter Anteil an Besuchenden irgendwo den Kaufvorgang abbrechen. Oder ob eine Werbefläche für ein bestimmtes Produkt auf der Startseite besonders gut funktioniert. Um das herauszufinden, sind gerne Webanalyse-Software Dritter im Einsatz.

Relevant für die Web-Barrierefreiheit sind allerdings Third-Party-Skripts die eigenes HTML mitbringen, mit denen ein Nutzender konfrontiert ist. Beispiele dafür sind Cookie-Banner-Skript, der oben erwähnte Videoplayer oder Einbettungen aus Social-Media-Kanälen. Eine reale oder formale Barriere hier kann dazu führen, dass gleich mehrere Seiten des einbindenden Webauftritts als „nicht-konform“ im Sinne der WCAG gelten – und zwar unabhängig davon, wie gut und barrierefrei der Webauftritt ohne den - beispielhaft – Cookie-Banner ist.

Weil also die Einbindung einer Third Party eine große Verantwortung ist, bei der kleine Dinge wie die Einbindung einer Zeile JavaScript große (negative) Wirkungen haben können, soll dieser Artikel eine kleine Übersicht über Anforderungen und mögliche Lösungsstrategien geben.

Die WCAG und Drittparteien-Inhalte

Die Sicht der Web Content Accessibility Guidelines (WCAG) auf Skripte und Inhalte dritter Parteien ist ziemlich eindeutig: Website-Betreibende sind für die eingebundenen Inhalte verantwortlich. Auch wenn die Inhalte außerhalb des Einflussbereichs des bzw. der Betreibenden liegt, so muss das Gesamtkunstwerk - also first party in Kombination mit third party allen WCAG-Erfolgskriterien genügen.

Wer dieses Thema schon mal anrecherchiert hat, ist womöglich über das Prinzip der „Teilkonformität“ (partial conformance) gestolpert. Wichtig: diese Art der Konformität sagt mitnichten aus, dass der Webauftritt größtenteils konform angesehen wird, im Sinne von „konform genug“. Es bestätigt nur, dass der Webauftritt letztendlich nicht konform zur WCAG ist, allein da er nicht (direkt) beeinflussbare Inhalte Dritter einbindet.

Das BFSG und Third-Party-Systeme

Für das Barrierefreiheitsstärkungsgesetz gelten drei Dinge in Bezug auf Drittparteien-Systeme:

  1. Der für das Gesetz relevante Standard ist die Europäische Norm (EN) 301 549. Dies ist eine „harmonisierte“ Norm, die sich in großen Teilen auf die WCAG bezieht (konkret: aktuell WCAG Version 2.1 Level AA in ihrem Kapitel 9 referenziert). Entsprechend übernimmt die EN 301 549 Konformitätsregelungen aus der WCAG und auch ihren Fokus auf „komplette Prozesse“ (wie z. B. einen Checkout).
  2. In § 1, (4) 4. des BFSG wird ausgeschlossen, dass Inhalte von Dritten unter die Barrierefreiheuitsanforderungen des Gesetzes fallen, wenn der „betreffende Wirtschaftsakteur [diesen Inhalt] weder finanziert noch entwickelt“ habe und nicht dessen Kontrolle unterliege.
  3. In Paragraf 19 der BFSG-Verordnung wird aber - unter anderem - die deutliche Anforderung für den „elektronischen Geschäftsverehr“ (also E-Commerce) definiert, dass Identifizierung-, Authentifizierungs- und Zahlungsfunktionen zugänglich angeboten werden. Die Formulierung in der Verordnung ist: „[muss] wahrnehmbar, bedienbar, verständlich und robust gestaltet werden“, was man als deutliche Referenz auf die WCAG und ihre vier Grundprinzipien (Wahrnehmbarkeit, Bedienbarkeit, Verständlichkeit, Robustheit) verstehen sollte. Wenn man sich gerade Zahlungsdienste im E-Commerce in der gelebten Praxis anschaut, so sind das Drittanbieter-Dienste wie Klarna, Stripe oder Paypal – also meist externe Services. Das Barrierefreiheitsstärkungsgesetz gibt damit, meiner Lesart nach, einen doppelten Auftrag zur Zugänglichkeit gerade von Third-Party-Diensten. Einerseits durch direkten Verweis auf die WCAG, die in Sachen vollständiger Konformität die Barrierefreiheit bzw. Konformität aller Bedienelemente, gleich aus welcher Quelle, voraussetzt. Zweitens ist den Autorinnen und Autoren des BFSG (besser: der zur Grunde liegenden EU-Richtlinie 2019/882) wohl bewusst, dass nicht zugängliche z. B. Bezahlsysteme einen Flaschenhals in einem Kaufprozess und eine unüberwindbare Barriere darstellen können – entsprechend wird die Barrierefreiheit dieser Systeme bzw. dieser Prozesse als Ganzes ausdrücklich eingefordert.
Screenshot der Bezahlfunktionen. Neben einer Zahlung per Rechnung und Vorkasse kann man dort eine Zahlung per fikitvem Dienstleister 'PayStuffNow' auswählen.

Maßnahmen

Soweit also ein Grobüberblick der Anforderungen. Benutzenden ist die genaue Herkunft oder „politische Geschichte“ eines barrierebehafteten Codes egal. Für sie ist nur relevant, ob eine Oberfläche benutzbar ist oder nicht. Aber welche Maßnahmen zur Analyse und Behebung von Barrieren in Third Party Skripten sollten Web-Shop-Betreibende veranlassen?

Schritt 1: Inventur

In dieser Phase stellt man sich die Frage: Welche Drittparteien, die ihr eigenes HTML einsetzen und eventuell auch ihre eigenen Barrieren mitbringen, setzen wir überhaupt ein? Typische Beispiele oder Orte für Ihre Suche wären:

  • Cookie-Banner
  • Karteneinbindungen
  • Audio- und Videoplayer
  • Zahlungsanbieter/Bezahlvorgänge
  • Umfragen
  • Anmeldeformulare für z. B. Veranstaltungen
  • Terminübersichten oder Terminbuchungs-Tools (von z. B. einem Event-Veranstalter)
  • Bewertungs-Widgets
  • Newsletter-Dienste

Am Ende der Inventur haben Sie nun eine Liste und Übersicht an Drittparteien in Ihrem Webauftritt erstellt. Ein letzter Teil der Bestandsaufnahme ist nun, die Zugänglichkeit oder WCAG-Konformität der einzelnen Dienste zu beurteilen. Eventuell haben Sie schon einen Audit nach z. B. EN 301 549 durchführen lassen. Wenn in diesem ausführlichem Test nicht ausgerechnet die Seiten, auf denen die betreffenden Third-Party-Skripte im Einsatz sind, außen vor gelassen wurden, haben Sie nun mindestens eine Ahnung, welche Dienste barrierebehaftet sein könnten. Ansonsten kann es Sinn ergeben, eine Web-Barrierefreiheits-Fachkraft dezidiert über diese Dienste schauen zu lassen.

Schritt 2: Anpassungen

Wenn Sie z. B. festgestellt haben, dass Sie a) einen z. B. Cookiebanner einsetzen, aber b) dort Barrieren durch einen zu geringen Farbkontrast entstehen, stellt sich die Frage nach Ihrem Einfluss auf die betroffene Komponente. Einige Diensteanbieter bieten dann doch gewisse Einflussmöglichkeiten auf das erzeugte HTML oder CSS, z. B. in Form von Farbanpassungen.

Abstrakter formuliert: Stellen Sie sich in diesem Schritt die Frage: Liegt das Abstellen der gefundenen Barrieren in meinem Einflussbereich? Stellt der Diensteanbieter passende Einstellungsmöglichkeiten zur Verfügung?

Screenshot: Farbanpassungen eines Cooiebanners im Cookiebot-Backend.

Schritt 3: Alternativen

In der Inventurphase haben sie analysiert, welche Dienste im Einsatz sind und an welchen Stellen möglicherweise Barrieren auftreten können. Im Schritt danach haben Sie Ihren Einfluss darauf überprüft, ob Sie die Barrieren im Third-Party-Dienst abstellen können. Gelingt das nicht oder nicht vollständig ist es im nächsten Schritt an der Zeit, sich die Frage zu stellen: Gibt es zugänglichere Alternativen zur jeweiligen Drittpartei-Präsentation, -Datenquelle oder können Sie gleichwertige Alternativfassungen schaffen? Für eine per Definition nicht vollständig barrierefrei zu bekommende Karte (über z. B. Google Maps) könnte man sich überlegen, was genau der Zweck der Einbindung war und wie man die dargestellten Informationen alternativ darstellen kann. Ist es beispielsweise eine Visualisierung einer einzelnen Adresse oder die Übersicht von z. B. Filialen in einem bestimmten Gebiet? In diesem Fällen würde ein HTML-Text der Adresse oder eine daten-tabellarische oder Listen-Übersicht aller Filialen mit Adressen als ausreichender Ersatz dienen können.

Screenshot: Auf sparkasse.de werden die Filialen auf einer Karte, aber auch in Listenform mit jeweiliger Adresse dargestellt.

Bei Cookiebanner oder Cookiedialogen kann es zu einigen typischen Fehlern kommen. Ich habe hier einige typische Fehlerszenarien und Barrieren zusammengefasst: The potentially dangerous non-accessibility of cookie notices (englisch, hier eine automatisch übersetzte deutschsprachige Fassung). Falls das Cookiemanagement durch ein Third-Party-Skript verwaltet wird und dieses barrierebehaftetes HTML ausspuckt, kann eine denkbare Alternative sein, das z. B. Cookiebanner und den Cookiedialog selbst zu bauen.

Hier eine kleine Liste an Aspekten, die bei einem selbstgebauten Cookiebanner zu beachten sind:

  • Wenn es sich um einen Dialog handelt, der häufig beim ersten Aufruf des Webauftritts aktiviert wird, ergibt eine Umsetzung als <dialog>-Element sehr viel Sinn. Es sollte mit der JavaScript-Methode .showModal() als „modal“ gestartet werden. „Modal“ heißt in diesem Zusammenhang: das Interface blockierend (bis eine Entscheidung in Sachen Cookies getroffen wurde). Mehr dazu im entsprechenden Modul zu Dialogen
  • Soll stattdessen ein Seitenbereich dem Cookie-Management gewidmet werden, ist es wichtig, dies im Dokument ganz oben zu platzieren (unabhängig davon, ob der Banner visuell auch wirklich oben, oder an anderen Stellen erscheint). Dadurch können Nutzende Cookie-Einstellungen leicht finden und z. B. gewünschte Anpassungen vornehmen – oder den Bereich überspringen, siehe nächster Punkt.
  • Unabhängig davon, ob es sich um einen Dialog handelt, sollte sich um den Bereich, in dem das Cookie-Management stattfindet, um einen benannten Bereich handeln. Im Falle des Dialogs kann man ihm z. B. per aria-label auf dem <dialog>-Element einen zugänglichen Namen geben. Für den Fall, dass ein Text im Dialog existiert, sollte mit aria-labelledby auf die id dieses Texts gezeigt werden. Ein Banner sollte mit role="region" ebenfalls zu einem sogenannten generischen ARIA-Landmark werden. Die Möglichkeiten, dieser Region einen Namen zu geben, sind identisch mit denen des Dialogs.
Schemazeichnung: ein abstrakter Cookiedialog

Im Medienmodul wird deutlich, dass die Europäische Norm (EN) 301 549 spezielle Anforderungen an insbesondere Videoplayer stellt. Allein aus diesen genannten Gründen ist eine Verwendung von YouTube, Vimeo, ablePlayer oder dem nativen <video>-Element (wenn man die Videoinhalte selbst hosten möchte) sinnvoll. Alle genannten Player, auch die beiden einbettbaren, werden als konform angesehen. Sofern das Embedding über einen iframe stattfindet, sollte man nicht vergessen, dem Frame per title-Attribut einen zugänglichen Namen zu geben.

Screenshot: Google Forms bietet Einbettungsoptionen als iframe.

Eine Formularinfrastruktur ist vermutlich in Ihrem Webshop durch den Verkauf Ihrer Wahren oder Dienstleistungen bereits vorhanden. Vorausgesetzt, diese Infrastruktur ist technisch konform und zugänglich, kann man sich die Frage stellen: Kann man Funktionen wie Formulare und Umfragen eventuell auch in „Ihrer“ Shop-Infrastruktur umsetzen, auf diese Art mehr Kontrolle und Handlungsmacht gewinnen, aber Abhängigkeiten zu Drittparteien zu verlieren?

Schlussendlich gibt es noch eine weitere Form der „Alternative“: Nämlich die eines alternativen Anbieters. Eventuell gibt es Dienste, die die gleichen Funktionen und Informationen liefern können wie die barrierebehaftete „Original“. Auch wenn diese Form der Suche mit Arbeit verbunden ist (z. B. das Klären der Fragen: Was wären Alternativen? Wie kann man feststellen lassen, ob die Alternative zugänglicher ist?), kann sie sich im Einzelfall lohnen, wenn früher genannte Strategien sich als nicht gangbar erwiesen haben. Dafür ist die in der BFSG-Verordnung und in der WCAG formulierte, wichtige Rolle für die gesamte Zugänglichkeit eines Web-Auftrittes zu wichtig.

Schritt 4: Auf den Hersteller einwirken

Sind alle bisher genannten Punkte nicht machbar oder realistisch, bleibt nur die Kontaktaufnahme zum Dienstleister und ein gewisses politisches Einwirken an dieser Stelle. Je nach Konstellation kann man argumentieren:

  • dass man selbst ein wichtiger Kunde dieses Dienstleisters ist (sofern das der Fall ist),
  • dass man sich mit anderen Kunden oder Nutzenden des Dienstleisters zusammenschließen kann, um per „Macht der Kundenmasse“ für ein zugänglicheren Third-Party-Code zu lobbiieren,
  • dass es im Interesse des entsprechenden Dienstleisters selbst ist, die Barrierefreiheit seiner Anwendung/Einbettung herzustellen – immerhin hat er ja mindestens einen Kunden und Nutzenden aus einem Bereich, dessen Zugänglichkeit ab 2025 von Gesetzen wie dem Barrierefreiheitsstärkungsgesetz reguliert ist.

Übung

Inventur

Wie in „Maßnahmen“ formuliert, sollte man im Rahmen einer Klärung des „Ist“-Zustands der eigenen Zugänglichkeit auch eine Bestandsaufnahme der verwendeten Dritt-Parteien-Dienste vornehmen. Die Anweisung ist nun, dies im eigenen Shop-Projekt zu tun. Zur Erinnerung noch einmal mögliche Drittparteien-Dienste:

  • Cookie-Banner
  • Karteneinbindungen
  • Audio- und Videoplayer
  • Zahlungsanbieter/Bezahlvorgänge
  • Umfragen
  • Anmeldeformulare für z. B. Veranstaltungen
  • Terminübersichten (von z. B. einem Event-Veranstalter)
  • Bewertungs-Widgets
  • Newsletter-Dienste

Lückentext

Die WCAG, die die Grundlage für den relevanten technischen Standard bietet, betrachtet Third Party Scripts als , was Barrieren und Konformität angeht. "Teil-Konformität" bedeutet , nicht etwa . Eine Möglichkeit, um Barrieren in Third Party Codes (die man nicht ausreichend beeinflussen kann) zu beheben, ist das Schaffen von . Das Barrierefreiheitsstärkungsgesetz spricht zwar von Ausnahmen von nicht finanzierten Drittparteien, aber ein Third Party Cookie-Banner fällt meist . Hinzu kommt, dass §19 der BFSG-Verordnung gesonderte Ansprüche an E-Commerce-Projekte stellt, nämlich an , und . Achtung: Diese werden häufig mindestens teilweise über dritte Parteien implementiert.

Zusammenfassung
  • Als Anbietender einer Website ist man laut WCAG konformitätsseitig für den gesamten Code seiner Website zuständig, ob er selbst geschaffen ist oder von einer Drittpartei kommt.
  • Dass in dieser Form eine „politische Ebene“ ausgeblendet wird, ist insofern nachvollziehbar, dass die Nutzenden in Ihrem Webprojekt auf eine Barriere stoßen und es ihnen egal sein kann, aus welcher Quelle sie genau kommt.
  • Das BFSG schließt zwar in § 1 allgemein nicht von Betreibenden entwickelte, kontrollierte und finanzierte Drittparteien aus, stellt aber in §19 der BFSG-Verordnung gesonderte Ansprüche an Dienstleistungen des elektronischen Geschäftsverkehrs, also E-Commerce: Identifizierungs-, Authentifizierungs-, Sicherheits- und Zahlungsfunktionen müssen barrierefrei sein.
  • Eine Möglichkeit, Zugangsbarrieren in unverzichtbaren Third-Party-Inhalten auszugleichen besteht darin, Alternativinhalte zu ihnen anzubieten.
  • Parallel sollte aber im besten Fall auf den Drittpartei-Anbieter eingewirkt werden, sodass er die Barrieren behebt. Das wäre ein Effekt, der im Idealfall über Sie als Nutzender dieses Dienstes hinaus geht und von dem auch andere (und wiederum ihre Kunden und Kundinnen) etwas haben.