Prinzipien, Design Patterns und Best Practices

Wer neu in den Komplex barrierefreies Internet einsteigt ist sehr bald mit einem großen Regelwerk und unzähligen Abkürzungen konfrontiert. Das WAI hat sich sicherlich sehr viel Mühe gegeben, aber die eher textlastigen Seiten laden nicht zum Stöbern ein. Eine Alternative zu Richtlinien und Anleitungen können Best Practice Beispiele und Design Patterns sein. Design Patterns werden auch als Entwurfsmuster bezeichnet. Die Entwurfsmuster machen sich die Mustererkennung zunutze, die ich anderer Stelle beschrieben habe.
Die WCAG selbst lädt ebenfalls nicht zur Lektüre ein, ebenso könnte man das Telefonbuch von Bonn lesen, um etwas über die Stadt Bonn zu erfahren, steht ja alles drin.
Das eigentliche Problem ist folgendes: Der Entwickler steht vor einem konkreten Problem, dass er – wahrscheinlich sogar unter Zeitdruck – lösen muss. Auch wenn er wollte hätte er nicht die Muße, die WCAG zu lesen oder sich umfassend in die Barrierefreiheit einzuarbeiten.
Die WCAG ist zwar in logische Abschnitte gegliedert, aber sie ist gleichzeitig so aufgebaut, dass man sie mehr oder weniger vollständig kennen oder zumindest ihre Logik verstehen muss, um ein konkretes Problem zu lösen. Nehmen wir an, ich möchte ein barrierefreies Bestelformular erstellen. Es gibt dafür keine Regel in der WCAG und auch keinen Regelkomplex, in Wirklichkeit muss ich sehr viele unterschiedliche Regeln und ihr Zusammenspiel verstehen, um meiner Aufgabe nachzukommen.
Aber auch wenn man sich mit der WCAG angefreundet hat, ist man noch nicht fertig. Es gibt eine Verschränkung der WCAG mit anderen Dokumenten, die man ebenso kennen sollte, die Techniques zum Beispiel. Zudem erfordert es eine Kenntnis der Hilfsmittel, insbesondere des Verhaltens gängiger Screenreader. Viele Webdesigner regen sich schon darüber auf, wenn sie für verschiedene Browser entwickeln müssen, die Komplexität der Barrierefreiheit ist noch wesentlich höer.
Im Ergebnis führt das dazu, dass Barrierefreiheit spezielles Expertenwissen bleibt. In den Lehrplänen von Webdesignern und Entwicklern spielt sie kaum eine Rolle und selbst wenn sie das täte würden sich diese Menschen wohl nicht damit herumschlagen. Wer von euch hat das letzte Mal in die Spezifikationen von HTML 4.01 oder CSS 2.1 reingeguckt?

Patterns und Best Practices

Als Alternative bieten sich zwei Lösungswege an: Design Patterns und Best Practice-Beispiele.

eine Best Practice ist eine fertige Lösung, die sich in der Praxis bewährt hat. Jeder stand sicher mal vor einem Problem und stieß auf eine dermaßen elegante Lösung, dass er sie einfach übernommen hat. Das ist nicht mit Klauen oder Plagieren zu verwechseln, man kann ein konkretes Design schützen, aber nicht eine Idee.
Während eine Best Practice eine fertige Lösung ist beschreibt ein Entwurfsmuster den Lösungsweg, ohne eine finale Lösung vorzugeben.

Vor- und Nachteile

Eine Best Practice hat den Vorteil, dass sie sich in der Praxis bereits bewährt hat. Da fast alle denkbaren Probleme in der Praxis schon einmal gelöst wurden wäre es schlicht Zeitverschwendung, eine neue Lösung zu entwickeln, die gegenüber der alten keine Vorteile hat. Die bestehende Lösung kann an die jeweiligen Anforderungen angepasst werden.
Nachteile gibt es natürlich auch. So ist es bei einer Best Practice Lösung recht einfach, den Code zu klauen. Jeder kann über den Browser HTML und JavaScript einsehen, sich den Code kopieren, ein wenig verändern und hat sich viel Arbeit gespart. Das ist allerdings der Preis eines freien Webs und kommt meines Wissens nicht so häufig vor.
Zudem kann es natürlich immer passieren, dass man gerade für das eigene Problem nicht die beste, sondern die erstbeste Lösung findet. Vor allem, wenn man nicht groß Ahnung von Barrierefreiheit hat und die Qualität der Lösung nicht beurteilen kann richtet man eventuell mehr Schaden als Nutzen an. Da es viele mit dem Testen auch nicht so genau nehmen dürfte das in der Praxis häufiger vorkommen.
Hier greifen Design Patterns. Sie beschreiben die konkreten Anforderungen an eine Lösung, der Entwickler muss sich also mit dem Problem beschäftigen und kann anhand der Vorgaben evaluieren, ob seine Lösung die Anforderungen erfüllt. Ein Nachteil kann sein, dass er dafür mehr Zeit aufwenden muss als wenn er die Lösung einfach von einer Best Practice kopiert. Ich behaupte aber mal, der Lerneffekt ist bei Patterns höher als bei Best Practices.

Auf der Suche nach der Lösung

Wie schon beschrieben besteht das Kernproblem im geringen Wissen der Verantwortlichen zur Barrierefreiheit. Der Einstieg in das Thema ist recht schwierig, so dass für die schnelle Lösung zwischendurch ein hoher Bedarf besteht.
Das Problem ist nun, dass es im deutschsprachigen Web keine zentrale Anlaufstelle für Best Practice oder Patterns gibt. Sich die Lösungen über eine Suchmaschine zu suchen ist äußerst schwierig. Eine Suchmaschine kann nicht beurteilen, ob eine Lösung gut ist oder dem aktuellen Stand entspricht.
Da die deutschsprachige Diskussion zum barrierefreien Web ohnehin ins Stocken geraten ist scheint man heute ohnehin gezwungen zu sein, auf das englischsprachige Web auszuweichen. Auch hier ist mir keine zentrale Anlaufstelle bekannt. Die Techniques scheinen eine gute Basis zu sein, allerdings ist fraglich, ob man dort alle Lösungen findet.
Um den Entwicklern unter die Arme zu greifen wäre daher eine zentrale Datenbank hilfreich, die alle Lösungen sammelt bzw. verlinkt. Die Experten und andere Entwickler könnten die Lösungen oder Patterns bewerten, anpassen, ergänzen und weiter entwickeln, sofern das nötig ist.
Design Patterns for digital accessibility