In the Code: Was braucht’s für barriere­freie Software?

Barrierefreie Applikationen leisten einen Beitrag zur Integration von Menschen mit einer Behinderung und helfen zudem, Kosten zu sparen. Mit dem richtigen Vorgehen von Beginn weg erfüllen Softwareprojekte die Anforderungen an Barrierefreiheit. Das lohnt sich für alle, findet Werner Hänggi von AdNovum.
 
Gemäss Bundesamt für Statistik leben in der Schweiz rund 1,8 Millionen Menschen mit einer Behinderung, davon gelten rund 26 Prozent als stark beeinträchtigt. Selbstständig zuhause zu leben ist für diese Personen nicht möglich. Die WHO beziffert den weltweiten Anteil von Menschen mit einer Behinderung auf rund eine Milliarde. Dies umfasst Menschen mit einer körperlichen, kognitiven oder psychischen Behinderung sowie seh- oder hörbehinderte Menschen.
 
Die voranschreitende Digitalisierung kann Behinderten ungeahnte neue Möglichkeiten eröffnen, wenn Dienstleistungen, Web- sowie mobile Applikationen auch für sie zugänglich gemacht werden. Dies betrifft Dienstleistungen und Webauftritte von Bund und Kantonen, die von Gesetzes wegen barrierefrei sein müssen, aber auch Web- und mobile Applikationen privater Anbieter wie etwa Banken, Versicherungen, Krankenkassen, Fluggesellschaften und sozialen Medien – für viele Behinderte unzugänglich. Gemäss einer Accessibility-Studie von 2016 ist etwa für 20 Prozent der Schweizer Bevölkerung die Nutzung des Internets eingeschränkt, und nur einer von zwölf getesteten Online-Shops wird als hinreichend barrierefrei eingestuft – es besteht also ausreichend Handlungsbedarf.
 
Accessibility-Kompetenz
Was braucht es nun, um eine Applikation von Grund auf barrierefrei zu gestalten? Es ist unrealistisch zu erwarten, dass Projektteams sich die nötigen Accessibility-Kompetenzen innerhalb nützlicher Frist von selbst aneignen. Wesentlich zielführender ist es, ein Accessibility-Kompetenzzentrum aufzubauen, das den Projektteams bei Bedarf zur Verfügung steht. Auf diese Weise können Know-how und Skills gezielt und bedürfnisgerecht in halb- oder ganztägigen Workshops vermittelt werden. Sowohl UX-Designer als auch Frontend-Entwickler sollten mit den Web Content Accessibility Guidelines (WCAG 2.0/2.1) respektive den P028 Richtlinien des Bundes vertraut sein. Frontend-Entwickler sollten zudem den ARIA-Standard (Accessible Rich Internet Application) verstehen und sinnvoll anwenden können.
 
Eine wichtige Grundlage hierfür bildet der Accessibility Developer Guide. Auch diese Guidelines und Standards lassen sich gut in je einem Workshop erlernen. Dasselbe gilt für den Umgang mit Screenreadern, alternativen Eingabegeräten für motorisch Behinderte sowie anderen nützlichen Werkzeugen. Besitzt ein Team die notwendigen Kompetenzen, wird in der Entwicklung nicht nur Zeit und Geld gespart, sondern auch das Bewusstsein für Barrierefreiheit gefördert.
 
Softwareprojekte kosteneffizient und barrierefrei realisieren
Fehlendes Bewusstsein, Missverständnisse und mangelndes Know-how sind die Hauptursachen dafür, dass Barrierefreiheit in Softwareprojekten meist nicht berücksichtigt wird. In den überwiegenden Fällen macht dies ein vollständiges Redesign notwendig, da sich Barrierefreiheit nicht nachträglich integrieren lässt. Es entstehen Aufwände und Kosten, die vermeidbar gewesen wären.
 
Die folgenden einfachen Massnahmen helfen, Probleme zu vermeiden, vorauszuplanen und Kosten zu sparen:
 
1. Barrierefreiheit in allen Projektphasen berücksichtigen:
Barrierefreiheit ist ein Qualitätsanspruch, der von Anfang an in Softwareprojekten berücksichtigt werden sollte. Dies gestattet eine sorgfältige Planung, die Definition von Meilensteinen und damit eine Kontrolle seitens der Projektleitung. So lassen sich Probleme früh erkennen und durch gezielte Massnahmen beheben.
 
Soll etwa eine Webapplikation entwickelt werden, so können bereits früh wichtige Fragen geklärt werden wie: Welche WCAG-Konformitätsstufe soll erfüllt werden? Wird eine Zertifizierung durch Zugang für Alle angestrebt? Welche Technologien kommen zum Einsatz und inwiefern haben diese einen positiven oder negativen Einfluss auf die Barrierefreiheit und die Security? Wird ein JavaScript Framework verwendet, welches bereits Barrierefreiheit unterstützt? Die Beantwortung dieser Fragen schafft Klarheit und Handlungsspielraum.
 
2. Barrierefrei designen:
Bereits in der Designphase können Anforderungen an Barrierefreiheit berücksichtigt werden. Dazu gehören unter anderem die Beachtung von Kontrastverhältnissen und Schriftgrössen, die Grösse und Beschriftung von Buttons und Eingabefeldern, die Menüführung und die Navigation. Die unter 1. geleistete Vorarbeit ermöglicht es nun, UX Designern die nötigen Kenntnisse zu vermitteln, um den Anforderungen an Barrierefreiheit gerecht zu werden, etwa mittels eines Workshops.
 
3. Barrierefrei entwickeln:
Eine gute Designspezifikation ist die Grundlage für eine barrierefreie Implementation. Frontend-Entwickler sollten sich daher an die Designvorgaben halten. Zusätzlich werden in dieser Phase weitere Anforderungen berücksichtigt wie Bedienbarkeit der Website oder der Applikation via Tastatur, Fokusreihenfolge oder Seitenstruktur mittels Headings und Landmarks. Die unter 1. und 2. geleistete Arbeit wirkt sich auch hier positiv aus. Falls erforderlich, kann dazu noch vor Beginn der Entwicklungsarbeiten ein Workshop eingeplant werden. Bereits während der Entwicklungsphase lassen sich erste manuelle und automatisierte Accessibility-Tests durchführen. Dies hat den Vorteil, dass Probleme schnell gefunden und noch ohne grösseren Aufwand behoben werden können.
 
4. Anhand vordefinierter Use Cases Accessibility-Tests durchführen:
Es ist wichtig, ausreichend Zeit für Accessibility-Tests einzuplanen. Denn hier zeigt sich, wie gut das Projektteam gearbeitet hat. Accessibility-Tests umfassen Tests mit verschiedenen Screenreadern und allenfalls anderen Tools. Idealerweise werden hierfür von einer Behinderung betroffene Nutzer herangezogen. Bei einer E-Banking-Applikation etwa kann auf diese Weise festgestellt werden, ob eine behinderte Person in der Lage ist, sich einzuloggen und eine Zahlung zu erfassen. Für behinderte User kann es beispielsweise schwieriger sein, einzuloggen, wenn das Timeout des TAN-Code zu kurz bemessen ist, um sich diesen vorlesen zu lassen und ihn zu verstehen und einzugeben. Dies ist insbesondere bei gemischten Codes aus Zahlen und Buchstaben der Fall, oder wenn die Soundqualität eines Audiocaptcha zu schlecht ist. Genau dafür gibt es die Richtlinien wie WCAG und Tests. Und solange der Authentifizierungsprozess für alle Nutzer derselbe ist, ob behindert oder nichtbehindert, ist auch die Security für alle gleichermassen gewährleistet.
 
Wurden die Anforderungen an Accessibility berücksichtigt und bereits während der Entwicklung regelmässige Tests durchgeführt, sollten keine grösseren Barrieren mehr entdeckt werden. Kleinere Probleme lassen sich eventuell noch vor dem Go-Live oder in einem Update beheben.
 
5. Zertifizierung durch die Stiftung "Zugang für alle" (optional):
Wird eine Zertifizierung angestrebt, bestehen auf Grund der oben beschriebenen Vorarbeit gute Chancen, den Prozess erfolgreich zu durchlaufen. Eine Zertifizierung wirkt sich positiv auf das Image aus und ist daher sehr zu empfehlen.
 
Security und Privacy
Generell lässt sich festhalten, dass die Umsetzung von Anforderungen der Barrierefreiheit die Security einer Web- oder Mobile-Applikation keineswegs negativ beeinflussen muss und mittlerweile genügend Knowhow, Konzepte und Werkzeuge existieren, um barrierefreie Applikationen ebenso sicher zu gestalten und implementieren wie sie ohne Barrierefreiheit wären. Zudem lässt sich in vielen Aspekten zeigen, dass gerade erst durch barrierefreie Applikationen behinderte Benutzer in Genuss desselben Levels von Security und Privacy kommen wie andere Nutzer. Sie können damit etwa Situationen vermeiden, in denen sie auf Hilfe durch Dritte zurückgreifen müssten, und die Gefahr von Bedienfehlern (z.B. Kreditkartennummer in falsches Feld tippen) ist geringer.
 
Für alle ein Gewinn
Natürlich impliziert Barrierefreiheit für die Realisierung von Applikationen gewisse Mehraufwände. Diese entstehen durch die Accessibility-Tests und allenfalls während der Zertifizierung. Sie hängen wesentlich von der Grösse und Komplexität der betrachteten Applikation und von der in den Phasen 1 bis 3 geleisteten Vorarbeit ab, sie lassen sich also zumindest teilweise steuern.
 
Wird Barrierefreiheit von Anfang an berücksichtigt, ist es ein Leichtes, Workshops rechtzeitig einzuplanen. Auch Miniworkshops zur Lösung eines speziellen Problems helfen Zeit und Kosten zu sparen. Solche Workshops sind einmalige Investitionen: Ist das nötige Basiswissen vorhanden, wird dessen Anwendung und Erweiterung zu einem Selbstläufer. Nebenbei steigt damit auch die Awareness. Bei AdNovum etwa wurde so das Bewusstsein für Barrierefreiheit bei UX Designern, Frontend-Entwicklern, Projektleitern und Business-Analysten erheblich gefördert.
 
Das hier beschriebene Vorgehen gilt gleichermassen für die Entwicklung von Webapplikationen und mobilen Applikationen. Es führt zu einer höheren Code-Qualität und vereinfacht damit die Wartbarkeit. Schliesslich steigert es auch die allgemeine Usability. Kurz: Barrierefreiheit bringt ein besseres Erlebnis für alle Nutzer und folglich mehr zufriedene Kunden. (Werner Hänggi)
 
Über den Autor
Werner Hänggi ist seit 2002 als Senior Software Engineer beim Schweizer Software-Unternehmen AdNovum tätig, wo er seit Anfang 2018 im UX Team mitwirkt. Er ist seit Geburt stark sehbehindert, daher spielen Barrierefreiheit und Assistive Technologien in seinem Alltag eine wichtige Rolle. Werner Hänggi engagiert sich seit vielen Jahren für die Barrierefreiheit in der Software-Entwicklung und hält regelmässig Referate und Vorlesungen zum Thema Accessibility.