Wie funktioniert Accessibility?

Grundlagen
Video zum Artikel Abspielen

Wie soll man Accessibility kompetent umsetzen, wenn man die Funktionsweise nicht kennt? Über Barrierefreiheit wird viel geschrieben und gesprochen, aber meistens steht die politische Dimension im Vordergrund oder spezifische inhaltliche Themen. Wie soll man Grafiken richtig beschriften? Warum soll man ARIA-Attribute nur sparsam einsetzen? Ohne das technische Grundverständnis kann man nur Empfehlungen kopieren, genau wie man nur Code kopieren und einfügen kann, wenn man die Grundlagen des Programmierens eigentlich nicht beherrscht.

Begriffe

Es gibt einige unterschiedliche Bezeichnungen für das Thema, die dasselbe bedeuten, aber eine unterschiedliche Perspektive hervorheben.

Orientierung statt Guidelines

Musst du alle Gesetze und Regeln kennen und befolgen um ethisch zu handeln? Hoffentlich nicht. Ganz im Gegenteil, dein Verhalten könnte dadurch sehr unethisch werden. Zuerst wärest du völlig überfordert bei dem Versuch, alles zu verstehen und zu verinnerlichen. Wenn du einigermaßen damit durch wärest, würdest du erkennen, dass du die Spielräume stark zu deinen Gunsten auslegen und auf deinen Vorteil optimieren kannst, und trotzdem bleibt dein Verhalten nach der Definition zwar moralisch, aber ggf. unethisch.

Etwas Ähnliches passiert in meinen Augen mit den Guidelines für Zugänglichkeit. Viel entscheidender ist es, ein Grundverständnis für das Thema entwickeln zu können, statt jede Regel peinlich genau abzuhaken. Das gibt dir mehr Entscheidungskompetenz. Sich an regeln festzuhalten ist etwas für Menschen, die etwas beurteilen wollen, ohne es zu können.

Barrierefreiheit bedeutet die eigenständige und selbstbestimmte Nutzbarkeit eines Produkts, möglichst unabhängig von körperlichen oder mentalen Einschränkungen. Ziel ist die Gewährleistung gesellschaftlicher Teilhabe an Privat- und Arbeitsleben sowie politische Mitbestimmung u.A.

Auf diesen Kern lässt sich die gesamte mediale Debatte zusammenfassen. Selbstverständlich ist das ein Ideal, das immer wieder Kompromisse erfordert.

Zugänglichkeit ist Usability und UX für alle

Inzwischen sind digitale Angebote meistens keine Hypertext-Dokumente mehr, sondern interaktive und komplexe Anwendungen. Die gravierendsten Zugänglichkeitsprobleme erlebe ich daher als Folge vernachlässigter UX und Usability, weniger mit UI-Design assoziiert. Klar kann man immer noch eine leserlichere Schriftart auswählen, die Farben und Kontraste noch mehr abstimmen, die Bildbeschreibungen noch etwas besser formulieren, aber die echten Showstopper stecken meistens in schlecht umgesetzter UX. User müssen ständig geführte Prozesse durchlaufen wie z.B. ein neues Konto registrieren oder nach Produkten suchen. Je komplizierter diese Abläufe gestaltet sind, desto mehr Schritte enthalten sie, desto größer das Risiko für technisch bedingte Barrieren. Das gilt auch bei mentalen Einschränkungen oder reduzierter kognitiver Leistungsfähigkeit, weil jede Verkomplizierung oder ablenkende Reize auch zusätzlichen Cognitive Load bedeuten. Barrieren machen das ganze Produkt oder Angebot für die Betroffenen nutzlos; nicht unbequem, sondern schlichtweg unbrauchbar.

Wer möchte, dass seine digitalen Angebote tatsächlich gern genutzt werden und nicht nur, weil mittels SeO und Monopolstellung genug Werbung dafür gemacht wurde, sollte unbedingt auf UX und Usability optimieren, um möglichst viele Zielgruppen nachhaltig anzusprechen und durch Qualität zu überzeugen. In meiner Rubrik Schnelltests führe ich regelmäßig Testungen an populären digitalen Angeboten auf dem deutschen Markt durch. Dort wird dieser Punkt sehr anschaulich bestätigt.

Das Fenster für Bedienungshilfen in den Systemeinstellungen von macOS

Zugänglichkeit ist Maschinenlesbarkeit für assistive Technologien

Im Zentrum stehen assistive Technologien wie z.B. Screenreader, Bildschirmlupe, Sprachsteuerung, Sprachausgabe etc. Diese Technologien sind im Betriebssystem installierte Hintergrundprogramme und vermitteln zwischen User und deiner Website, App oder Game. Sie sind für Betroffene User so etwas wie Partner, Assistenten, Körpererweiterung. Im besten Fall ist es eine sehr gut eingespielte Partnerschaft. Deine Aufgabe als Entwickler ist nicht, diese Funktionen wie Sprachausgabe oder Vergrößerung selbst wieder nachzubauen. Das ist völliger Schwachsinn, weil diese Funktionen längst da sind.

Deine Aufgabe ist dafür zu sorgen, dass deine App Screenreadern & Co genug Informationen über sich bereitstellt, damit sie Inhalte sinnvoll auslesen und die Funktionalitäten nutzen können. Das funktioniert über spezielle Accessibility-APIs, die von grafischen Apps implementiert werden müssen und von Screenreadern als Informationsquelle genutzt werden. Diese APIs geben einen sog. Accessibility Tree zurück. Die Elemente einer UI sind sowieso schon in einer Baumstruktur angeordnet, auch wenn es visuell nicht so aussieht. Der Accessibility Tree ist eine vereinfachte Form dieses UI-Baums, die Angaben zu jedem Element darüber enthält, welchen Text es hat, welche Art von Element es ist, was es kann usw. Besonders für Screenreader ist er die eine autoritäre Informationsquelle und Zugang zu deiner App oder Website. Normalerweise wird er größtenteils beim Entwickeln einer App oder Website schon automatisch vorausgefüllt, aber du musst damit rechnen, gelegentlich nachzubessern. In meinem Artikel über den Umgang mit dem Web Accessibility Tree ist das praxisorientierte beschrieben.

Das Fenster für Barrierefreiheit unter Windows 11

Jedes UI-Toolkit hat eigene Interfaces oder etwas Vergleichbares zum Implementieren der Accessibility APIs. Auf dieser Homepage biete ich auch eine Linksammlung für plattformspezifische Screenreader, APIs und Specs an.

Das Fenster für Sprachausgabe unter Windows 11

Die beste Barrierefreiheit ist unsichtbar

Die wenigsten Betroffenen haben ein Interesse daran, zum Störfaktor zu werden oder Umstände zu bereiten. Aber sie wollen einfach nur in Frieden konsumieren, arbeiten, wählen gehen usw. Es geht nicht um politisches „sichtbar machen“, sondern schlichtweg um Dinge wie Verbraucherschutz.

Im Idealfall sollte niemandem aktiv auffallen, dass Barrierefreiheit umgesetzt wurde, weil alles durch gute UX mühelos funktioniert. Barrierefreiheit muss sich nicht in den Vordergrund spielen oder das Design schlecht machen, das kann sogar kontraproduktiv werden. Wenn das passiert, ist der Grund meistens Einfallslosigkeit und Unkenntnis, manchmal vielleicht auch Virtue Signalling.

Ein solches Negativbeispiel ist Wikipedia mit den Buttons zum Anpassen der Darstellung, die sich einem bei jedem Artikel über dem Inhalt aufdrängen. Ich habe diesen Bereich mithilfe des Adblockers Ublock Origin ausgeblendet, weil er mich zu sehr gestört hat.

Der Artikel über den Flohwalzer auf Wikipedia

Gute Architektur und Semantik sind 3/4 der Miete für Zugänglichkeit

Zugänglichkeit ist an sich ein komplexes Thema, das hohe Detailkenntnis erfordert, aber allgemeine Qualität in der Softwareentwicklung ist die beste Basis dafür. Zugänglichkeit ist der sensible Faktor, der zuerst darunter leidet, wenn Qualitätskriterien in der Softwareentwicklung vernachlässigt werden. Wer sie von Anfang an mit einbezieht, wird es später mit der Zugänglichkeit deutlich leichter haben.

Architektur patterns wie Flux oder MVVM motivieren dich, Inhalt und Verhalten deiner App semantisch abzubilden, lange bevor Zugänglichkeit auf den Plan tritt. Nebenbei erhöhen sie auch noch die Testbarkeit deiner komponenten. Mit dieser Grundlage können auftretende Zugänglichkeitsprobleme wesentlich schneller und zuverlässiger behoben werden. Wenn z.B. dein ViewModel die Informationen bereits hergibt, ist es keine große Sache mehr, sie im View noch an der richtigen Accessibility-Property mit einzubinden.

Zugänglichkeit ist machbar

Der Mythus hält sich hartnäckig, Zugänglichkeit müsse unwirtschaftlich sein. Das ist aber häufig nicht die Schuld von Zugänglichkeit, sondern ist bedingt durch unwirtschaftliche und kurzsichtige Geschäftspraktiken.

Ein dickes Budget ist kein Garant für Barrierefreiheit und diese Idee eines speziellen Budgets ergibt nur dann Sinn, wenn man Zugänglichkeit nur als Nachgedanken und erzwungene Pflichterfüllung begreift, der maximal umständlich umgesetzt werden muss. Wird Zugänglichkeit als Qualitätskriterium in der Softwareentwicklung gelebt (ähnlich wie Mobile First), braucht es auch kein spezielles Budget dafür.

Wenn du es besser machen willst und gleichzeitig angenehmer, dann kontaktiere mich doch am besten gleich zu meinen Dienstleistungen. Ich lege Wert darauf, Zugänglichkeit durch Heben der allgemeinen Qualität und UX zu erreichen und möglichst wenig durch Spezialbehandlungen.

Ein hervorragendes Positivbeispiel sind übrigens die Apps von Rogue Amoeba wie z.B. audio hijack. Das Budget dieser Firma dürfte deutlich begrenzter sein alz z.B. das von Google, und dennoch ist das Ergebnis weit überzeugender.

Das Programm „Audio Hijack“ mit einer geöffneten Session zum Aufnehmen von Videokonferenzen