Warum ist barrierefreie Softwareentwicklung wichtig?

Marlems Barriere Software Checker: Barrierefreie Softwareentwicklung automatisiert überprüfen
Keine Kommentare

Barrierefreie Softwareentwicklung soll bei der Inklusion von Menschen mit Behinderungen helfen. Dank Marlems Barriere Software Checker kann nun automatisiert geprüft werden, ob eine Anwendung die wichtigen Voraussetzungen erfüllt.

Barrierefreie Softwareentwicklung bedeutet, dass Software so entwickelt wird, dass alle Menschen, auch mit Behinderungen oder anderen körperlichen Einschränkungen, diese bedienen können.

Seit Mai 2002 ist im Behindertengleichstellungsgesetz festgelegt, dass öffentliche Stellen des Bundes grafische Programmoberflächen barrierefrei gestalten müssen. Unternehmen, deren Software in öffentlichen Stellen des Bundes eingesetzt wird, müssen sich also allein schon aus rechtlichen Gründen mit barrierefreier Softwareentwicklung auseinandersetzen.

Dies kann mit folgenden Programmiersprachen umgesetzt werden:

  • Java
  • C#
  • Python

Selbstverständlich kann Barrierefreiheit auch bei Web-Anwendungen oder Cloud-Software umgesetzt werden, dieser Artikel beschränkt sich allerdings auf deren Entwicklung und Umsetzung bei Desktop-Anwendungen.

Die barrierefreie Softwareentwicklung ist ebenso ein wesentlicher Bestandteil der Beschlüsse des HARMONISED EUROPEAN STANDARD: Accessibility requirements for ICT products and services.

Es gibt zur barrierefreien Softwareentwicklung folgende Richtlinien:

Die Idee zu einer Software

Der Autor dieses Artikels beschäftigt sich schon sehr lange mit dem Gedanken, wie die barrierefreie Softwareentwicklung in Deutschland vorangetrieben werden kann. Ein Forschungsprojekt der Universität Siegen, brachte ihn auf die Idee, eine Software zu entwickeln, die Java, C# WPF und Python Qt-Dateien automatisiert auf Barrierefreiheit analysiert.

Dr. Aparecido Fabiano Pinatti de Carvalho, wissenschaftlicher Mitarbeiter am Lehrstuhl für Wirtschaftsinformatik sowie Neue Medien und Dipl.-Wirt.Inform. Sven Bittenbinder, Research Assistant, leiten den wissenschaftlichen Teil dieses Projekts der Universität. Aufgrund der aktuellen Pandemie fand dieses Projekt nicht vor Ort in Siegen statt, sondern, wie so häufig in dieser Zeit, über Video-Konferenzen.

Welche Kriterien werden von Marlems Barriere Software Checker analysiert?

Folgende Kriterien werden von der Software analysiert:

Screenreader-Tauglichkeit

Blinde Menschen nutzen eine Software, die ihnen am Computer den Bildschirminhalt vorliest, Screenreader genannt. Damit eine Programmoberfläche vorgelesen werden kann, müssen den Bedienelementen Texte hinterlegt werden, die deren Sinn und Zweck erklären. Nur wenn alle Bedienelemente einer Software solche hinterlegten Texte enthalten, können blinde Menschen mit einer Software arbeiten.

Farbkontrast

Menschen mit einer Farbfehlsichtigkeit benötigen bei Software einen guten Farbkontrast zwischen Hintergrundfarbe und Schriftfarbe. Farbenfehlsichtigkeit meint eine erbliche Anomalie der Netzhaut, von der etwa acht bis 9% der Männer und etwa 1% der Frauen betroffen sind. Menschen mit einer Farbenfehlsichtigkeit haben Probleme, einer Farbe den richtigen Namen zuzuordnen. Ebenso ist es für diese Menschen nicht immer möglich zu entscheiden, welche Farben zusammenpassen.

Deswegen ist es wichtig, dass eine Software über einen optimalen Farbkontrast zwischen Hintergrundfarbe und Schriftfarbe verfügt. Marlems Barriere Software Checker errechnet einen Farbkontrastindex: Je höher der Index ist, desto besser ist der Farbkontrast.

Beschriftungen der Bedienelementen

Die Verknüpfung von Beschriftungen mit Bedienelementen ist für blinde Menschen wichtig, die einen Screenreader benutzen. Dieser teilt dem blinden Anwender mit, welche Beschriftung zu welchem Bedienelement gehört. Softwareentwickler können dafür sorgen, dass Beschriftung von Elementen durch Tastaturkürzel erreichbar sind, sodass diese direkt angesteuert werden können. Auf diese Weise ist es möglich, dass blinde Anwender viel Zeit sparen, weil sie nicht alle Bedienelemente per Tabulatortaste „durchgehen“ müssen.

Übernahme der Betriebssystemseinstellungen

Für Menschen mit einer Sehbehinderung ist es möglich, in den Einstellungen des Betriebssystems beliebige Schriftgrößen einzustellen. Im Betriebssystem Windows 10 geht es wie folgt:  Start  > Einstellungen  > Erleichterte Bedienung > Anzeige aus. Um nur den Text auf dem Bildschirm zu vergrößern, kann der Schieberegler unter Text vergrößern angepasst werden. Um alles auf dem Bildschirm zu vergrößern, einschließlich Bilder und Apps, gibt es die entsprechende Option im Dropdown-Menü: Alles vergrößern.

Ebenso kann in Windows selbst ein hoher Kontrast aktiviert werden. Dies ist über die Schaltfläche Start > Einstellungen > erleichterte Bedienung > hoher Kontrast möglich.

Ob eine Software diese Einstellungen übernimmt und ob nach der Übernahme der Einstellungen die Software noch bedient werden kann, ist mit einem automatischen Mechanismus nicht zu überprüfen. Bei der Übernahme von großen Schriften kann es vorkommen, dass Beschriftungen die Bedienelemente überlappen und diese somit nicht mehr nutzbar sind. Ebenso kann das Verwenden eines hohen Farbkontrasts dazu führen, dass der Kontrast zwischen Hintergrundfarbe und Schriftfarbe so schlecht ist, dass die ganze Software nicht bedienbar ist. Da bei Java-Swing ein bestimmter Code vorausgesetzt wird, damit Einstellungen des Betriebssystems übernommen werden können, wird die Java-Swing-Dateien diesbezüglich analysiert.

Barrierefreie automatisiert testen: So funktioniert’s

Die Software läuft lediglich unter Windows und wurde unter Windows 10 getestet. Nach dem Öffnen der Anwendung erscheint die Eingabeaufforderung mit folgendem Text: „Wenn Sie statt eines Dateinamens das Wort Hilfe eingeben, wird die Hilfe angezeigt. Geben Sie einen Dateinamen ein“.

Wenn Sie nun zum Beispiel BitvChecker.java eingeben und die Enter-Taste drücken, fragt das Programm nach der Schriftfarbe des Programmfensters. Nachdem diese als Hex-Wert eingegeben wurde, zum Beispiel #000000, fragt das Programm nach der Hintergrundfarbe. Nach deren Eingabe als Hexwert, zum Beispiel #FFFFFF, wird die Java-Datei auf Barrierefreiheit überprüft. Wenn die Überprüfung abgeschlossen ist, öffnet sich automatisch ein Browserfenster und das Ergebnis der Überprüfung wird als HTML-Datei angezeigt. Der Programmablauf ist bei der Überprüfung einer Python- oder C#-Datei gleich.

ML Conference 2021

Efficient Transformers

Christoph Henkelmann, DIVISIO

Enhancing Page Visits by Topic Prediction

Dieter Jordens, Continuum Consulting NV

Machine Learning on Edge using TensorFlow

Håkan Silfvernagel, Miles AS

ML & Python Summit 2021

Das Testergebnis

Das Testergebnis, das wie oben erwähnt als HTML-Datei im Browserfenster angezeigt wird, ist so formuliert, dass auch Personen die keine Ahnung von Softwareentwicklung haben, wissen, wie barrierefrei die geprüfte Datei ist. Wenn eine Datei dies nicht ist, gibt es im Testergebnis einen Link zu einem entsprechenden Abschnitt in der Programm-Hilfe, in dem detailliert beschrieben, wird wie diese Art von Software barrierefrei entwickelt werden kann.

Das bedeutet, dass Marlems Barriere Software Checker nicht nur Dateien der Programmiersprachen Java, C# und Python auf Barrierefreiheit überprüft, sondern auch eine Art Lernhilfe für Softwareentwickler ist, welche die barrierefreie Softwareentwicklung umsetzen möchten. Ebenso bedeutet dies, dass Menschen, die von Softwareentwicklung keine Ahnung haben, mit Marlems Barriere Software Checker Java, C# und Python-Dateien auf Barrierefreiheit überprüfen können.

Wie analysiert Marlems Barriere Checker?

Java, C# und Python-Dateien zu unterscheiden ist dank der Datei-Erweiterungen einfach. Java Swing von JavaFX-Dateien zu unterscheiden funktioniert durch unterschiedliche Import-Anweisungen. Marlems Barriere Checker parsed Java-Dateien nach „import javax.swing“ und nach „import javafx.“.

Python-Dateien werden nach „pyqt“ geparsed. Wenn eine Python-Datei „pyqt“ als String beinhaltet, wird die Datei analysiert, sonst nicht. Die zu analysierenden Dateien werden zeilenweise von oben nach unten analysiert. Da import oder from-Anweisungen immer zu Beginn der Dateien stehen, ist diese Vorgehensweise sehr schnell.

Barrierefreiheit von Marlems Barriere Checker

Natürlich kann es auch Softwareentwickler geben, die eine Behinderung haben, weswegen Marlems Barriere Checker auch barrierefrei sein muss. Ein wichtiger Punkt bei der Barrierefreiheit ist die Überlegung, welche Personengruppe den größten Problemen gegenübersteht. Im Falle der Softwarebedienung sind dies blinde Menschen, weshalb der Einsatz von Screenreadern unerlässlich ist. Die bekanntesten heißen Jaws und NVDA. Letzterer kann im Internet kostenlos heruntergeladen werden und eignet sich hervorragend dafür, als Python-Entwickler die eigene Software auf Screenreader-Tauglichkeit zu testen.

Seit 2008 gibt es die Inklusion. Das bedeutet, dass Menschen mit und ohne Behinderung in die gleichen Kindergärten und Schulen gehen können und am Arbeitsplatz gemeinsam arbeiten. Es ist also durchaus im Sinne der Inklusion, dass blinde Menschen als Softwareentwickler arbeiten. So ist die Python-Entwicklungsumgebung Pycharm etwa für Screenreader ausgelegt und kann komplett per Tastatur bedient werden. Im Klartext: Blinde Menschen können Python-Softwareentwickler werden!

Screenreader-Tauglichkeit

Da Marlems Barriere Software Checker eine Konsolenanwendung ist, musste nichts extra programmiert werden, damit die Anwendung für Screenreader tauglich ist. Der kostenlose Screenreader NVDA hat den Inhalt des Dos-Fensters vorgelesen, ebenso wie manuelle Eingaben und die HTML-Dateien, welche die Software automatisch erstellt: Marlems Barriere Checker ist für Screenreader geeignet.

Tastaturbedienbarkeit

Um eine Computermaus bedienen zu können ist es wichtig, das der Computer-Nutzer sehen kann, wohin er den Mauszeiger bewegt. Das macht blinden Menschen die Verwendung der Maus unmöglich und sie sind darauf angewiesen, dass eine Software komplett per  Tastatur bedient werden kann. Konsolenanwendungen sind von Haus aus nur per Tastatur bedienbar. Deswegen musste bei Marlems Barriere Software Checker kein zusätzlicher Python-Code implementiert werden. Alle Kommandos werden per Tastatur eingegeben und mit Enter bestätigt.

Farbkontrast

Konsolen-Fenster haben automatisch einen barrierefreien Farbkontrast, was die Überprüfung mit der kostenlosen Software Colour Contrast Analyser ergeben hat. Das bedeutet, der Farbkontrast in Marlems Barriere Software Checker ist barrierefrei.

Große Schrift von Betriebssystemen übernehmen

Mit der Programmiersprache Python kann auf Einstellungen in Betriebssystemen nicht zugegriffen werden. Unter Windows ist es jedoch möglich, die Schriftgröße im Fenster der Eingabeaufforderung mit einer Tastenkombination anzupassen, sodass Marlems Barriere Software Checker auch von Menschen mit Sehbehinderung genutzt werden.

Barrierefreiheit der HTML-Dateien

Die HTML-Dateien, die zur Laufzeit erzeugt werden und das Ergebnis einer Analyse darstellen, sind ebenfalls barrierefrei. Die Schriftgröße wurde mit Cascading Style Sheets in Prozent angegeben, sodass sehbehinderte Menschen im Browser den Zoom benutzen können, um die Schrift vergrößert anzuzeigen. Ebenso sind die HTML-Dateien W3C-Valide. Das bedeutet, der W3C Markup Validation Service findet keine Fehler. Auch die Programm-Hilfe, bei der es sich ebenfalls um eine HTML-Datei handelt, ist W3C-Valide und barrierefrei.

 

Unsere Redaktion empfiehlt:

Relevante Beiträge

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
X
- Gib Deinen Standort ein -
- or -