Barrierefreie Softwareentwicklung mit Java

In diesem Blogartikel möchte ich erklären, wie mit der Programmiersprache Java Software entwickelt werden kann, die von Menschen mit unterschiedlichen körperlichen Einschränkungen / Behinderungen bedient werden können. Es geht also um barrierefreie Software-Entwicklung mit der Programmiersprache Java! 

Warum gibt es barrierefreie Software-Entwicklung?

Seit dem 1. Mai 2002 gibt es ein Gleichstellungsgesetz für behinderte Menschen. In diesem Gesetz werden staatliche Einrichtungen dazu verpflichtet ihrer Webseiten in bariererefreies Webdesign zu entwickeln und Ihre Programme mit barrierefreie Softwareentwicklung. Barrierefreiheit (im englischen Accessibility) wurde für Anwendungen von Staatlichen Einrichtungen gesetzlich vorgeschrieben. Gewerbetreibende sollten Barrierefreiheit bei Webseiten und Anwendungen umsetzen, müssen es aber nicht.
Dieses Gesetz legte den Grundstein zu barrierefreie Softwareentwicklung mit Java.

Lohnt sich Barrierefreie Softwareentwicklung / Barrierefreie Software-Entwicklung mit Java?

In Deutschland leben ca. 10 Millionen Menschen mit Behinderung. Das sind 10% der Gesamtbevölkerung von Deutschland. Außerdem profitieren auch Menschen im fortgeschrittenen Alter von Accessibility bei Anwendungen. barrierefreie Software-Entwicklung lohnt sich also auf jeden Fall!

Für welche Personengruppe ist Barrierefreie Software-Entwicklung mit Java besonders wichtig?

Wie oben schon erwähnt geht es bei barrierefreie Software-Entwicklung hauptsächlich um Menschen mit Behinderung. Allerdings profitieren auch ältere Menschen wenn Barrierefreiheit / Accessibility bei Programme umgesetzt wurde. Ganz besonders möchte ich aber in diesem Abschnitt auf Blinde hinweisen. Sie müssen sich alles auf dem Bildschirm vorlesen lassen von einer Software die Screenreader heißt. Damit dieser Screenreader die Oberflächen von Programme lesen kann, muss diese bestimmte Informationen bereit stellen. Blinde können also ohne barrierefreie Software gar nicht am Computer arbeiten.

Warum ist Java eine gute Programmiersprache für die Barrierefreie Softwareentwicklung / Barrierefreie Software-Entwicklung?

Java hat eine Programmierschnittstelle mit Namen Swing. Swing-Komponenten haben die Eigenschaft AccessibleName und AccessibleDescription . Diesen beiden Eigenschaften können Texte zugewiesen werden, welche dann vom Screenreader vorgelesen werden. Deswegen ist Java eine gute Wahl, wenn es um Barrierefreiheit bei Software geht.

Gibt es Richtlinien für die barrierefreie Softwareentwicklung mit Java?

Damit Sie wissen, welche Kriterien ihre Anwendungen erfüllen müssen damit die Barrierefreiheit gewährleistet ist, gibt es Richtlinien von Oracle und IBM für die Programmiersprache Java:

Richtlinien barrierefreie Software-Entwicklung für Java von Oracle
Richtlinien zur barrierefreie Software-Entwicklung für Java von IBM
Microsoft hat auch Richtlinien für barrierefreie Software-Entwicklung, aber diese kann ich für Java nicht empfehlen! Wenn Sie Barrierefreiheit mit Java umsetzen möchten, sollten Sie einer der beiden Richtlinien verwenden.

Barrierefreie Oberflächen entwickeln mit Swing

Das Bild zeigt eine barrierefreie Java-Software entwickelt mit Swing in welcher der Tastaturfokus gut sichtbar ist

Das Bild zeigt eine barrierefreie Java-Software entwickelt mit der Java-Schnittstelle Swing in welcher der Tastaturfokus gut sichtbar ist.

Damit Sie sehen wie den Komponenten Texte für Blinde zugewiesen werden, hier ein kurzes Beispiel:

Beispielcode – Barrierefreiheit mit Java Swing

tfWebadresse.getAccessibleContext().setAccessibleDescription(
"Webadresse eingeben mit http://");
btnWebAnalyse.getAccessibleContext().setAccessibleName(
"Schalter zum Starten der Analyse auf Barrierefreiheit");

Dieses Codebeispiel zeigt einen Teil von barrierefreie Software-Entwicklung mit Java. Barrierefreiheit bei Programmoberflächen können mit den Swing-Komponenten von Java sehr gut entwickelt werden.

So sieht es aus wenn Sie mit dem Programmiereditor Eclipse barrierefrei mit Swing-Komponenten entwickeln:

Das Bild zeigt Java-Code der zeigt wie eine Swing-Programmoberfläche für Screenreader zugänglich gemacht werden kann

Das Bild zeigt Java-Code der zeigt wie eine Swing-Programmoberfläche für Screenreader zugänglich gemacht werden kann

Hier kommt noch ein Video zur barrierefreie Softwareentwicklung mit Java – Swing:

Was ist die Java Access Bridge?

Die Java Access Bridge, schafft die Verbindung zwischen der Java Software und dem Screenreader. Eine genaue Erklärung finden Sie in diesem Blogartikel: Warum ist die Java Access Bridge zur barrierefreien Software-Entwicklung mit Java wichtig?   Wie Sie die Java Access Bridge installieren können Sie im folgenden Blogartikel lesen: Wie installiere ich die Java Access Bridge? Die Java Access Bridge ist ein wichtiger Bestandteil der barrierefreie Software-Entwicklung mit Java!

Plattformunabhängige, barrierefreie Softwareentwicklung mit Java Swing

Ich habe einen Blogartikel geschrieben in dem ich erkläre wie barrierefreie Software mit Java Swing entwickelt wird, die auf allen Betriebssystemen einsetzbar ist:

Barrierefreiheit mit JavaFX

JavaFX ist ein Framework zur Erstellung von Java-Software die auf allen Betriebssystemen laufen(plattformunanhängig sind).

Wie Sie barrierefreie Softwareentwicklung mit JavaFX umsetzen finden Sie hier:

Testen von barrierefreie Software-Entwicklung

Damit Sie sicher sein können, dass Menschen mit Behinderungen ihrer Software bedienen können, muss diese getestet werden.
Grundsätzlich ist es nicht vollständig möglich, Barrierefreiheit mit Tools zu überprüfen.
Barrierefreie Softwareentwicklung kann nicht vollständig automatisiert getestet werden!
Ich empfehle einen Test von Hand aufgrund der Richtlinien für Barrierefreiheit bei der Softwareentwicklung mit Java.

Mit meiner in Python entwickelten Software Marlems Barriere Software Checker können Java Swing und JavaFX-Dateien auf Barrierefreiheit automatisiert getestet werden. Selbstverständlich ist auch meine Software nicht perfekt! Hier können Sie das Programm herunterladen:

Beratung in Sachen Barrierefreie Softwareentwicklung mit Java

Wen Sie Fragen zu Barrierefreiheit / Accessibility / barrierefreie Software-Entwicklung mit Java haben, schreiben Sie mir eine Mail an info@marlem-software.de oder rufen Sie mich an unter 07072/1278463 . Barrierefreie Software sollte meiner Meinung nach zum Standard erklärt werden. Java eignet sich hierfür sehr gut! Ich berate Sie gerne!!!


Weitere Artikel zu barrierefreie Softwareentwicklung:
Barrierefreiheit mit Java 8
Barrierefreiheit: barrierefreie Softwareentwicklung mit JavaFX
Barrierefreie Software – Was ist das?
Barrierefreie Softwareentwicklung / Barrierefreie Software-Entwicklung – Was ist das?
Warum ist barrierefreie Softwareentwicklung für Software-Unternehmen wichtig?
Barrierefreie Softwareentwicklung: Artikelreihe
Warum ist die Java Access Bridge zur barrierefreien Software-Entwicklung mit Java wichtig?

 

Schulung zur Barrierefreiheit / Accessibility bei Software entwickelt mit der Programmiersprache Java

Am 28. Juni 2012 war ich bei der AKDB in München. Dort gab ich eine Schulung in der es darum ging, wie bei einer Software, entwickelt mit der Programmiersprache Java, die Barrierefreiheit umgesetzt werden kann.

In der Schulung wurden die Probleme von Menschen mit Behinderungen bei der Bedienung von Software dargestellt. Anschließend wurden die Richtlinien von Sun/Oracle zur barrierefreien Software-Entwicklung besprochen. Danach habe ich praktische Tipps geben wie diese Richtlinien umgesetzt werden können.
Zum Schluss habe ich aufgezeigt wie eine Software entwickelt mit der Programmiersprache Java auf Barrierefreiheit / Accessibility getestet werden kann.
Wenn Sie auch eine Java-Software haben die Sie gerne barrierefrei gestalten möchten, um Sie zum Beispiel an Behörden verkaufen zu können, dann rufen Sie mich an:
Tel: 07121/504458
Ich gebe sehr gerne bei Ihnen im Haus eine Schulung zur barrierefreien Software-Entwicklung mit Java.

Entwicklungsumgebungen für die Software-Entwicklung sollten Modus für Barrierefreiheit haben

Mit dem heutigen Artikel möchte ich versuchen etwas anzuregen. Damit es die Software-Entwickler bei der Entwicklung von barrierefreier Software leichter haben, sollten Entwicklungsumgebungen einen Modus haben, der während der Arbeit Überprüft ob die Software barrierefrei ist.

Um das Thema barrierefreie Software-Entwicklung einer breiteren Öffentlichkeit zugänglich zu machen, gab es letztes Jahr eine ganze Blogartikelreihe zur barrierefreien Software-Entwicklung. Durch ein Gespräch in der letzten Woche bin ich auf die Idee gebracht worden, dass es für die Software-Entwickler eine große Erleichterung ist, wenn die Entwicklungsumgebung eine Möglichkeit hätte die Barrierefreiheit während der Entwicklung zu überprüfen. Eine Entwicklungsumgebung ist eine Software mit dessen Hilfe Programmierbefehle eingegeben werden um eine neue Software zu erstellen. Jede Programmiersprache hat Ihre eigene Entwicklungsumgebung.
Ich könnte mir das folgender Maßen vorstellen:
Zunächst mal wäre es sinnvoll, dass die Hersteller von Entwicklungsumgebungen die Richtlinien für barrierefreie Software-Entwicklung veröffentlichen. Es gibt Richtlinien von Sun / Oracle und Microsoft. IBM hat auch Richtlinien für barrierefreie Software-Entwicklung, stellt aber keine Entwicklungsumgebung her.
Als zweites möchte ich die Idee von meinem Besuch aufgreifen. Es lassen sich mit Sicherheit nicht alle Kriterien der Barrierefreiheit per Software überprüfen, aber einige schon. Hierfür könnte es einen bestimmten „Modus“ geben oder dass ein bestimmter Haken gesetzt werden muss innerhalb der Entwicklungsumgebung. Die Entwicklungsumgebung überprüft nur dann auf Barrierefreiheit, wenn dieser Modus aktiviert ist.
Für Java könnte zum Beispiel überprüft werden ob für die Programmoberfläche Swing-Komponenten verwendet wurden, weil nur diese eine Möglichkeit besitzen Screenreader mit Informationen für blinde und sehbehinderte Menschen zu versorgen.

Hier sind wir bei dem zweiten Kriterium. Wenn eine Software für blinde und sehbehinderte Menschen bedienbar sein soll, dass müssen die Komponenten für die Programmoberfläche Informationen für Screenreader bereitstellen. Dies geschieht über bestimmte Eigenschaften der Komponenten. Die Entwicklungsumgebung könnte hier überprüfen ob diese Eigenschaften Texte enthalten oder ob diese Eigenschaften leer sind.

Ein weiteres wichtiges Kriterium ist die Bedienbarkeit per Tastatur. Blinde und Sehbehinderte arbeiten nicht mit der Maus, sondern mit der Tastatur. Deswegen gehört es zu einer barrierefreien Software dazu, dass eine Software komplett per Tastatur bedienbar ist. Hier könnte die Entwicklungsumgebung überprüfen ob Menüs auch über Tastenkürzel erreichbar sind, ob Java-Entwickler mittels Labelfor Beschriftungen von Eingabefeldern per Tastenkürzel erreichbar sind und vieles mehr!
Wenn der Modus zur Überprüfung auf Barrierefreiheit aktiv ist und es ist ein Kriterium nicht erfüllt, sollte der Compiler eine Fehlermeldung anzeigen, und die Compilierung, so heißt der Vorgang wenn aus Befehle Maschinencode generiert wird, bricht ab! Somit wären die Software-Entwickler gezwungen sich um die fehlende Barrierefreiheit zu kümmern!

Ich möchte mit diesem Artikel nur Anregungen geben und würde mich freuen, wenn Hersteller von Entwicklungsumgebungen mit mir Kontakt aufnehmen würden um diese Idee in die Tat umzusetzen.

Accessibility: Richtlinien zur barrierefreier Software-Entwicklung mit .net bzw. C#

In diesem Blogartikel möchte ich die Richtlinien von Microsoft für .net bzw. C# zur barrierefreier Software-Entwicklung besprechen. Wenn eine Software barrierefrei ist, dann ist Sie für Menschen mit Behinderung verwendbar.

Im ArtikelWas ist eine barrierefreie Software“ habe ich erklärt welche Kriterien erfüllt werden müssen, damit eine Software barrierefrei ist. Microsoft hat in ihrer Dokumentation, die MSDN, Richtlinien veröffentlicht wie eine Standardsoftware barrierefrei bzw. behindertengerecht gemacht werden kann. Ich werde hier die Richtlinien wiedergeben und erklären.


Punkt 1: Unterstützung der Systemsteuerungseinstellungen für Größe, Farbe, Schriftart und Eingabe

Unterstützung der Systemsteuerungseinstellungen für Größe, Farbe, Schriftart und Eingabe. Wenn die Benutzer die Einstellungen der Systemsteuerung ändern, wird die Größe der Menüleiste, der Titelleiste, der Ränder und der Statusleiste automatisch geändert. In dieser Anwendung müssen keine weiteren Änderungen an den Steuerelementen oder dem Code vorgenommen werden

Erklärung:
Microsoft hat in jedem Windows, wie oben erwähnt, in der Systemsteuerung einige Einstellungsmöglichkeiten die Menschen mit Behinderung zu gute kommen. Deswegen ist es unabdingbar, dass eine entwickelte Software diese Einstellungen übernimmt und nicht ignoriert. Es wäre zum Beispiel kontraproduktiv, wenn ein Mensch mit einer Sehbehinderung sich in der Systemsteuerung große Schriftarten einstellt und in der Software erscheinen alle Zeichen in der Schriftgröße 10.


Punkt 2: Unterstützung des Kontrastmodus

Erklärung:
In der Eingabehilfe, die man in der Systemsteuerung findet, gibt es einen Reiter „Anzeige“. Hier findet man ein Kontrollkästchen mit der Beschriftung „Kontrast aktivieren“. Klickt man es an und aktiviert rechts unten den Schalter „Übernehmen“ wird der Kontrastmodus aktiviert. Die Aktivierung dauert ein bisschen. Nach und nach wird der Hintergrund Pech schwarz und überall erscheint eine weiße Schrift.Dieser Kontrastmodus darf durch eine Software nicht verändert oder verhindert werden.


Punkt 3: Bereitstellen eines dokumentierten Tastaturzugriffs auf alle Features

Erklärung:
Wie oben schon erwähnt, benutzen Menschen die blind oder sehbehindert sind, eher die Tastatur wie die Maus. Deswegen sollten alle Programmfunktionen auch über Tastatur erreichbar sein und die entsprechenden Tastenkürzel sollten in der Programmhilfe dokumentiert sein.


Punkt 4: Visuelle und programmgesteuerte Anzeige der Position des Tastaturfokus

Erklärung:
Für Menschen die hauptsächlich oder ausschließlich mit der Tastatur arbeiten ist es wichtig, schnell zu erkennen wo der Tastaturfokus ist. Aus diesem Grund muss der Tastaturfokus visuell angezeigt und erkennbar sein.


Punkt 5: Vermeiden der Übermittlung wichtiger Informationen allein per Audioausgabe

Erklärung:
Im Artikel weiter oben wurde es erwähnt, dass es Menschen gibt die gehörlos sind. Wenn wichtige Informationen nur per Audioausgabe zur Verfügung stehen, bekommen gehörlose Menschen die Informationen nicht mit. Deswegen sollten Informationen die per Audioausgabe zur Verfügung stehen auch in visueller Form angeboten werden. Ein Mail-Programm, welches dem Anwender nur über Sprache mitteilt, dass er neue Mails hat, wäre für gehörlose Menschen unbrauchbar.

Wenn diese 5 Punkte bei einer Standardsoftware erfüllt sind ist, laut Microsoft, eine Software barrierefrei.