Barrierefreie Software-Entwicklung / Barrierefreiheit mit Java

Die Programmiersprache Java, war die erste Programmiersprache die das Entwickeln von barrierefreier Software unterstützte. Die Grundlagen der barrierefreien Software-Entwicklung mit Java erfahren Sie in diesem Artikel.
Eine grafische Oberfläche von Software sollte so gestaltet sein, dass Menschen mit unterschiedlichen Einschränkungen bzw. Behinderungen sie bedienen können. Eine Software die keine Hindernisse(=Barrieren) in der Bedienung für Menschen mit Behinderungen hat, ist eine barrierefreie Software.
Spezielle Hilfsmittel (engl. assistive technology) wie Screenreader, Braille-Zeile, Bildschirmlupe oder ein Spracheingabesystem unterstützen behinderte Menschen bei der Bedienung von Software. Eine Kontrastreiche Darstellung oder das aktivieren von Bedienelementen per Tastatur können ebenfalls dazu beitragen eine Software barrierefrei zu machen. Blinde und sehbehinderte Menschen bedienen oft eine Software per Tastatur. Deswegen ist es wichtig darauf zu achten, dass eine Software auch ohne Maus bedienbar ist.
Es gibt 4 Elemente die wichtig sind für die Umsetzung von Barrierefreiheit(=Accessibility)
in Java.
JAAPI(Java Accessibility API):
Die JAAPI(Java Accessibility API) ermöglicht es durch eine Art Vereinbarung, dass Komponenten einer Java-Anwendung, Informationen von Unterstützungstechnologien (wie Screenreader-Software oder Braille-Anzeigegerät) erhalten. Die Hauptschnittstelle ist das Accessible Interface.
Alle Komponenten, die Barrierefreiheit unterstützen, müssen diese Schnittstelle benutzen.
Die meisten Swing-Komponenten (JFC), wie Jbutton und Jtextarea, benutzen das
Accessible-Interface(javax.accessibility.Accessible). Deswegen ist es ratsam Swing-
Komponenten zu verwenden, wenn man barrierefreie Software mit Java entwickeln
möchte.
Java Accessibility-Dienstprogramme:
Damit können Informationen aus einer Anwendung erfasst und für die Anzeige mit
Spezialgeräten weiterverarbeitet werden. Mit ihnen können Unterstützungstechnologien
komponentenspezifische Ereignisse überwachen und zusätzliche Informationen über das
GUI(=Programmoberfläche) erhalten, zum Beispiel die momentane Mausposition oder,
welches Fenster gerade aktiv ist.
Java Access Bridge (JAB):
Die Java Access Bridge ist eine Brücke zwischen Java und der integrierten
Unterstützungstechnologien von Microsoft Windows. Sie wird gebraucht, damit Java-
Anwendungen für Microsoft Windows barrierefrei entwickelt werden können. Sie wurde in
J2SE 1.3 eingeführt.
Java Foundation Classes (JFC):
Dies ist eine Bibliothek von Komponenten der graphischen Benutzeroberfläche, in welche
JAAPI vollständig implementiert ist.
Folgende zwei Eigenschaften von Swing-Komponenten sind für die barrierefreie Software-Entwicklung wichtig:
AccessibleName:
Ist ein Kurzname der Komponente, der über deren Verwendung was sagen soll.
Der AccessibleName wird von Screenreadern vorgelesen, wenn die Komponente den
Fokus erhält, sprich aktiviert wird.
AccessibleDescription:
Wenn die Bedeutung einer Komponente von Ihrem Namen abgeleitet werden kann,
braucht man diese Eigenschaft nicht zu setzen. Ist bei einer Komponente die Tooltips
gesetzt sind, bekommt die Eigenschaft AccessibleDescription den Inhalt vom Tooltip.
Ansonsten muss diese Eigenschaft explizit gesetzt werden. Die Eigenschaft kann genutzt
werden um ausführlichere Informationen bereit zu stellen z. B. für eine Screenreader-
Software.
LabelFor:
Manche Komponenten benötigen eine Beschriftung. Zum Beispiel Eingabefelder.
Mit Labelfor kann ein Eingabefeld mit seiner Beschriftung verbunden werden.
Ist die Beschriftung durch ein Tastenkürzel(=Shortcut) ansteuerbar, wird das dazugehörige
Eingabefeld aktiviert. Dies ist deshalb wichtig, weil blinde und sehbehinderte Menschen oft
mit Tastatur arbeiten und nicht mit der Maus.
Die Firma Sun hat auf Ihrer Webseite Richtlinien veröffentlicht zur Entwicklung von barrierefreier Software. Diese werde ich aber in einem eigenen Artikel besprechen.
Dieser Artikel soll nur die Grundlagen der barrierefreien Software-Entwicklung mit der Programmiersprache Java zeigen.

Die Programmiersprache Java, war die erste Programmiersprache die das Entwickeln von barrierefreier Software unterstützte. Die Grundlagen der barrierefreien Software-Entwicklung mit Java erfahren Sie in diesem Artikel.

Wenn Sie Barrierefreie Software-Entwicklung mit JavaFX umsetzen möchten dann lesen Sie folgenden Artikel:

Wenn Sie lieber Video schauen wie lesen, dann schauen Sie in folgendem Video an wie Barrierefreie Softwareentwicklung mit Java Swing funktioniert:

Eine grafische Oberfläche von Software sollte so gestaltet sein, dass Menschen mit unterschiedlichen Einschränkungen bzw. Behinderungen sie bedienen können. Eine Software die keine Hindernisse(=Barrieren) in der Bedienung für Menschen mit Behinderungen hat, ist eine barrierefreie Software.

Spezielle Hilfsmittel (engl. assistive technology) wie Screenreader, Braille-Zeile, Bildschirmlupe oder ein Spracheingabesystem unterstützen behinderte Menschen bei der Bedienung von Software. Eine Kontrastreiche Darstellung oder das aktivieren von Bedienelementen per Tastatur können ebenfalls dazu beitragen eine Software barrierefrei zu machen. Blinde und sehbehinderte Menschen bedienen oft eine Software per Tastatur. Deswegen ist es wichtig darauf zu achten, dass eine Software auch ohne Maus bedienbar ist.

Es gibt 4 Elemente die wichtig sind für die Umsetzung von Barrierefreiheit(=Accessibility) in Java.

JAAPI(Java Accessibility API)

Die JAAPI(Java Accessibility API) ermöglicht es durch eine Art Vereinbarung, dass Komponenten einer Java-Anwendung, Informationen von Unterstützungstechnologien (wie Screenreader-Software oder Braille-Anzeigegerät) erhalten. Die Hauptschnittstelle ist das Accessible Interface.

Alle Komponenten, die Barrierefreiheit unterstützen, müssen diese Schnittstelle benutzen. Die meisten Swing-Komponenten (JFC), wie Jbutton und Jtextarea, benutzen das Accessible-Interface(javax.accessibility.Accessible). Deswegen ist es ratsam Swing-Komponenten zu verwenden, wenn man barrierefreie Software mit Java entwickeln möchte.

Java Accessibility-Dienstprogramme

Damit können Informationen aus einer Anwendung erfasst und für die Anzeige mit Spezialgeräten weiterverarbeitet werden. Mit ihnen können Unterstützungstechnologien komponentenspezifische Ereignisse überwachen und zusätzliche Informationen über das GUI(=Programmoberfläche) erhalten, zum Beispiel die momentane Mausposition oder, welches Fenster gerade aktiv ist.

Java Access Bridge (JAB)

Die Java Access Bridge ist eine Brücke zwischen Java und der integrierten Unterstützungstechnologien von Microsoft Windows. Sie wird gebraucht, damit Java-Anwendungen für Microsoft Windows barrierefrei entwickelt werden können. Sie wurde in J2SE 1.3 eingeführt.

Java Foundation Classes (JFC)

Dies ist eine Bibliothek von Komponenten der graphischen Benutzeroberfläche, in welche JAAPI vollständig implementiert ist.

Folgende zwei Eigenschaften von Swing-Komponenten sind für die barrierefreie Software-Entwicklung wichtig:

AccessibleName:

Ist ein Kurzname der Komponente, der über deren Verwendung was sagen soll. Der AccessibleName wird von Screenreadern vorgelesen, wenn die Komponente den Fokus erhält, sprich aktiviert wird.

AccessibleDescription:

Wenn die Bedeutung einer Komponente von Ihrem Namen abgeleitet werden kann,braucht man diese Eigenschaft nicht zu setzen. Ist bei einer Komponente die Tooltips gesetzt sind, bekommt die Eigenschaft AccessibleDescription den Inhalt vom Tooltip. Ansonsten muss diese Eigenschaft explizit gesetzt werden. Die Eigenschaft kann genutzt werden um ausführlichere Informationen bereit zu stellen z. B. für eine Screenreader-Software.

LabelFor:

Manche Komponenten benötigen eine Beschriftung. Zum Beispiel Eingabefelder.Mit Labelfor kann ein Eingabefeld mit seiner Beschriftung verbunden werden.Ist die Beschriftung durch ein Tastenkürzel(=Shortcut) ansteuerbar, wird das dazugehörige Eingabefeld aktiviert. Dies ist deshalb wichtig, weil blinde und sehbehinderte Menschen oft mit Tastatur arbeiten und nicht mit der Maus.

Die Firma Sun hat auf Ihrer Webseite Richtlinien veröffentlicht zur Entwicklung von barrierefreier Software. Diese werde ich aber in einem eigenen Artikel besprechen.

Dieser Artikel soll nur die Grundlagen der barrierefreien Software-Entwicklung mit der Programmiersprache Java zeigen.


Weitere Artikel zu barrierefreie Softwareentwicklung

Barrierefreiheit mit Java 8
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

Autor: Markus Lemcke

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

Ein Gedanke zu „Barrierefreie Software-Entwicklung / Barrierefreiheit mit Java“

Schreibe einen Kommentar