Barrierefreiheit (auch: „Accessibility“ oder kurz „a11y“) ist ein zentraler Aspekt der Software-Entwicklung – und damit auch des App Development. Schließlich entwickeln wir für Menschen, und damit ist es auch immer unser Ziel, Apps unabhängig von Nutzereinschränkungen für alle User zugänglich zu machen, nicht nur weil das gesetzlich vorgeschrieben wird, sondern weil wir das für richtig halten und weil das für alle vorteilhaft ist. Aus Sicht eines Android Developers ist es dabei essenziell, die Barrierefreiheits-Features nicht nur zu verstehen, sondern auch effektiv zu implementieren. So gewährleisten wir, dass unsere Produkte von allen Nutzer*innen einfach verwendet werden können.
Es ist vorteilhaft, Barrierefreiheit von Anfang an in den Entwicklungsprozess zu integrieren und in jedem Schritt der Produktentwicklung mitzudenken. In der Realität werden viele das nachziehen müssen. Umso wichtiger wird es in so einer Situation, die Accessibility in den Prozess einzubauen. Das beginnt beim durchdachten (UX-)Designentwurf, welcher dann in der Entwicklungsphase konsequent umgesetzt werden muss. Weiterhin sollte sie bei der QA mitbedacht sein (z. B. in der „Definition of Done“ verankert und während des Testings aktiv geprüft). Hierbei ist insbesondere zu kontrollieren, ob die App auch ohne visuelle Elemente und Touchscreen bedienbar bleibt.
Einige Kernpunkte, die wir in unseren Apps berücksichtigen sollten, umfassen:
Android bietet viele Bedienungshilfen automatisch an. Es ist unsere Aufgabe, diese in unseren Produkten richtig einzusetzen. Um von den Vorteilen der Android Accessibility-Features profitieren zu können, sollte man unter anderem auf die folgenden View-Attribute im Code achten:
`android:contentDescription`
: Stellt eine Beschreibung des Elements und seines Zwecks bereit, die von TalkBack vorgelesen wird.`android:accessibilityTraversalBefore`
und `android:accessibilityTraversalAfter`
: Legen die Reihenfolge fest, in der Elemente durch Accessibility-Features bearbeitet werden.`android:accessibilityHeading`
: Kennzeichnet eine View als Überschrift für die Barrierefreiheit.`android:accessibilityLiveRegion`
: Informiert Nutzer über Änderungen in diesem Element.`android:accessibilityPaneTitle`
: Definiert eine View als Überschrift für abgegrenzte Bereiche des Bildschirms.`android:importantForAccessibility`
und `android:focusable`
: Sind essentiell für die Navigation und Interaktion mit der App durch Accessibility-Tools.Die Liste ist nicht vollständig und diese Attribute werden für die Accessibility Events benutzt. Möchte man die Accessibility Events noch selbst steuern, ist es auch möglich. Darüber hinaus bietet Android noch viel mehr. Hier kann man sich weiter informieren.
Android Studio bringt darüber hinaus einige hilfreiche Tools mit, die wir auch nutzen sollten:
`contentDescriptions`
.Es gibt zahlreiche Möglichkeiten um zu prüfen, ob die App accessible ist oder nicht. Ein guter Startpunkt ist die Nutzung entsprechender Tools:
Solche Tools sind sehr hilfreich, können aber nur beschränkt die Produkte überprüfen. So kann man zwar z. B. feststellen, dass ein Element auf dem Screen keine Content-Beschreibung hat, man kann aber nicht feststellen, ob eine vorhandene Content-Beschreibung sinnvoll ist. Daher sollten wir neben den oben genannten Tools, die die App sozusagen selbstständig testen, auch das manuelle Testing nicht vernachlässigen. Hierfür kann man die Barrierefreiheit-Services in den Einstellungen des Android-Geräts einschalten.
Die vorinstallierten Dienste hängen vom Modell des Geräts ab (s. Screenshot). Hier sind sind aber einige davon:
Wenn man mehr über Accessibility Features unter Android wissen möchte, kann man sich hier informieren. Schaltet man diese Dienste ein, so bekommt man eine ganz andere Sicht auf die Benutzung des Smartphones und der App. Man muss erst lernen, das Gerät auf diese Art und Weise zu steuern, und sich daran gewöhnen. Danach kann man tatsächlich wesentlich besser abschätzen, ob die App auch so einfach zu bedienen ist oder nicht. Aber selbst dann wird man die Erfahrung der User, die Einschränkungen in der Nutzung ihrer Smartphones haben, nicht komplett verstehen können. Umso wichtiger ist es, Menschen mit solcher Erfahrung zu fragen.
Last, but not least ist das User Feedback ein unverzichtbarer Bestandteil der Entwicklung barrierefreier Apps, insbesondere von denjenigen, die ihre Geräte nicht visuell oder über den Touchscreen bedienen. Dieses Feedback ist entscheidend für die fortlaufende Verbesserung der Accessibility unserer Produkte.
Barrierefreiheit sollte ein fundamentaler Bestandteil des Entwicklungsprozesses jeder Android-App sein. Wir verfügen über zahlreiche Tools und Ressourcen, die es uns ermöglichen, unsere Produkte inklusiver zu gestalten. Nutzen wir sie, um eine digitale Welt zu schaffen, die wirklich für alle zugänglich ist!
Accessibility betrifft den gesamten Entwicklungsprozess - und sie steht und fällt mit einem guten, barrierefreien User Experience Design. Wir beraten Sie gerne und unterstützen Sie dabei, Ihre Anwendungen für alle Menschen zugänglich zu machen.