Kennen Sie diesen Witz: „Zwei Frontend-Entwickler gehen in eine Bar und stellen fest, dass sie nichts gemeinsam haben“? Er ist lustig und doch frustrierend, weil er wahr ist.
Dieser Artikel wird drei verschiedene Perspektiven auf Barrierefreiheit im Webdesign und in der Webentwicklung vorstellen. Drei Perspektiven, die uns helfen könnten, die große Kluft zwischen Nutzern und Designern/Entwicklern zu überbrücken. Er könnte uns helfen, eine gemeinsame Basis für den Aufbau eines besseren Webs und einer besseren Zukunft zu finden.

Akt 1
„Ich verstehe einfach nicht, wie Entwickler nicht an Barrierefreiheit denken.“
Das sagte mir mal jemand. Lassen Sie uns kurz innehalten und darüber nachdenken. Vielleicht gibt es eine Perspektive dazu.
Denken Sie darüber nach, wie viele Dinge ein Entwickler wissen muss, um eine Website erfolgreich zu erstellen. An jedem beliebigen Tag, für jede beliebige Position in der Webentwicklung, tauchen die anderen Details der Webentwicklung auf. Das bedeutet, es ist mehr als „nur“ HTML, CSS, ARIA und JavaScript zu kennen. Entwickler lernen im Laufe ihrer Karriere auch andere Dinge, basierend auf dem, was sie tun müssen.
Dies kann Paketverwaltung, Workspaces, Codegeneratoren, Kollaborationstools, Asset-Laden, Asset-Management, CDN-Optimierungen, Bundle-Optimierungen, Unit-Tests, Integrationstests, visuelle Regressionstests, Browser-Integrationstests, Code-Reviews, Linting, Formatierung, Kommunikation durch Beispiele, Changelogs, Dokumentation, semantische Versionierung, Sicherheit, App-Deployment, Paket-Releases, Rollbacks, inkrementelle Verbesserungen, inkrementelles Testen, kontinuierliche Deployments, Merge-Management, Benutzererfahrung, User-Interaction-Design, Typografie-Skalen, Seitenverhältnisse für responsives Design, Datenmanagement und... nun ja, die Liste könnte weitergehen, aber Sie verstehen, worauf ich hinauswill.
Als Entwickler halte ich mich für ziemlich verdammt schlau, weil ich weiß, wie man die meisten dieser Dinge tut! Halten Sie kurz inne und bedenken Sie dies: Wenn Sie darüber nachdenken, wie viele Menschen es auf der Welt gibt, und das vergleichen mit der Anzahl der Menschen, die Websites erstellen können, ist es prozentual ein sehr kleiner Anteil. Das ist irgendwie... cool. Unglaublich, sogar. Denken Sie darüber hinaus daran, wann Sie das letzte Mal Code ausgeliefert haben und wie gut sich das angefühlt hat. „Ich habe eine schwierige Sache herausgefunden und es zum Laufen gebracht! Ahhhhh! Ich fühle mich großartig!“
Diese Art von emotionalem Hochgefühl ist ziemlich großartig, nicht wahr? Es bringt mich zum Lächeln, nur daran zu denken.
Stellen Sie sich nun vor, ein Experte für Barrierefreiheit kommt vorbei und sagt Ihnen im Wesentlichen, dass Sie nicht nur nicht besonders schlau sind, sondern die Dinge auch noch falsch gemacht haben, und das schon seit langer Zeit.
Autsch. Plötzlich fühlen Sie sich nicht mehr sehr gut. Falsch? Ich?? Was??? Ihr Adrenalin kann sogar einsetzen und Sie fangen an, sich defensiv zu fühlen. Zeit, sich selbst zu verteidigen... richtig? Zeit, auf die Zähne zu beißen.
Die kognitive Dissonanz kann sogar wirklich überwältigend sein. Es fühlt sich schlecht an zu erfahren, dass man nicht nur nicht gut in dem ist, was man für seine Stärke hielt, sondern auch noch gesagt hat: „Leck mich am Arsch, wen interessiert’s eh“, zu einer ganzen Reihe von Leuten, die die Websites, bei deren Erstellung Sie geholfen haben, nicht nutzen können, weil Sie (versehentlich oder anders) ignoriert haben, dass sie überhaupt existieren, dass Sie Nutzer ignoriert haben, die etwas mehr brauchten als die Cleverness, die Sie all die Jahre geliefert haben. Autsch.
Alles in allem ist es für mich durchaus verständlich, dass ein Entwickler seine Finger in die Ohren stecken und so tun möchte, als wäre nichts von alldem passiert, dass er immer noch sehr schlau und großartig ist. Dass der eine „Experte“, der Ihnen sagt, Sie hätten es falsch gemacht, nur eine Person ist. Und eine Person ist leicht zu ignorieren.
- Ende der Szene.
Akt 2
„Ich habe das Gefühl, ich spiele überhaupt keine Rolle.“
Das ist ein häufiges wiederkehrendes Thema, das ich von Menschen höre, die assistierende Technologien benötigen, um Websites zu nutzen, diese aber oft aus unzähligen Gründen als unbenutzbar empfinden. Vielleicht können sie den Text nicht lesen, weil das Design der Website den Farbkontrast ignoriert hat. Vielleicht gibt es verschachtelte interaktive Elemente, sodass sie sich nicht einmal einloggen können, um Dinge wie Stromrechnungen zu bezahlen oder wichtige Artikel selbst zu kaufen. Vielleicht hat ihr Lieblingssänger endlich einen Online-Shop eingerichtet, aber der Nutzer mit assistierender Technologie kann die Website nicht einmal navigieren, weil, obwohl sie aus Sicht eines sehenden Nutzers interaktiv erscheinen mag, alle Buttons Divs sind und überhaupt nicht mit der Tastatur interagieren...
Diese Frustration kann überkochen und sich ausbreiten; die Hauptlast dieser Frustration tragen oft diejenigen, die versuchen, inklusivere Produkte anzubieten. Das Ergebnis ist ein negativer Rückkopplungskreis; einige Tech-Leute ziehen sich vom Zuhören zurück, weil es „unhöflich“ ist (und die Ironie dieser Aussage völlig verfehlen). Andere Tech-Leute kämpfen mit der emotionalen Last, die oft mit der Arbeit im Bereich barrierefreies Design und Entwicklung einhergeht.
Die Sache ist, dass diese Nutzer so lange ignoriert wurden, dass es sich anfühlen kann, als würden sie in eine Leere schreien. Hört denn niemand zu? Kümmert sich denn niemand? Es scheint, dass die einzige Möglichkeit, überhaupt anerkannt zu werden, die Behandlung zu fordern ist, die ihnen das Gesetz gewährt! Selbst dann fühlen sie sich oft ignoriert und vergessen. Sind Klagen der einzige Ausweg?
Es scheint zunehmend, dass lautes und militantes Auftreten der einzige Weg ist, gehört zu werden, und selbst dann kann es lange dauern, bis etwas geschieht.
- Ende der Szene.
Akt 3
„Ich weiß, dass es den Farbkontrast nicht besteht, aber ich habe das Gefühl, es schränkt meine Kreativität als Designerin einfach so stark ein. Ich mag, wie das alles aussieht, überhaupt nicht.“
Das habe ich im Laufe meiner Karriere oft gehört. Für manche ist inklusives Design kein notwendiger Leitplanke, um sicherzustellen, dass unsere Websites von allen genutzt werden können, sondern eher ein Dämpfer für ihre kreative Freiheit.
Wenn Sie ein Designer sind, der so denkt, bitte bedenken Sie Folgendes: Sie entwerfen nicht für sich selbst. Das ist keine physische Kunst; auch wenn Ihr visuelles Design künstlerisch sein kann, es ist immer noch im Web. Es ist immer noch für das Web. Webdesigner haben eine höhere Herausforderung – ihre künstlerische Vision muss für alle nutzbar sein. Fordern Sie sich selbst heraus, die Unterhaltung in einen anderen Raum zu verlagern: Sie haben das richtige Design noch nicht gefunden. Es ist eine falsche Wahl zu glauben, dass ein Design entweder schön oder zugänglich sein kann; fallen Sie nicht in diese Falle.
- Ende der Szene.
Lassen Sie uns das Gespräch neu gestalten
Dies sind nur drei der Perspektiven, die wir im Hinblick auf digitale Barrierefreiheit betrachten könnten.
Wir könnten über den Projektmanager sprechen, der „einfach nur Features releasen möchte“ und sagt: „Wir können uns später um Barrierefreiheit kümmern.“ Wir könnten über den Entwickler sprechen, der scherzt, dass er „das Internet ohnehin nicht nutzen würde, wenn er blind wäre“, oder derjenige, der sagt, er werde sich erst dann um Barrierefreiheit kümmern, „wenn die Browser ihn dazu zwingen.“
Wir könnten, aber wir müssen es nicht wirklich. Wir wissen, wie diese Gespräche verlaufen, denn viele von uns haben diese Erfahrungen gemacht. Das Projekt wird nie nachgerüstet. Das Unternehmen zahlt einmal für die Entwicklung des Produkts, zahlt dann für eine Barrierefreiheitsprüfung, zahlt dann für die Neufassung, nachdem die Prüfung zeigt, dass eine Nachrüstung kostspieliger sein wird als etwas Neues zu bauen. Wir kennen den Entwickler, der darauf besteht, dass er nur dann dazu gezwungen werden sollte, etwas zu tun, wenn der Browser es andernfalls verbietet, und dass es unwahrscheinlich ist, dass er davon überzeugt wird, dass die inklusive Architektur seines Codes nicht nur vorteilhaft, sondern notwendig ist.
Worüber sollten wir also reden?
Wir müssen anerkennen, dass Designer und Entwickler viel früher in ihrer Karriere über Barrierefreiheit lernen müssen. Ich denke dabei an diese Analogie: Stellen Sie sich vor, Sie hätten eine Fremdsprache gelernt, aber nur den Slang dieser Sprache. Ihre Wörter sind technisch korrekt, aber es gibt viele Muttersprachler dieser Sprache, die Sie nie verstehen werden. JavaScript-first Webentwickler sind oft technisch korrekt aus JavaScript-Sicht, aber sie erstellen auch häufig Lösungen, die am Ende eine ganze Menge Leute ausschließen.
Wie korrigieren wir das? Ich werde hier entschlossen sein, wie wir es alle sein müssen. Wir müssen sicherstellen, dass jede Dokumentation, die wir erstellen, zugängliche Codebeispiele enthält. Designs müssen zugängliche Anmerkungen enthalten. Unsere Konferenzvorträge müssen Barrierefreiheit beinhalten. Die coolen, lustigen Spielzeuge, die wir machen, um uns das Leben leichter zu machen? Sie müssen zugänglich sein, und es darf keine Entschuldigung für etwas weniger geben. Das wird unser neues Minimum-Viable Product für alles, was mit dem Web zu tun hat.
Aber was ist mit dem Code, der bereits existiert? Was ist mit den Tausenden von bereits geschriebenen Artikeln, gehaltenen Vorträgen, produzierten Bibliotheken? Wie kommen wir darüber hinweg? Selbst während ich diesen Artikel für CSS-Tricks schreibe, denke ich an all die Artikel, die ich gelesen habe, und an die Enttäuschung, die ich gefühlt habe, als ich wusste, dass das Endergebnis nicht zugänglich war. Oder die wirklich lustigen Codegenerator-Tools, die keinen zugänglichen Code erzeugen. Oder die beliebten CSS-Frameworks, die die Tabulatorreihenfolge oder den Farbkontrast nicht berücksichtigen. Möchte ich, dass all diese Leute sich schlecht fühlen oder irgendwie bestraft werden?
Nein. Nicht einmal im Entferntesten. Nichts Gutes kommt aus dieser Art von Denken. Das Gute kommt aus den Bereichen, die wir bereits kennen – Mitgefühl und Neugier.
Wir nähern uns dem mit Mitgefühl und Neugier, denn das sind nachhaltige Wege zur Verbesserung. Wir werden uns niemals verbessern, wenn wir im Schuldgefühl vergangener Taten schwelgen und uns selbst oder andere dafür beschimpfen, dass wir die Barrierefreiheit all die Jahre ignoriert haben. Ehrlich gesagt, wir würden nichts tun, wenn wir irgendwie für vergangene unwissende Taten bezahlen müssten; denn ja, wir haben es ignoriert. In vielerlei Hinsicht ignorieren wir es immer noch.
Reale Beispiele: Das Google Developer Training lehrt viele Dinge, aber es lehrt nichts mehr als die super grundlegenden Teile der Barrierefreiheit. JavaScript-Frameworks sind so sehr in der Cleverness und Komplexität von JavaScript gefangen, dass sie völlig vergessen, dass HTML bereits existiert. Selbst dann kann Barrierefreiheit immer noch zurücktreten. Ember existierte etwa acht Jahre, bevor eine auf Barrierefreiheit fokussierte Community-Gruppe hinzugefügt wurde (auch wenn sie seitdem große Fortschritte gemacht haben). React benötigte eine völlig andere Router-Lösung. Vue hat noch nicht einmal begonnen, Barrierefreiheit im Kern-Framework öffentlich anzugehen (obwohl es Community-Bemühungen gibt). Barrierefreiheitsingenieure betteln darum, dass inert nativ in Browsern implementiert wird, aber es ist oft unterfinanziert und wird heruntergestuft.
Aber wir sind Technologen und Künstler, also gewinnt unsere Neugier, wenn wir interessante Artikel darüber lesen, wie das Accessibility Object Model funktioniert und wie unser Code von Betriebssystemen übersetzt und an assistierende Technologien weitergegeben werden kann. Das ist ziemlich cool. Schließlich ist es wahrscheinlich eher das, was wir uns vorgestellt haben, Maschinencode zu schreiben, damit er mit einer anderen Maschine sprechen kann, oder?
Die Sache ist, wir können nur dann anfangen, Mitgefühl für andere Menschen zu haben, wenn wir Mitgefühl für uns selbst haben können. Klar, wir haben Mist gebaut – aber wir müssen nicht unwissend bleiben. Denken Sie an die Zeit, als Sie Ihren Code stundenlang debuggt haben und es sich am Ende um einen Tippfehler oder ein fehlendes Semikolon handelte. Machen Sie sich deswegen immer noch Vorwürfe? Nein, Sie haben durch logisches Denken Mitgefühl entwickelt. Denken Sie an den Junior-Entwickler, der entmutigt wurde, und wie Sie ihn motiviert haben, weiterzumachen, und dass wir alle gute und schlechte Tage haben. Das ist Mitgefühl.
Hier ist das Coole: Wir haben nicht nur die Technologie, wir sind buchstäblich diejenigen, die sie reparieren können. Wir können aufstehen und versuchen, morgen besser zu werden. Wir können uns Zeit nehmen, um über Barrierefreiheit zu lesen, und jeden Tag weiter darüber lesen, bis wir sie genauso gut kennen wie andere Dinge. Es wird anfangs schwer sein, genau wie beim ersten Mal, als wir versucht haben… Tests zu schreiben. CSS zu schreiben. Mit dieser einen API zu arbeiten, die sich für immer in unser Gedächtnis eingebrannt hat. Aber mit Wiederholung und Übung wurden wir besser. Es wurde einfacher.
Logischerweise wissen wir, dass wir schwierige Dinge lernen können; wir haben bereits schwierige Dinge gelernt, immer und immer wieder. Das ist das Leben und der Beruf, für den wir uns entschieden haben. Das bringt uns jeden Morgen aus dem Bett. Wir lieben Herausforderungen und wir lieben es, sie zu lösen. Wir sind absolut dafür.
Was können wir tun? Hier sind einige Handlungsschritte.
Vielleicht habe ich an dieser Stelle einige Leser verloren. Aber wenn Sie bis hierher gekommen sind, fragen Sie sich vielleicht: „Melanie, du hast mich überzeugt, aber was kann ich jetzt tun?“ Ich gebe Ihnen zwei Listen, um Sie zu befähigen, zu handeln, indem ich Ihnen einen Startpunkt gebe.
Verbessern Sie sich mit Mitgefühl
- Beginnen Sie, einigen Menschen mit Behinderungen zu folgen, die in den sozialen Medien aktiv sind, mit dem Ziel, von ihren Erfahrungen zu lernen. Hören Sie zu, was sie zu sagen haben. Diskutieren Sie nicht mit ihnen. Zensieren Sie ihre Sprache nicht. Hören Sie zu, was sie Ihnen sagen wollen. Vielleicht kommt es nicht immer so heraus, wie Sie es sich wünschen, aber hören Sie trotzdem zu.
- Rüsten Sie Ihr Wissen nach. Versuchen Sie, Ihre nächste Komponente mit HTML zu schreiben, und fügen Sie dann Funktionalität mit JavaScript hinzu. Lernen Sie, was Sie kostenlos erhalten von HTML und dem Browser. Nehmen Sie einige Kurse, die sich auf Barrierefreiheit für Ingenieure konzentrieren. Investieren Sie in Ihre eigene Verbesserung, um Ihr Handwerk zu verbessern.
- Schalten Sie einen Screenreader ein. Lernen Sie, wie er funktioniert. Finden Sie die Einstellungen heraus – wie schaltet man eine reine Textversion ein? Wie ändert man die Stimme? Wie bringt man ihn zum Schweigen oder zum schnelleren Sprechen? Wie navigiert man nach Überschriften? Wie erhält man eine Liste von Links? Was sind die Tastenkombinationen?
Bonuschallenge: Versuchen Sie sich am Bau von Werkzeugen zur Barrierefreiheit. Schauen Sie sich A11y Automation Tracker an, ein Open-Source-Projekt, das verfolgen soll, welche Automatisierungen existieren könnten, aber noch nicht erstellt wurden.
Verbessern Sie Ihren Code schrittweise
Es gibt kritische Blocker, die Menschen daran hindern, Ihre Website zu nutzen. Bleiben Sie nicht stehen und fühlen Sie sich schlecht deswegen; treiben Sie sich zu Handlungen an und machen Sie Ihren Code noch besser als zuvor.
Hier sind einige der schlimmsten:
- Verschachtelte interaktive Elemente. So etwas wie einen Button in einen Link einfügen. Oder einen weiteren Button in einen Button.
- Fehlende Labels für Eingabefelder (oder nicht zugeordnete Labels)
- Tastaturfallen halten Ihre Benutzer auf. Lernen Sie, was sie sind und wie man sie vermeidet.
- Sind die Bilder auf Ihrer Website für Benutzer wichtig? Haben sie das
alt-Attribut mit einem aussagekräftigen Wert? - Gibt es leere Links auf Ihrer Website? Haben Sie einen Link verwendet, wenn Sie einen Button hätten verwenden sollen?
Vorschlag: Lesen Sie die Checkliste des A11y Projects. Sie ist keineswegs erschöpfend, aber sie wird Ihnen den Einstieg erleichtern.
Und wissen Sie was? Ein guter Ort, um anzufangen, ist genau dort, wo Sie gerade sind. Eine gute Zeit, um anzufangen? Heute.
Headerbild von Scott Rodgerson auf Unsplash
Aus dem gleichen Grund, aus dem Leute keine rollstuhlgerechten Rampen an ihren Häusern installieren.
Es ist eher so, als würde man seinem Geschäft barrierefreie Rampen installieren. Und Geschäfte tun das, solange die Kosten proportional zur Größe des Geschäfts sind.
Bezüglich des „gleichen Grundes, warum Leute keine rollstuhlgerechten Rampen in ihren Häusern installieren“ verstehe ich den Vergleich nicht und auch nicht genau, wie er sich auf den Artikel bezieht. Ich dachte sofort daran, wie Unternehmen früher Zugang auf diese Weise nicht gewährt haben, aber durch das Gesetz gezwungen wurden und weil genügend Bürger das Gefühl haben, dass sie es tun müssen, trotz der entstandenen Kosten. Immer noch unzureichend, aber ich denke, ein viel fairer Vergleich.
Ich kenne die Feinheiten von 508 nicht, wen genau in letzter Zeit verklagt wurde, aber ich werde mich weiterhin bemühen, meine Verwendung von HTML und ARIA zu überprüfen und zu lernen und hoffentlich meinen Code zu verbessern und ihn zugänglicher zu machen. Ich werde Fehler machen und ich denke, es ist in Ordnung, wenn ich bereit bin, zu iterieren, zu verbessern und zu lernen.
Ein weiterer Vergleich könnte sein, einen PM um Zeit für das Hinzufügen von Tests oder QA zu bitten. Je nach Organisation erhalten Sie sehr unterschiedliche Antworten. Ab einem bestimmten Punkt müssen Sie sich selbst die Gnade und den Selbstrespekt geben zu entscheiden, dass Sie als Experte für das Thema wissen, was das Beste ist. Fügen Sie einfach Tests hinzu. Audieren Sie Ihren eigenen Code nach Belieben auf Barrierefreiheit. Das gehört zum Profi-Sein, oder?!
Bezüglich des Artikels genoss ich die Überzeugungskraft, auch wenn wir den Punkt etwas ausschweifend behandeln mussten, ich schätze, es passt zu dem Punkt, dass Leute militan sind, weil die Community sie so lange im Stich gelassen hat! Zustimmend.
Es ist auch interessant zu überlegen, welches der beliebten FE-Frameworks die Implementierung einer zugänglichen Komponente erleichtert oder erschwert. Warum muss ich die Tastaturnavigation zum x-ten Mal neu implementieren, Frameworks? Oder einen Drittanbieter-Hook oder ein Modul finden, es prüfen, herausfinden, wie es funktioniert?
Es sei denn, sie hatten regelmäßige Besuche von Menschen, die Rollstuhlrampen benötigen, um sich fortzubewegen. Der Unterschied ist, dass die meisten Häuser privat zugänglich sind und für diejenigen, die Zugang haben, eine Rollstuhlrampe möglicherweise nicht notwendig ist. Fast alle Websites sind jedoch bis zu einem gewissen Grad öffentlich zugänglich. Selbst diejenigen mit einer öffentlichen Anmeldeseite und allem anderen, was dahinter gesperrt ist. Es gibt keinen Grund, Dinge, die öffentlich zugänglich sind, nicht so öffentlich zugänglich wie möglich zu machen, auch wenn es nur darum geht, jemandem zu sagen, dass er sich nicht mit den richtigen Anmeldedaten hier aufhalten darf, ihm eine nützliche Möglichkeit zur Kontaktaufnahme anzubieten, ihn in eine andere Richtung zu weisen usw.
Nicht dasselbe. Websites sind ein öffentlich zugänglicher Dienst und sollten daher für alle gleichermaßen zugänglich sein. Indem Sie sich entscheiden, Barrierefreiheit zu ignorieren, sagen Sie, dass behinderte Menschen nicht wichtig sind.
Übrigens, das Installieren von Rollstuhlrampen zu Hause ist eine Sache. Jeder Mensch, den ich mit einem Rollstuhl kannte, hatte eine Rampe an seinem Haus. Sie sind am häufigsten aus Aluminium gefertigt und fallen auf, wenn man am Grundstück vorbeifährt.
Der Titel dieses Artikels, „Warum nehmen Entwickler Barrierefreiheit nicht ernst?“, ist eine pauschale Annahme in Form einer negativen Anschuldigung.
Ich denke, diese Art von Toxizität veranschaulicht perfekt, warum Entwickler der Barrierefreiheitsbewegung nicht offener gegenüberstehen. Stellen Sie sich vor, wie beliebt andere Technologien und Paradigmen wären, wenn sie sich durch emotionale Feindseligkeit fördern würden: „Du benutzt kein Rust, weil du dich nicht um behinderte Menschen kümmerst und egoistisch bist. Hier ist, warum du dich um Rust kümmern solltest und warum es schneller ist als PHP.“
Jeder ernsthafte Frontend-Entwickler kümmert sich um Barrierefreiheit, es ist das U (User) in UI. Viele der Werkzeuge, die die Autorin am Anfang erwähnt, existieren, um ältere Browser zu unterstützen und die Code-Payload klein zu halten. (Sie funktionieren auch für CSS, HTML und Bilder. Nicht alles dreht sich um JavaScript.) Wir verwenden diese in Verbindung mit neueren Sprachspezifikationen und anderen Werkzeugen, weil sie die Robustheit unseres Codes erhöhen und zu stabileren und skalierbareren Benutzeroberflächen führen, was für alle vorteilhafter ist.
Wenn es in der Branche eine Diskrepanz bei der Barrierefreiheit gibt, dann basiert sie meiner Meinung nach darauf, wie man Benutzeroberflächen zugänglicher macht, nicht ob man sie zugänglich machen sollte. Minimalismus ist nicht immer der beste Ansatz, auch wenn er für Anfänger am einfachsten zu beherrschen ist. Eine statische HTML-Datei mag aus der Vogelperspektive zugänglicher erscheinen, aber wenn sie das beabsichtigte Konzept dem Benutzer nicht vermittelt oder der Benutzer dieses Konzept für die zukünftige Verwendung nicht behält, dann ist die Seite aus einer menschenzentrierten Perspektive gescheitert. Ansprechende Benutzeroberflächen haben ihren Zweck.
Es gibt einige gute Ratschläge am Ende dieses Artikels, aber ich denke, es wäre produktiver gewesen, sie aus technischer Sicht statt aus emotionaler zu formulieren.
Ja, ich habe dasselbe gedacht. Ich bin selbst Entwickler, habe jahrzehntelang viel Code geschrieben, aber in den letzten 15 Jahren habe ich mich zu 100 % auf Barrierefreiheit konzentriert und anderen Entwicklern, Designern und Testern geholfen, zu verstehen, was es ist und wie man es entwirft und implementiert. Der Schlüssel ist, wie Barrierefreiheit präsentiert wird. Leider gibt es viele a11y-Leute, die es mit der Haltung „du machst es falsch“ angehen. Das ist Essig, kein Honig. Vielleicht habe ich als Entwickler selbst großen Erfolg damit, dass andere Entwickler etwas über a11y lernen. Alle Entwickler wollen, dass ihr Code genutzt wird – darum geht es beim Schreiben. Daher wissen alle Entwickler, denen ich begegnet bin, die Tipps zur Barrierefreiheit zu schätzen, die ihnen helfen, ihren Code von mehr Menschen nutzen zu lassen.
Das sind alles tolle Vorschläge, aber ich glaube, es fehlt ein entscheidender Teil der Gleichung.
Was in all dem fehlt, ist die Rolle der Browser.
Wenn man einen Schnappschuss der aktuellen Situation macht, wird man feststellen, dass leicht 90 % der grundlegenden Barrierefreiheitsprobleme ausschließlich die Schuld der Browser sind.
Wir als Entwickler sind gezwungen, unsere eigenen Lösungen für Dinge wie
<select>,usw. zu entwickeln. Warum? Weil sie nicht vollständig nach unseren Wünschen gestaltet werden können. Sie haben auch neue Dinge wie, die viele Probleme hätten lösen sollen, aber so viele Barrierefreiheitsprobleme und Inkonsistenzen zwischen den Browsern aufweisen, dass wir sie einfach nicht verwenden können. Wir hätten auch gerne ein funktionierendes` bitte…Solange diese Multi-Billionen-Dollar-Unternehmen wie Apple, Google und Microsoft nicht das absolute Minimum tun, um diese Probleme zu lösen, werden Sie keinen Einfluss auf die Barrierefreiheit im Web nehmen.
Apple zögert vorsätzlich und zieht alle mit runter, weil ihr Geschäftsmodell die Nutzung von Apps gegenüber der Browsernutzung fördert.
Google schaufelt zwar sein Bestes, um Entwickler über Barrierefreiheit aufzuklären, aber es wälzt die ganze Verantwortung auf unseren Rücken ab… Und die meisten ihrer Geschäftsprodukte sind in Bezug auf UX und Barrierefreiheit grauenhaft…
Der Krieg beginnt ganz unten. Sobald diese Probleme behoben sind, werden sie sich auf die Bibliotheken auswirken. Sobald das auch dort gelöst ist, können Sie darauf wetten, dass die meisten Barrierefreiheitsprobleme im Web bereits gelöst sein werden.
Und wenn das alles erledigt ist, wird die Last für die Entwickler um ein Vielfaches geringer sein. Wir werden uns der Barrierefreiheit nicht mit der Haltung „noch ein Berg von Verantwortlichkeiten auf unseren Rücken“ nähern, sondern mit der Haltung „sicher, das kann ich für Sie einfach beheben“.
Als Nutzer mit Behinderung und Spracherkennung kann ich Ihnen sagen, dass es nicht der Browser ist. Es ist die ganze verdammte JavaScript-Magie, die im Weg steht.
Nuance hat ein Plug-in für alle Browser, das viele Dinge einer Webseite per Sprache ermöglicht. Persönlich konzentriere ich mich hauptsächlich auf die Diktation in einem Bearbeitungstext in einem Textfeld. Wenn kein JavaScript im Weg ist, funktioniert es einwandfrei. Aber fügen Sie JavaScript hinzu, um zu ändern, wie Text in den Textbereich eingegeben wird, und die Spracherkennung versagt.
Hotkeys sind ein weiterer Fehlerfall. Wenn Sie eine Taste drücken können, die eine Aktion auslöst, können Sie Ihre Umgebung völlig durcheinander bringen, indem Sie diktieren, wenn der Fokus auf der Anwendung liegt und nicht in einem Feld. Sie können dies simulieren, indem Sie die Augen schließen und zufällige Tasten drücken. Extrapunkte, wenn Sie herausfinden können, was mit Ihren Daten passiert ist.
Im Vorfeld der Olympischen Spiele 2000 in Sydney verklagte ein sehbehinderter Mann das Olympische Komitee (und gewann), weil er die Website nicht nutzen konnte, um Tickets zu kaufen. Die Website wurde nicht neu erstellt, aber von da an hatten alle australischen Regierungswebsites obligatorische Anforderungen für Webzugänglichkeit, die bis heute gelten.
Es ist eine echte Schande, dass wir über zwei Jahrzehnte später immer noch dieselbe Unterhaltung für das „kommerzielle“ Internet führen, dass Entwickler trotz aller Fortschritte in der Internet-Technologie immer noch die sehr einfachen Richtlinien der Webzugänglichkeit vernachlässigen.
Das WAVE Web Accessibility Evaluation Tool (https://wave.webaim.org/extension/) ist ein großartiges Werkzeug, da es Ihnen sagt, was Sie richtig und was Sie falsch machen. Das hilft, weil es Sie ermutigt, anstatt Ihnen nur zu sagen, was Sie falsch machen. Sie können auch Stile nach Belieben deaktivieren, um zu sehen, wie Ihre Inhalte ohne Layouts präsentiert werden, was Menschen helfen kann, den Wert der Verwendung semantischer HTML-Elemente für die Inhaltspräsentation zu verstehen.
Auf jeden Fall ein großartiger Artikel. Ich denke, die Webentwicklungs-Community braucht alle drei Tage einen solchen Artikel, bis Webzugänglichkeit für Entwickler einfach zur zweiten Natur wird. Es sollte wirklich das Erste sein, was jedem, der in die Branche einsteigt, beigebracht wird, denn die Realität ist, dass es wahrscheinlich das Einfachste ist, was sie jemals lernen müssen.
Das ist ein großartiger Artikel, aber ist der Titel nicht etwas kontraproduktiv? Wenn ich ein Entwickler bin und das sehe, bestärkt es nur die Idee, dass es die Norm ist, sich nicht um Barrierefreiheit zu kümmern, so dass kein großer Druck auf mich ausgeübt wird, meine Praktiken zu ändern.
Ich persönlich würde es als „Warum nicht genug Entwickler Barrierefreiheit ernst nehmen“ formulieren.
Nur zur Information, der ursprüngliche Titel war „Perspektiven auf Barrierefreiheit“
Ich hoffe, die Leute lassen sich nicht zu sehr vom Titel ablenken, der geschaffen wurde, um Leute zum Lesen zu bewegen.
Liebe Melanie,
Ich glaube nicht, dass der erste Akt notwendigerweise stimmt. Haben Sie die Zugänglichkeit des Lernens über Barrierefreiheit berücksichtigt?
Ich tue mein Bestes mit dem, was ich weiß: semantisches HTML, React Aria, headlessui, etc.
Aber dieser Kram ist schwer
- Die Informationen sind nicht immer aktuell
- Muster sind geräteübergreifend nicht konsistent
- Die ARIA-Dokumentation ist dicht
- Viele der Validatoren sind kostenpflichtig, nicht Open-Source
- Es gibt keine Tiefgang-Kurse, die ich kaufen kann, um mir alles beizubringen, was ich wissen muss (es gibt viele zu React, JS, TS, CSS und mehr)
Schauen Sie sich nur all die Dinge an, die in eine einfache Kartenkomponente einfließen! https://inclusive-components.design/cards/
Ich wünschte, einer der vielen Barrierefreiheits-Evangelisten würde einen endgültigen Leitfaden schreiben. Ich würde ihn religiös befolgen. So viele von ihnen sagen nur, wie wichtig es ist, und geben kleine Krümel von Einführungstipps. Apropos, ich schätze Ihren Link zur Checkliste https://www.a11yproject.com/checklist/, den werde ich meiner Werkzeugkiste hinzufügen. Sie sagen: „Belegen Sie einige Kurse, die sich auf die Barrierefreiheit für Ingenieure konzentrieren“ – Bitte, sagen Sie mir nicht, ich soll etwas tun, ohne mir tatsächlich zu sagen, wie. Welche Kurse? Ich möchte sie belegen.
Barrierefreiheit ist wichtig. Barrierefreiheit sollte Standard sein. Wenn es schwierig ist, Barrierefreiheit zu lernen, noch schwieriger zu sagen, ob man es richtig macht und automatisch testet, und der Kunde möchte es gestern versendet haben, welche Optionen habe ich wirklich?
Auf jeden Fall danke für diesen Beitrag. Dieser Kommentar ist als konstruktive Kritik gedacht. Bitte senden Sie mir Ihre Vorschläge.
P.S.
Früher habe ich auch Design gemacht. Ich habe noch nie jemanden getroffen, der absichtlich etwas unzugänglich macht. Ich benutze Plugins, um diese Werte zu überprüfen, aber selbst diese fangen nicht alles auf. Es ist nur eine weitere Designbeschränkung des Webmediums.
Eines der Dinge, die ich sehr schnell entdeckt habe, war, dass jeder Screenreader ein wenig anders funktioniert. Sie sind wie Browser vor HTML5; jeder hat seine eigene Interpretation des Standards. Als kostenloser App-Entwickler konnte ich es mir nicht leisten, sie alle zu testen, und sie sind auch absichtlich so konzipiert, dass man nicht sagen kann, welcher in Gebrauch ist (oder ob überhaupt einer in Gebrauch ist). Das macht es für kleine Entwickler zu einer ziemlich schwierigen Herausforderung.
Eine Schwierigkeit, mit der Entwickler konfrontiert sind, sind Kunden, denen die Art und Weise, wie einige Website-Elemente, die für Barrierefreiheit ausgelegt sind, interagieren, nicht gefällt. Einer wollte ein Dropdown-Menü, das Untermenüs nur beim Darüberfahren mit der Maus öffnet, und der Link, der es öffnet, sollte eine Zielseite haben, anstatt als Schaltfläche zu fungieren, die die Sichtbarkeit des Untermenüs umschaltet. Die Begründung bestand aus zwei Teilen: 1. dass dies so gemacht wurde (seiner Meinung nach) und 2. dass seine Ansicht über die Benutzer der Website war, dass niemand, der die Website besuchte, ein klickgesteuertes, klebriges Dropdown-Menü verwenden müsste. Ein weiteres Problem war, dass er keine Hervorhebungsindikatoren für die Tastatur sehen wollte.
Es ist wirklich eine Schande.
Also, was kann ich als Entwickler, der arbeiten muss, um Geld zu verdienen, der Arbeit für einen zahlenden Kunden leistet, der jederzeit zu 100 % bezahlt und pünktlich ist, tun, wenn jede Bitte, von Anfang an mit Blick auf Barrierefreiheit zu arbeiten, ignoriert oder abgewiesen wird?
Ich tue so viel wie möglich für Barrierefreiheit, was die „Vision“ des Kunden, wie die Website aussehen soll, nicht beeinträchtigt.
Und das ist auch eine Schande.
Absolut einverstanden! Wie oft wird mir gesagt, dass Farben mit ausreichend Kontrast „nicht zum Markenimage passen“!
Das ist furchtbar. Ich habe keine ernsthafte Behinderung, aber als jemand mit einem essentiellen Tremor sind verschachtelte Menüs nur beim Darüberfahren meine Nemesis.
Gerade im Hinblick auf das Aufklappen von Untermenüs per Hover ist diese Herausforderung tatsächlich zu bewältigen. Sie erfordert jedoch ein umsichtiges Verständnis und Denken außerhalb der Box. Das Endergebnis ist mehr Code, um sicherzustellen, dass alles funktioniert.
Ich würde dem Kunden einfach vorschlagen, dass Sie seinen Anforderungen gerecht werden können, jedoch aufgrund der Art dieser Änderungen einige zusätzliche Stunden benötigt werden, um sicherzustellen, dass die Barrierefreiheit wie erwartet funktioniert. Dies führt auch zur anfragebezogenen Fokussierung, bei der ich klar darauf hinweisen würde, dass ich dies nicht entfernen werde, da es eine Standardanforderung ist. An diesem Punkt müssen Sie eine geeignete Lösung aushandeln, aber stellen Sie sicher, dass sie die Bedeutung der Fokusrolle verstehen, um das Problem zu lösen.
Je mehr wir verstehen, welche Änderungen und Arbeiten erforderlich sind, um verschiedene Anforderungen zu erfüllen, desto besser können wir die Erwartungen der Kunden steuern. Bis Sie dies in einfacher Sprache, die Ihr Kunde verstehen kann, klarstellen, sollten Sie davon ausgehen, dass er keine Arbeitskenntnisse hat. Wenn er sie hat, dann übernimmt er zumindest die Verantwortung für die Endergebnisse und Sie haben ihn im Falle eines Versehen informiert.
Ein Vorteil guter Barrierefreiheit ist, dass sie leicht demonstriert werden kann, um die Bedeutung bestimmter Arten von Änderungen aufzuzeigen. Der Fokus ist ein solches Element.
Ermutigender Artikel, danke, dass Sie so konstruktiv geschrieben haben! Besonders nehme ich die Idee mit, dass das minimal überlebensfähige Produkt barrierefrei sein muss, mit.
Ich bin Entwickler und nehme Barrierefreiheit ernst und war durch den Titel in keiner Weise beleidigt :D …
… weil es wahr ist. Ich habe jahrelang in einem Unternehmen gearbeitet, in dem es ein ständiger Kampf war, irgendjemanden dazu zu bringen, Barrierefreiheit ernst zu nehmen. Wir müssen konstruktive Wege finden, die Situation anzugehen. Danke nochmals.
Reales Beispiel
Wenn meine Projektmanager die fertige Website sehen, ist sie fertig. Weiter zum nächsten Projekt. Es wird keine Zeit für Barrierefreiheit eingeplant, weil sie für Projektmanager nicht visuell existiert. Meiner Erfahrung nach verdoppelt Barrierefreiheit die Entwicklungszeit. Kein Manager genehmigt das. Es kommt auf Geld an, sorry, so denken Manager einfach.
Also ja, ich gebe die Schuld teilweise an Kunden und Manager weiter.
Außerdem ist das Erlernen von Barrierefreiheit brutal schwierig. Die Informationen sind im Web verstreut und jeder sagt, man solle Barrierefreiheit betreiben, aber niemand spricht darüber, wo man diese Dinge lernen kann. Es gibt verschiedene ziemlich unvollständige Standards, die sich manchmal widersprechen.
Es tut mir leid, aber es ärgert mich wirklich, wie jeder tugendhaft mit Barrierefreiheit prahlt, aber dann nichts folgt. Es ist einfach, solche Schlagzeilen zu schreiben. Investieren Sie besser Ihre Zeit in die Dokumentation zur Barrierefreiheit, aber das würde harte Arbeit bedeuten.
Entschuldigung für die Entladung hier, aber Artikel wie dieser tragen nichts bei.
Meiner Erfahrung nach ist der einzige Grund, warum Barrierefreiheit die Entwicklungszeit verdoppeln würde, dass ein Unternehmen zu viele „Full-Stack“-Entwickler für Front-End-Aufgaben eingestellt hat. Während HTML das Kernfundament des Webs ist, sind die meisten Entwickler JavaScript-first und betrachten HTML nicht als echtes Coding. Wenn Sie Managern die Schuld geben wollen, geben Sie ihnen die Schuld für ihre Unfähigkeit, die richtigen Talente einzustellen, nicht dafür, dass sie sich nur um Geld kümmern.
Wenn Sie über Geld debattieren wollen, sind Klagen und der Verlust guter Kunden kostspieliger als die Einstellung eines Teams echter Front-End-Entwickler, um von Anfang an guten Code zu schreiben.
Hier sind einige Ressourcen, die ich persönlich hilfreich finde
Schriftliche Leitfäden
– https://web.dev/accessible/
– https://developer.mozilla.org/en-US/docs/Web/Accessibility
– https://developers.google.com/web/fundamentals/accessibility/
– https://www.accessibility-developer-guide.com/
– https://www.smashingmagazine.com/2021/03/complete-guide-accessible-front-end-components/
Videos und Online-Workshops
– https://www.udacity.com/course/web-accessibility--ud891
– https://youtube.com/playlist?list=PLNYkxOF6rcICWx0C9LVWWVqvHlYJyqw7g
– https://smashingconf.com/online-workshops/
Andere Vorschläge
– https://www.a11yproject.com/resources/#courses
Natürlich ist es schwierig, wie fast alles, was man in der Frontend-Entwicklung lernen muss. Aber wie der Autor bereits sagte
„Es wird anfangs schwierig sein, genau wie beim ersten Mal, als wir versucht haben… Tests zu schreiben. CSS zu schreiben. Mit dieser einen API zu arbeiten, die für immer in unseren Erinnerungen eingebrannt ist. Aber mit Wiederholung und Übung wurden wir besser. Es wurde einfacher.
Logischerweise wissen wir, dass wir schwierige Dinge lernen können; wir haben bereits schwierige Dinge gelernt, immer und immer wieder. Das ist das Leben und der Beruf, für den wir uns entschieden haben. Das bringt uns jeden Morgen aus dem Bett. Wir lieben Herausforderungen und wir lieben es, sie zu meistern. Wir sind voll und ganz dafür da.“
Ich hoffe, das hilft, viel Spaß beim Lernen! :)
Das ist ein wunderbar geschriebener Artikel!
Toller Beitrag! Ich mag besonders, dass Sie anerkennen, dass für Entwickler Barrierefreiheit nur ein Wissensbereich ist, den sie haben müssen, und dass er an den meisten Orten, an denen Menschen Frontend-Webentwicklung lernen, nicht gut (oder gar nicht) gelehrt wird. Wir müssen am Ursprung des Problems ansetzen, indem wir es zu einem richtigen Fach machen, das umfassend gelehrt wird.
Dennoch sagen einige Leute in den Kommentaren, dass Barrierefreiheit schwer zu lernen sei. Dem muss ich widersprechen – es ist nicht schwer oder zeitaufwendig im Vergleich zum Erlernen von React, dem Ausbalancieren von Leistung und Funktionen oder dem Aufrechterhalten des neuesten Browser-Updates. Entwickler lernen ständig schwierige Dinge im Job. Wir haben die Verantwortung, das Richtige zu tun, genauso wie bei Datenschutz und Sicherheit.
Toller Artikel, und ich stimme mehreren Kommentaren zu, dass das Erlernen, wie man eine Website zugänglich macht, nicht sehr zugänglich ist.
Als pensionierter Full-Stack-Entwickler habe ich mich viel mit Barrierefreiheit auseinandergesetzt und hatte nie das Gefühl, sehr gut darin zu sein. Aber oft war mein Gefühl: „Warum sind Screenreader so dumm, und warum brauchen sie so viel Hilfe und Unterstützung, um zu funktionieren?“
Das frage ich mich immer noch, daher möchte ich hinzufügen, dass neben besseren Browsern bei der Standardisierung der Barrierefreiheitsunterstützung vielleicht auch Screenreader, die nicht so sehr den DOM lesen, sondern dessen Anzeige interpretieren, helfen würden.
Der Artikel und die Kommentare müssen sich auf das konzentrieren, was Barrierefreiheit bedeutet. Es gibt mehr Behinderungen als nur visuelle. Mobilitätsprobleme allein reichen von den schwerstbehinderten Querschnittsgelähmten bis hin zu chronischen Schmerzen und dem Verlust der Feinmotorik in den Händen, wie ich ihn habe. Menschen wie wir nutzen Spracherkennung als unser Hilfsmittel.
A11y sagt nichts über Sprachaktivierung einer Anwendung. Nuancen kämpfen einen verlorenen Kampf wegen all der feinen JavaScript-Magie-Toolkits, die verwendet werden, um das Aussehen und Verhalten von Textfeldern zu modifizieren. Electron ist einer der schlimmsten Übeltäter in diesem Bereich.
Die drei Hauptprobleme, auf die Benutzer von Spracherkennung stoßen, sind JavaScript-Interferenzen mit Texteingaben, Hotkeys und die Verwendung von GUI-Toolkits, die integrierte Barrierefreiheits-Hooks für Sprache umgehen.
JavaScript-Interferenzen brechen häufig die Texteingabe, indem sie sie gar nicht zulassen, Zeichen fallen lassen, Zeichen verdoppeln, Zeichen eingeben, aber nicht anzeigen, oder das Kopieren und Einfügen brechen. Hotkeys brechen, weil unfokussierte Diktate Befehle auslösen, während Sie sprechen. Stellen Sie sich eine Katze vor, die auf der Tastatur läuft. Nicht standardmäßige GUI-Toolkits akzeptieren häufig keine Eingaben von der Spracherkennung oder frieren schlimmer noch ein, wenn sie die Spracherkennung verwenden, sodass Sie die Anwendung nicht mehr nutzen können und Ihren Computer neu starten müssen.
Wie beheben wir das?
Leben Sie das Leben einer behinderten Person. Setzen Sie sich eine Augenbinde auf und versuchen Sie, online zu arbeiten und zu spielen. Fühlen Sie diese Frustration und den Drang, die Augenbinde abzunehmen und sich vorzustellen, damit jeden einzelnen Tag zu leben, und Sie können die Augenbinde nicht abnehmen.
Legen Sie Ihre Tastatur in eine Schublade oder decken Sie sie mit einem Buch ab. Verwenden Sie Spracherkennung und spüren Sie die Frustrationen von Anwendungen, die zumindest für die grundlegende Diktierfunktion zugänglich sein sollten, aber es nicht sind.
Das Gefühl der Erleichterung, wenn Sie die Augenbinde abnehmen oder Ihre Tastatur wieder auf den Schreibtisch bringen, ist etwas, das behinderte Menschen nie empfinden.
Leben Sie das Leben und sehen Sie die Welt durch unsere Erfahrung
Wir versuchen immer, Best Practices zu befolgen. Das gesagt, die Nutzung unseres Barrierefreiheitspartners fügt (durchschnittlich) etwa 80 Stunden zu einer vollständigen Website-Erstellung hinzu. Das sind also zusätzliche 12.000 $ an Baukosten. Und das schließt nicht einmal die Gebühren des Barrierefreiheitspartners ein (die beträchtlich sind).
Der Aufbau einer barrierefreien Website ist nicht nur eine Frage der Anwendung von Best Practices. Sie müssen Auditoren mit tatsächlichen Behinderungen haben. Das ist teuer. Und wenn der Kunde nicht dafür bezahlt, bezahlen wir auch nicht.
Wir präsentieren es dem Kunden als Option, und wenn er sich dagegen entscheidet, lassen wir ihn eine Verzichtserklärung unterschreiben, die ihn im Falle von Klagen voll haftbar macht.