Barrierefreie Softwareentwicklung automatisiert überprüfen / testen mit Marlems Barriere Software Checker

In diesem Artikel wird meine neue selbst entwickelte Software Marlems Barriere Software Checker vorgestellt.

Forschungsprojekt der Universität Siegen gab den Anstoß für neue Software

Über die Suchmaschine erfuhr von einem Projekt der Universität Siegen, bei dem es um Sensibilisierung und barrierefreie Softwareentwicklung in der Praxis geht. Dr. Aparecido Fabiano Pinatti de Carvalho, wissenschaftlicher Mitarbeiter am Lehrstuhl für Wirtschaftsinformatik und Neue Medien und Dipl.-Wirt.Inform. Sven Bittenbinder, Research assistant in the project iDESkmu leiten den wissenschaftlichen Teil dieses Projekts. Die Projektleitung hat der BSVH. Wegen Corona, fand dieses Projekt nicht vor Ort in Siegen statt, sondern über eine Software für Video-Konferenzen.
Deswegen konnte ich von Dußlingen(Baden-Württemberg) aus bei einem Forschungsprojekt in Siegen mit machen.

Was ist barrierefreie Softwareentwicklung?

Barrierefreie Softwareentwicklung bedeutet, dass eine Software so entwickelt wird, dass alle Menschen, auch Menschen mit einer körperlichen Einschränkung diese Software Bedienen können.
Mit welchen Programmiersprachen ist barrierefreie Softwareentwicklung möglich?
Damit mit einer Programmiersprache barrierefreie Software entwickelt werden kann, muss eine wichtige Voraussetzung erfüllt sein. Die Programmoberfläche muss screenreadertauglich sein. Was bedeutet das? Blinde und auch einige sehbehinderte Menschen benötigen einen Screenreader. Ein Screenreader ist eine Software, die den Bildschirminhalt vorliest. Damit ein Screenreader eine Programmoberfläche vorlesen kann, müssen in der Programmoberfläche Texte hinterlegt sein, die der Screenreader vorliest.
Diese Texte hinterlegen in der Programmoberfläche funktioniert nur bei folgenden Programmiersprachen bzw. GUI-Frameworks:

  • Java Swing
  • JavaFX
  • Dotnet Winform
  • Dotnet WPF
  • Python Qt / Konsolenanwendungen
  • C++ Qt / Konsolenanwendungen

Um eine eindeutige Antwort auf die Frage in der Überschrift zu geben:
Mit Java, C# und Python kann barrierefreie Softwareentwicklung umgesetzt werden.

Barrierefreie Softwareentwicklung – Welche Kriterien müssen erfüllt sein?

Damit eine Software barrierefrei ist, müssen folgende Kriterien erfüllt sein:

  • Screenreadertauglichkeit
  • Tastaturbedienbarkeit
  • Sichtbarkeit des Tastaturfokus
  • Farbkontrast
  • Übernahme von Betriebssystemeinstellungen

Wie entstand die Idee für Marlems Barriere Software Checker?

Aus den Gesprächen der Treffen als Video-Konferenz ist bei mir im Kopf folgende Idee entstanden:
Eine Software entwickeln die automatisiert bestimmte Kriterien der barrierefreien Softwareentwicklung an Dateien von Programmiersprachen überprüft.

Folgende Programmiersprachdateien soll die Software überprüfen können:

  • Java Swing
  • JavaFX
  • C# WPF
  • Python Qt

Das Wichtigste an der Idee war, dass die Software am liebsten alles automatisiert analysieren. Die Usability, zu deutsch, die Benutzerfreundlichkeit der Software war mir sehr wichtig. Die Software soll Softwareentwickler dazu motivieren sich mit barrierefreier Softwareentwicklung auseinander zu setzen.

Marlems Barriere Software Checker als Konsolenanwendung und ein Analysebericht in HTML
Auf dem Bild sehen Sie Marlems Barriere Software Checker als Konsolenanwendung und ein Analysebericht in HTML

Barrierefreie Softwareentwicklung automatisiert testen, so funktioniert es

Wenn Sie die „MarlemsBarriereSoftwareChecker.exe“ als Verknüpfung auf dem Desktop haben und dort einen Doppelklick darauf machen.

Nach dem Öffnen der Anwendung erscheint 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 Sie diese als Hex-Wert eingegeben, zum Beispiel #000000, haben und die Taste Enter gedrückt haben, werden Sie nach der Hintergrundfarbe gefragt. Nach Eingabe der Hintergrundfarbe als Hexwert, zum Beispiel #FFFFFF, und bestätigen der Enter-Taste, 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 C# oder Python-Datei auf Barrierefreiheit genauso.
Dieses Video zeigt wie Marlems Barriere Software Checker die barrierefreie Softwareentwicklung unterstützt

Das Testergebnis

Das Testergebnis ist so formuliert, dass auch Personen die keine Ahnung von Softwareentwicklung haben, wissen wie Barrierefrei die geprüfte Datei ist.
Wenn eine Datei nicht barrierefrei 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 ist für Softwareentwickler die barrierefreie Softwareentwicklung umsetzen möchten.

Ein Testergebnis kann wie folgt lauten:

Diese Kriterien wurden analysiert

Folgende Javadatei wurde analysiert: MainjfxNB.java
Ist die Javadatei mit Swing oder JavaFX entwickelt: JavaFX
Ist die Javadatei screenreadertauglich: Nein
Farbkontrast als Index: 4.70
Beschriftungen sind mit Bedienelementen verknüpft: Nein
Einstellungen des Betriebssystems werden von der Software übernommen: Nein

Ergebnis der Analyse:

Sie müssen bei Bedienelementen die Eigenschaft setAccessibleRoleDescription setzen. Blinde Menschen können mit dieser Software NICHT arbeiten!
Der Farbkontrast zwischen Hintergrundfarbe und Schriftfarbe muß größer sein! Menschen mit einer Farbfehlsichtigkeit können mit dieser Software NICHT arbeiten
Labels sind nicht mit Bedienelementen verknüpft! Für blinde und sehbehinderte Menschen ist das eine BARRIERE!

Einstellungen des Betriebssystems wie Schriftgröße und hoher Farbkontrast des Betriebssystems werden nicht übernommen!Menschen mit einer Sehbehinderung oder einer Farbfehlsichtigkeit können mit dieser Software nicht arbeiten!

Die Programm-Hilfe

Die Software hat eine Programm-Hilfe in HTML-Format. In der Hilfe wird die Bedienung der Software detailliert beschrieben. Außerdem gibt es folgende Hilfe-Abschnitte:

  • Eine Java-Anwendung barrierefrei machen
  • Eine CSharp-Anwendung barrierefrei machen
  • Eine Python-Anwendung barrierefrei machen

In diesen Abschnitten werden die Grundzüge der barrierefreien Softwareentwicklung in der jeweiligen Programmiersprache erklärt.

Marlems Barriere Software Checker – Download

Marlems Barriere Software Checker kann auf meiner Downloadseite kostenlos heruntergeladen werden:
barrierefreie Softwareentwicklung mit Python: Marlems Barriere Software Checker

Schlussbemerkung

Lieber Softwareentwickler,
ich wünsche mir, dass meine Software Marlems Barriere Software Checker, Sie dazu motiviert, barrierefreie Software zu entwickeln.
Wenn Sie fragen zu obige Themen haben Schreiben Sie mir eine Mail an info@marlem-software.de oder rufen Sie mich an unter 07072/1278463 .

Autor: Markus Lemcke

Ich bin Markus Lemcke, Softwareentwickler, Webentwickler, Berater und Dozent für barrierefreies Webdesign, barrierefreie Softwareentwicklung mit Java + C#, Barrierefreiheit bei den Betriebssystemen Windows, Android, IOS und Ubuntu.

Schreibe einen Kommentar