Barrierefreie Softwareentwicklung mit Java: Vortrag auf dem Accessibility Day der Hochschule der Medien in Stuttgart

Am 19. Juni 2015 war in der Hochschule der Medien wieder mal ein Accessibility Day. Organisiert wurde dieser Accessibility Day von Prof. Dr. Gottfried Zimmermann.

Referenten waren Matthias Knigge von Grauwert, Ulrich Kreichgauer von SAP, Andreas Stiegler von der Hochschule der Medien und ich.

Zuhörer waren Studenten der Hochschule der Medien.

Mein Vortrag über barrierefreie Softwareentwicklung mit Java können Sie hier anschauen:

Markus Lemcke von Marlem-Software beim Vortrag am Accessibility Day

Zum Video anschauen bitte auf das Bild klicken.

Vielen Dank an Prof. Dr. Gottfried Zimmermann für die Einladung auf den Accessibility Day und die Genehmigung das Video auf dem Blog zu veröffentlichen.

Barrierefreiheit mit Dotnet: Barrierefreie Softwareentwicklung mit Microsoft .net 4.5 für Windows-Anwendungen

In diesem Blogartikel möchte ich erklären, wie Sie mit dem Mircosoft .net Framework 4.5 und 4.6 barrierefreie Softwareentwicklung für Windows-Anwendungen verwirklichen können.

Was ist Microsoft Dotnet 4.5 / .net 4.5

.NET ist eine von Microsoft entwickelte Software-Plattform zur Entwicklung und Ausführung von Anwendungsprogrammen(=Software). Dotnet besteht aus einer Laufzeitumgebung (Common Language Runtime), in der die Programme ausgeführt werden. Ebenfalls in .NET ist eine Sammlung von Klassenbibliotheken, Programmierschnittstellen und Dienstprogrammen die auch Services genannt werden.

Für alle diejenigen die lieber Video schauen statt zu lesen, gibt es hier ein Video:

Was ist barrierefreie Softwareentwicklung?

Software die für Menschen mit unterschiedlichen körperlichen Einschränkungen(=Behinderungen) bedienbar ist, wird barrierefreie Software genannt. Die Entstehungsprozess von barrierefreier Software nennt sich barrierefreie Softwareentwicklung.
Durch barrierefreie Softwareentwicklung entsteht eine Software die für Menschen mit unterschiedlichen Behinderungen gut zu bedienen ist.

Warum ist barrierefreie Softwareentwicklung wichtig?

In Deutschland leben über 10 Millionen Menschen mit Behinderung . Viele von diesen behinderten Menschen sind potentielle Anwender von Software und somit auf Barrierefreiheit angewiesen.
Auf einer deutschsprachigen Microsoft Webseite ist folgendes zu lesen:
Diese exemplarische Vorgehensweise beschäftigt sich mit den fünf Anforderungen an Barrierefreiheit, die Anwendungen erfüllen müssen, um das „Certified for Windows“-Logo zu erhalten.
Quelle: Exemplarische Vorgehensweise: Erstellen von behindertengerechten Windows-basierten Anwendungen
Das ist doch eine coole Aussage liebe deutsche Microsoft Dotnet-Entwickler! Wenn Ihre Software „Certified for Windows“ sein soll, MUSS sie barrierefrei sein! Ja, Barrierefreiheit als Qualitätsmerkmal! Davon habe ich schon lange nachts geträumt! Danke Microsoft!

Wer mit dem Thema so gar nichts anfangen kann sollte meinen Blogartikel über
Barrierefreie Softwareenwicklung lesen.

Anforderungen von Microsoft an eine Barrierefreie Software

In diesem Abschnitt möchte ich die Anforderungen an eine barrierefreie Software wiedergeben und diese erklären:

Anforderung 1:
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:
Sehbehinderte können in der Systemsteuerung eine große Systemschrift einstellen oder Menschen mit einer Farbsehschwäche können in der Systemsteuerung ein Design mit hohem Kontrast wählen. Eine Microsoft Dotnet-Anwendung übernimmt diese Systemeinstellungen ohne dass sie als Software-Entwickler zusätzlichen Programmcode einfügen müssen in Ihre Software. Allerdings sollten Sie überprüfen ob Ihre Software nach Übernahme dieser barrierefreien Systemeinstellungen weiterhin gut bedienbar ist.

Windows 10 - Systemschrift anpassen für Menschen mit Sehbehinderung
Windows 10 – Systemschrift anpassen für Menschen mit Sehbehinderung

Anforderung 2:
Unterstützung des Kontrastmodus
Erklärung:
Sehbehinderte oder Menschen mit einer Farbsehschwäche können bei Windows in der Systemsteuerung einen Kontrastmodus einstellen. Dies machen Sie in der Systemsteuerung ? Darstellung und Anpassung ? Anpassung ? Basisdesigns und Designs mit hohem Kontrast. Dieser Kontrastmodus muss von Ihrer Microsoft Dotnet-Anwendung übernommen werden. Im obigen Link „ Exemplarische Vorgehensweise: Erstellen von behindertengerechten Windows-basierten Anwendungen“ finden Sie ein Codebeispiel wie der Kontrastmodus in Ihre Software übernommen werden kann.

Anforderung 3:
Bereitstellen eines dokumentierten Tastaturzugriffs auf alle Features.
Erklärung:
Blinde und Sehbehinderte können mit einer Computermaus nicht arbeiten. Ohne Sehvermögen ist es nicht möglich den Mauszeiger zu einer bestimmten Stelle auf dem Bildschirm zu bewegen. Deswegen sind Blinde und Sehbehinderte darauf angewiesen, den ganzen Computer(Betriebssystem und Software) per Tastatur bedienen zu können. Sie müssen als Software-Entwickler dafür Sorgen, dass Ihre ganze Software per Tastatur zu bedienen ist. Ausserdem muss es eine Dokumetation geben für die Bedienung per Tastatur.

Anforderung 4:
Visuelle und programmgesteuerte Anzeige der Position des Tastaturfokus
Erklärung:
Für Sehbehinderte Menschen ist es oft nicht einfach zur erkennen, welches Bedienelement den Fokus hat, d.h. aktiv ist. Deswegen sollten Sie bei der barrierefreie Softwareentwicklung mit Microsoft Dotnet darauf achten, dass der Tastaturfokus gut erkennbar ist. Mein Tipp ist: Verändern Sie die Hintergrundfarbe des aktiven Bedienelements. Ich verwende hierfür immer die Farbe Gelb.

Anforderung 5:
Vermeiden der Übermittlung wichtiger Informationen allein per Audioausgabe.
Erklärung:
Wenn Sie Informationen per Audioausgabe übermitteln muss Ihnen klar sein, dass gehörlose Menschen diese nicht wahrnehmen können. Deswegen sollten Sie unbedingt wichtige Informationen auch Visuell darstellen. Entweder durch eine Textmeldung oder ein Programmfenster. Sie können auch die Titelleiste Ihres Programmfensters blinken lassen um den Gehörlosen auf eine bestimmte Meldung hinzuweisen. Allerdings halte ich persönlich von Blinkenden Elementen nicht viel, weil Sie bei Epilepsie in bestimmten Fällen Anfälle auslösen können.

Anforderung 6:
Weisen Sie den Eigenschaften AccessibleDescription und AccessibleName Texte zu.
Erklärung:
Ja, Sie haben recht, diese Anforderung steht im Microsoft-Link nicht. Aber im aufgeführten Link wird es im Programmbeispiel umgesetzt! Blinde Menschen arbeiten mit einer Software die den Bildschirminhalt vorliest. Diese Software heißt Screenreader . Diese Software kann nur lesen.
Damit diese Software dem Blinden mitteilen kann, wie die Oberfläche Ihrer Software aussieht, müssen Sie als Software-Entwickler in den Oberflächen-Komponenten Texte hinterlegen. Diese Texte müssen die Oberfläche Ihrer Software beschreiben.

Barrierefreheit mit Dotnet: Welche Programmiersprache ist die richtige?

Das besondere an .NET ist, dass es mehrere Programmiersprachen gibt mit denen Sie barrierefreie Anwendungen entwickeln können. Die eigentliche Programmiersprache von .NET ist C#. Sie können aber auch mit Visual Basic.NET oder anderen Programmiersprachen barrierefreie Anwendungen entwickeln.

Ansicht Visual Studio 2015 mit geöffneten Projekt
Ansicht Visual Studio 2015 mit geöffneten Projekt

Programmcodebeispiele für Barrierefreiheit mit Dotnet-Anwendungen

Die hier aufgeführten Programmcodebeispiele sind von diesem Link:
Exemplarische Vorgehensweise: Erstellen von behindertengerechten Windows-basierten Anwendungen

1. Kontrasmodus aktivieren

Visual Basic
Private Sub SetColorScheme()
If SystemInformation.HighContrast Then
companyLabel.BackColor = SystemColors.Window
companyLabel.ForeColor = SystemColors.WindowText
Else
companyLabel.BackColor = Color.Blue
companyLabel.ForeColor = Color.Yellow
End If
End Sub

// C#
private void SetColorScheme()
{
if (SystemInformation.HighContrast)
{
companyLabel.BackColor = SystemColors.Window;
companyLabel.ForeColor = SystemColors.WindowText;
}
else
{
companyLabel.BackColor = Color.Blue;
companyLabel.ForeColor = Color.Yellow;
}
}

2. Accessibility-Eigenschaften setzen

So setzen Sie die Accessibility-Eigenschaften:

// C#
myEdit.AccessibleName = "Webadresse";
myEdit.AccessibleDescription = "Web-Adresse bitte eingeben";

// Visual Basic.NET
myEdit.AccessibleName = „Webadresse“
myEdit.AccessibleDescription = _ „Web-Adresse bitte eingeben“

Barrierefreheit bei Microsoft Dotnet-Anwendung Testen

Ich bin kein Freund davon Barrierefreiheit mit Tools zu Testen. Microsoft bietet allerdings eine Reihe von Tools zum Testen von Barrierefreheit an:
Tools zum Testen der Barrierefreiheit
Diese Tools können selbstverständlich eine große Hilfe sein beim Testen auf Barrierefreheit bei einer Microsoft Dotnet-Anwendung.
Ich empfehle allerdings eine Überprüfung der Barrierefreiheit von „Hand“ nach oben genannten Richtlinien.
Der Vollständigkeit halber möchte ich hier die Microsoft Testmetoden wiedergeben, die sie ebenso auf obigen Link finden:
Um den Tastaturzugriff zu testen, ziehen Sie den Mausstecker aus dem Computer heraus und greifen auf alle Features der Benutzeroberfläche nur mithilfe der Tastatur zu. Stellen Sie sicher, dass sich sämtliche Aufgaben auch ausschließlich über die Tastatur ausführen lassen.

Wählen Sie zum Testen der Kontrastunterstützung in der Systemsteuerung das Symbol Barrierefreiheit. Klicken Sie auf die Registerkarte Anzeige, und aktivieren Sie das Kontrollkästchen Kontrast aktivieren. Überprüfen Sie in den einzelnen Elementen der Benutzeroberfläche, ob die Farben und die Schriftart entsprechend geändert wurden. Darüber hinaus muss die Anzeige von Symbolen und Mustern hinter dem Text unterdrückt sein.

Die Barrierefreiheit einer Anwendung können darüber hinaus direkt mithilfe spezieller Tools getestet werden.

Um die Kennzeichnung des Tastaturfokus zu testen, verwenden Sie die Bildschirmlupe. (Zeigen Sie zum Öffnen der Bildschirmlupe im Startmenü auf Programme, dann auf Zubehör, anschließend auf Barrierefreiheit, und klicken Sie auf Bildschirmlupe.) Navigieren Sie durch die Benutzeroberfläche. Verwenden Sie dazu sowohl die TAB-Taste als auch die Maus. Stellen Sie sicher, dass sämtliche Aktionen ordnungsgemäß in der Bildschirmlupe wiedergegeben werden.

Um die Kennzeichnung der Bildschirmelemente zu testen, führen Sie Inspect aus, und testen Sie die einzelnen Elemente sowohl mit der Maus als auch mit der TAB-TASTE. Stellen Sie sicher, dass die in den Feldern Name, State, Role, Location und Value des Fensters Inspect angezeigten Informationen für die Benutzer der einzelnen Objekte der Benutzeroberfläche aussagekräftig sind.

Zum Schluss noch ein Video von mir welches barrierefreie Softwareentwicklung mit Microsoft Dotnet erklärt:

Schlussbemerkung:

Sie können mit allen Programmiersprachen die Microsoft Dotnet unterstützt barrierefreie Softwareentwicklung durchführen. Für Microsoft ist Barrierefreiheit inzwischen ein MUSS. Um das „Certified for Windows“-Logo zu erhalten muss Ihre Dotnet-Anwendung barrierefrei sein!!!
Ich berate und gebe Schulungen in Sachen Barrierefreie Softwareentwicklung mit Microsoft Dotnet. Wenn Sie fragen haben, dürfen Sie mich gerne anrufen unter 07121/504458 oder eine Mail schreiben an info@marlem-software.de .


Barrierefreiheit mit Java 8

In diesem Blogartikel möchte ich das Thema Accessibility mit Java nicht nochmal komplett behandeln. Es geht in diesem Blogartikel darum, ob es bei der Programmiersprache Java Version 8 Neuerungen gibt, bei der Entwicklung von behindertengerechten Anwendungen.

Barrierefreiheit heißt in englisch Accessibility. Java ist eine Programmiersprache mit der Anwendungen entwickelt werden. Die Programmiersprache Java wurde  von dem Unternehmen Oracle entwickelt. Oracle hat den Hauptsitz in Amerika. Barrierefreiheit mit Java bedeutet, das Java-Anwendungen(auch Software genannt) entwickelt werden, die für behinderte Menschen bedienbar sind. Leider schafft es das Unternehmen Oracle nicht, eine deutschsprachige Dokumentation bereit zu stellen zu barrierefreie Software-Entwicklung mit Java.

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

Für welche Personengruppe ist Accessibility mit Java wichtig?

Bei barrierefreie Software-Entwicklung mit der Programmiersprache Java geht es darum, dass Menschen mit Behinderungen oder anderen körperlichen Einschränkungen Anwendungen bedienen können. Für Menschen mit Behinderung ist es wichtig, dass Anwendungen barrierefrei entwickelt sind.  Java ist besten dafür geeignet um barrierefreie Anwendungen zu entwickeln.

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.

Gibt es was neues in Sachen Accessibility bei Java 8?

Nein, Oracle hat am Konzept von Accessibility mit Java bei der Version 8 nichts geändert. Sie können mit Java 8 genau so barrierefreie Anwendungen entwickeln wie mit Java 7! Alles weitere zur Accessibility mit Java 8 entnehmen Sie bitte diesen Blogartikel:

Barrierefreie Softwareentwicklung / Software-Entwicklung mit Java

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

Beratung und Umsetzung in Sachen barrierefreie Anwendungen entwickeln mit der Programmiersprache Java

Ich bin begeistert von Java! Wenn Sie eine neue Java Anwendung behindertengerecht entwickeln möchten oder eine bestehende Java Anwendung soll barrierefrei gemacht werden, dann dürfen Sie gerne mich beauftragen: Tel. 07121/504458 oder Mail: info@marlem-software.de .

Hier noch ein Video in dem ich die Grundlagen der barrierefreien Softwareentwicklung mit Java – Swing erkläre:


Weitere Artikel zu barrierefreie Softwareentwicklung:
Barrierefreie Softwareentwicklung / Software-Entwicklung mit Java
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?

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?

 

Richtlinien zur barrierefreien Software-Entwicklung für Java von IBM

In diesem Blogartikel werden die Richtlinien zur barrierefreien Software-Entwicklung für Java von IBM wiedergeben. Und erklärt. Es handelt sich hierbei um die Version 3.6 .
 

1. Tastaturbedienbarkeit

1.1 Alle Softwarefunktionen müssen auch ohne Maus, also nur per Tastatur ausführbar sein

Erklärung:
Blinde und einige Sehbehinderte können keine Maus bedienen, weil zum positionieren des Mauszeigers die Fähigkeit zu sehen unbedingt notwendig ist. Deswegen bedienen diese Menschen den kompletten Computer mit der Tastatur. Dies kann nur geschehen, wenn auch die Software komplett per Tastatur bedienbar ist.
Ein zweiter Grund ist, dass es Menschen mit einer starken Einschränkung an der Hand gibt, für die es nicht möglich ist eine Computermaus zu bedienen, sehr wohl aber eine Tastatur.

1.2 Es darf keine Konflikte geben zwischen Ihrer Software und der Tastatureingabehilfen des Betriebssystems

Erklärung:
Im Betriebssystem Windows gibt es Eingabehilfen für behinderte Menschen. Diese helfen zum Beispiel mehrere Tasten gleichzeitig mit einer Hand zu drücken oder die Drucksensibilität von Tasten zu verändern. Zwischen diesen Eingabehilfen und Ihrer Software darf es keine Konflikte geben. Sie dürfen in Ihrer Software keine Tastenkürzel verwenden die vom Betriebssystem für Eingabehilfen (https://www.marlem-software.de/marlemblog/2010/12/28/was-sind-eingabehilfen/ ) reserviert sind.

 

2. Informationen über Objekte

2.1 Bieten Sie eine optische Fokusanzeige an, die den Änderungen des Eingabefokus zwischen den interaktiven Objekten folgt. Diese Fokusanzeige muß programmtechnisch für die assistive Technik zugänglich sein.

Erklärung:
Sehbehinderte haben oft Probleme zu erkennen welches Bedienelement gerade den Fokus hat. Deswegen sollten Sie dafür sorgen, dass der Fokus gut sichtbar ist. Desweiteren muss gewährleistet sein, dass der Screenreader ( https://www.marlem-software.de/marlemblog/2010/02/09/was-ist-ein-screenreader/ ) die Position des Fokus kennt.

2.2 Liefern Sie semantische Informationen über Objekte der Benutzerschnittstelle. Wenn ein Programmelement aus einem Bild besteht, dann muss die Information, die durch das Bild transportiert wird, auch als Text verfügbar sein.

Erklärung:
Der Screenreader von Blinden benötigt Informationen welches Objekt den Fokus hat und welche „Rolle“ das Objekt hat. Der Screenreader muss zum Beispiel wissen, dass ein Optionsfeld aktiv ist und welche „Option“ ausgewählt ist.

2.3 Beschriften Sie Bedienelemente, Objekte, Icons und Bilder. Wenn ein Bild zur Kennzeichnung von Programmelementen benutzt wird, muss die Bedeutung des Bildes in der gesamten Applikation einheitlich sein.

Erklärung:
Für Screenreader ist es wichtig, dass Objekte wie z. B. Icon-Name, Fenstertitel oder Eingabefelder Beschriftungen haben. Damit diese Beschriftungen für Screenreader und andere Eingabehilfen verfügbar sind, müssen Sie programmtechnisch mit einem Objekt verbunden sein. Ansonsten bekommt der Screenreader Probleme bei der Zuordnung von Objekten und Beschriftungen.

2.4 Wenn elektronische Formulare in der Software benutzt werden, sollten die Formulare den Menschen, die assistive Technik benutzen, erlauben, auf die Informationen, Feldelemente und Funktionen zuzugreifen, die zum Ausfüllen und zur Abgabe des Formulars, einschließlich aller Anweisungen und Hinweise, notwendig sind.

Erklärung:
Elektronische Formulare müssen für Screenreader zugänglich sein. Hierfür ist es wichtig, dass die Formulare und Bedienelemente sachgerecht Kodiert werden.

 

3. Sound und Multimedia

3.1 Bieten Sie eine Option, um Audio-Warnmeldungen visuell anzuzeigen.

Erklärung:
Gehörlose Menschen können Töne gar nicht wahrnehmen und schwerhörige Menschen nur sehr begrenzt. Damit diese Personen Töne(Informations- oder Warnsignale) wahrnehmen können müssen diese visuell durch ein Meldungsfenster oder einer Statusinformation angezeigt werden.

3.2 Bieten Sie zugängliche Alternativen für wichtige Audio- und Videosequenzen.

Erklärung:
Für Gehörlose und Schwerhörige sind Hörbeiträge (=Audio) oder Videos mit Ton nicht wahrnehmbar. Deswegen sollte in einer Software immer eine Alternative zur Audio oder Videowiedergabe geben. Am besten eignet sich hierfür Text der bei Videos auch in Form eines Untertitels bereitgestellt werden.

3.3 Bieten Sie eine Option zum Einstellen der Lautstärke

Erklärung:
Schwerhörige müssen den Ton lauter stellen wie nicht Schwerhörige. Blinde und Sehbehinderte sind auf Audiowiedergabe angewiesen und müssen deswegen die Lautstärke regulieren können um andere Geräusche im Umfeld übertönen zu können.

 

4 Anzeige

4.1 Erzeugen Sie Text durch normale Systemfunktionsaufrufe oder einer API (Schnittstelle für Anwendungsprogrammierung), die die Interaktion mit assistiver Technik unterstützen.

Erklärung:
Screenreader können nur systemgestützte Zeichenoperationen wahrnehmen. Wenn Text nicht standardmäßig dargestellt wird, kann der Screenreader diese Informationen nicht an den Benutzer weitergeben.

4.2 Benutzen Sie Farbe als eine Ergänzung und nicht ausschließlich, um Informationen zu übermitteln oder Aktionen anzuzeigen.

Erklärung:
Grundsätzlich kann Farbe ein wichtiges Hilfsmittel sein um Informationen besser darzustellen. Sie sollten es vermeiden Farbe als wesentliches Merkmal einzusetzen. Menschen mit einer Farbfehlsichtigkeit ( http://de.wikipedia.org/wiki/Farbfehlsichtigkeit )haben große Probleme Farben zu erkennen und zu unterscheiden. Es ist zum Beispiel nicht sinnvoll einen Benutzer dazu aufzufordern einen „grünen“ Schalter anzuklicken wenn dieser grün und braun nicht unterscheiden kann. Deswegen sollten Sie den Schalter beschriften mit „Übernehmen“.

4.3 Unterstützen Sie Einstellungen für starken Kontrast für alle Bedienelemente des Benutzerinterfaces und Client-Bereiches.

Erklärung:
Die Verwendung von bestimmten Farben ist oft kritisch. Farbfehlsichtige und Sehbehinderte können damit ein Problem haben. Sie benötigen einen hohen Kontrast zwischen Hintergrundfarbe und Schriftfarbe. Im Betriebssystem Windows in der Systemsteurung kann der Farbkontrast eingestellt werden. Deswegen muss eine Software in der Lage sein, diese Farbeinstellungen zu übernehmen, sonst hilft es der oben genannten Personengruppe nicht, dass der Kontrast im Betriebssystem anpasspar ist.

4.4 Wenn kundenspezifische Farbanpassung durch das Programm unterstützt wird, bieten Sie vielfältige Farbeinstellungsmöglichkeiten, damit mehrere Kontrastniveaus erzeugt werden können.

Erklärung:
Farbfehlsichtigkeit und Sehbinderungen können sich sehr unterschiedlich auswirken. Deswegen sollten die Möglichkeiten der Farbeinstellungen sehr individuell gehalten werden.

4.5 Übernehmen Sie die Systemeinstellungen für Schriftart, Größe und Farbe für alle Steuerelemente der Benutzerschnittstelle.

Erklärung:
Menschen mit einer Sehbehinderung benötigen eine größere Schrift. Im Betriebssystem Windows kann die Systemschriftgröße eingestellt werden. Deswegen sollten Beschriftungen von Eingabefelder und Schalter und die Eingabefelder selbst diese Schriftgröße übernehmen.

4.6 Bieten Sie eine Option an, die Animationen in einer nicht animierten Form darstellt.

Erklärung:
Animierte Informationen sind für Blinde nicht wahrnehmbar. Stellen Sie sicher, dass Animationen angehalten werden können. Desweiteren sollten Sie die in der Animation übermitteten Informationen alternativ, zum Beispiel als Text, bereitstellen.

 

5 Timing

5.1 Bieten Sie die Möglichkeit, die Reaktionszeit auf zeitlich begrenzte Hinweise einzustellen oder ermöglichen Sie den Verbleib des Hinweises.

Erklärung:
Menschen die eine Einschränkung in der Bewegung der Arme oder Hände haben, können oft nur sehr langsam auf Ereignisse oder Hinweise reagieren. Deswegen sollte die Zeitspanne, wie lange ein Hinweis angezeigt wird, einstellbar sein.

5.2 Verwenden Sie keine leuchtende oder blinkende Texte, Objekte oder andere Elemente mit einem Blitz oder blink Frequenz größer als 2 Hz und kleiner als 55 Hz.

Erklärung:
Anzeigen, die flackern oder blinken, können bei empfänglichen Menschen epileptische Anfälle auslösen, besonders wenn das Blinken eine hohe Intensität in einem Frequenzbereich zwischen 2 Hz und 55 Hz hat. Das schließt blinkenden Text, das Ein- und Ausschalten von Grafik oder das Wechseln zwischen unterschiedlichen Bildern ein.

Das sind die Richtlinien zur barrierefreien Software-Entwicklung für Java von IBM.

Richtlinien barrierefreie Software-Entwicklung für Java von Oracle

Da ich gerade einen großen Auftrag habe bei dem ich eine Java-Software barrierefrei machen darf, werde ich heute die Richtlinien von Oracle, die ich ins deutsche übersetzt habe wiedergeben.

Um barrierefreie Software-Entwicklung mit Java zu machen bedarf es Richtlinien. Diese Richtlinien orientieren sich an den Bedürfnissen von Menschen mit Behinderungen. Das Unternehmen Oracle hat die Programmiersprache Java entwickelt. Da Java die Voraussetzungen hat für barrierefreie Software-Entwicklung hat Oracle hierfür Richtlinien herausgegeben. Diese Richtlinien werde ich hier wiedergeben mit Erklärung:

1. Kriterium:
Wenn eine Komponente keinen ‘short string’ anzeigt, dann legen Sie einen Namen mit der setAccessibleName Methode fest. Sie können das auf ‚image-only buttons’, ‚panels’ mit logischer Gruppierung, Text Felder usw. Anwenden.

Erklärung:
Es kann grundsätzlich nichts schaden jeder Komponente einen AccessibleName zu geben. Der AccessibleName soll den Zweck der Komponente kurz beschreiben.
Zum Beispiel „Beenden-Schalter“. Auf jeden Fall sollte man, wann immer es geht und Sinn macht, Tooltips bei Komponenten angeben. Wie oben beschrieben werden die Tooltips auch in die Eigenschaft AccessibleDescription eingetragen.

2. Kriterium:
Wenn Sie eine Komponente nicht mit einem ‘tooltip’ versehen wollen, dann benutzen Sie die setAccessibleDescription Methode um eine Beschreibung über die Unterstützungstechnologie an den Benutzer weiter zu geben. Zum Beispiel: aJComponent.getAccessibleContext(). setAccessibleDescription(„Clicking this component causes XYZ to happen.“);

Erklärung:
In der Eigenschaft AccessibleDescription kann man einen längeren Text angeben, der den Sinn und Zweck der Komponente beschreibt. Dieser Text wird z.B. von Screenreadern gelesen und dem blinden oder sehbehinderten Menschen mitgeteilt.

3. Kriterium:
Sehen Sie, wo immer möglich, alternative Tastatureingaben vor. Sie sollten sicher stellen, das Ihr Programm nur mit der Tastatur bedient werden kann. Denken Sie daran das Sie aus einem editierbaren Feld mit ‚Shift-Tab’ den Fokus auf die nächste Text Komponente setzen können.

Erklärung:
Blinde und sehbehinderte Menschen arbeiten oft mit der Tastatur, weil das arbeiten mit der Maus nur dann funktioniert, wenn man genau sehen kann wo der
Mauszeiger ist. Deswegen ist es für beide Personengruppen wichtig, dass die Software auch per Tastatur bedienbar ist.

4. Kriterium:
Weisen Sie allen ImageIcon Objekten in Ihrem Programm eine textuelle Beschreibung zu. Sie können diese Eigenschaft festlegen, indem Sie entweder die setDescription Methode oder eines der String Formulare der ImageIcon Konstruktoren verwenden.

Erklärung:
Nicht nur auf Internetseiten, sondern auch bei Software haben blinde Menschen erhebliche Probleme mit Bildern/Grafiken. Stellen an den Bildern platziert sind, werden von Blinden als leere Fläche wahrgenommen. Deswegen ist es auch bei Software wichtig, dass man Bildern eine Textbeschreibung mit gibt, damit die Screenreader-Software dem Blinden was vorlesen kann.

5. Kriterium:
Wenn eine Gruppe von Komponenten eine logische Gruppe bilden, versuchen Sie diese in einen Container zu setzen. Verwenden Sie zum Beispiel ein JPanel das alle Radio-Buttons enthält die zu einer Radio-Button-Gruppe gehören.

Erklärung:
Das Gruppieren von Komponenten macht die Programmoberfläche übersichtlicher. Wenn die Container-Komponente noch einen sprechenden AccessibleName hat, kann das für einen Blinden eine enorme Erleichterung sein, um sich schneller auf der Programmoberfläche zu orientieren. Zum Beispiel könnte man Eingabefelder zum erfassen von einer Adresse in einen Container mit dem AccessibleName „Adressdaten“ gruppieren.

6. Kriterium:
Wann immer Sie ein Label verwenden welches eine andere Komponente beschreibt, verwenden Sie die setLabelFor Methode damit die Unterstützungstechnologie die Komponente finden kann die zu dem Label gehört. Dies ist besonders wichtig, wenn das Label eine Gedächtnisstütze für eine andere Komponente (z.B. ein Text Eingabefeld) ist.

Erklärung:
Dies hängt unmittelbar mit Punkt 3 zusammen. Hier geht es wieder u.a. darum, dass die Software auch per Tastatur bedienbar sein sollte. Außerdem können aber
auch Screenreader die Zusammenhänge zwischen Label und Eingabefeld so besser erkennen.

7. Kriterium:
Wenn Sie eine benutzerdefinierte Komponente erstellen, stellen Sie die Zugänglichkeit sicher. Insbesondere beachten Sie, dass Unterklassen von JComponent nicht automatisch zugänglich sind. Benutzerdefinierte Komponenten, die Nachkommen anderer Swing-Komponenten sind, sollten, wenn notwendig, die geerbten barrierefreie Informationen überschreiben.

Erklärung:
Wenn man Java-Komponenten selber entwickelt, sollte man darauf achten, dass diese auch barrierefrei sind.

8. Kriterium:
Verwenden Sie die Beispiele die Sie bei den Dienstprogrammen für Barrierefreiheit finden um Ihre Programm zu testen. Obwohl der primäre Zweck dieser Beispiele dafür gedacht ist den Umgang mit der Accessibility-API zu zeigen, sind sie auch sehr nützlich um Anwendungsprogramme auf Barrierefreiheit zu testen. Eine Prüfung auf Barrierefreiheit zeigt ScrollDemo die mit Monkey läuft. Monkey zeigt den Baum der zugänglichen Komponenten in einem Programm und ermöglicht es Ihnen mit diesen Komponenten interagieren.

Erklärung:
Es gibt Beispiele von Sun/Oracle zum Thema Accessibility

9. Kriterium:
Wenn Ihre GUI(=Programmoberfläche) einen Container hat der nicht zugänglich ist, zum Beispiel, Ihre eigene Container Unterklasse, eine JComponente oder einen anderen Behälter, die von dem Zugänglichkeitsdienstprogramm nicht erreicht wird, sind alle Komponenten in dem Container nicht erreichbar.

Erklärung:
Komponenten die in einem nicht barrierefreien Container sich befinden, sind für Eingabehilfen und andere unterstützende Software nicht erreichbar.

10. Kriterium:
Alle wichtigen Funktionen der Software sollten über Tastenkürzel(engl. Shortcuts) ansteuerbar sein.

Erklärung:
Sehbehinderte und Blinde, welche die Software nur per Tastatur bedienen profitieren von Tastenkürzel für wichtige Funktionen.

11. Kriterium:
Vermeiden Sie es Farb-und Schrifteigenschaften unveränderlich zu machen Die Software benötigt einen Einstellungsdialog für Farben und Schriftgrößen.
Wenn der Anwender in der Systemsteuerung die Schriftgröße verändert, muss die Software diese übernehmen!

Erklärung:
Menschen die Farbenblind sind, können eventuell mit den von Ihnen gewählten Farben Probleme haben. Deswegen sollte es in der Java-Anwendung ein Menü geben, in welchem der Anwender die Farben individuell einstellen kann.

12. Kriterium:
Vermeiden der Übermittlung wichtiger Informationen allein per Audioausgabe

Erklärung:
Stellen Sie sich vor, ein Mailprogramm würde das ankommen einer Mail nur akustisch signalisieren und die neue Mail wäre optisch nicht hervorgehoben. Gehörlose Menschen hätten keine Chance das eingehen von neuen Mails war zu nehmen. Deswegen ist es wichtig, dass man sich nicht nur auf Audioausgabe verlässt.

Barrierefreie Softwareentwicklung – Was ist das?

Da ich gerade einen Auftrag habe, bei dem ich mit der Programmiersprache Java eine Software entwickle und auf Barrierefreiheit prüfen darf, möchte ich in diesem Artikel noch einmal erklären, was barrierefreie Software-Entwicklung ist.

Weiße Tastatur mit einer grünen Accessibility-Taste anstelle von der Enter-Taste
Eine barrierefreie Software-Entwicklung ist wichtig und wird in Zukunft noch weiter an Bedeutung gewinnen. Bildquelle: alphaspirit – 326816450 / Shutterstock.com

Barrierefreiheit heißt auf Englisch Accessibility. Der Begriff Accessibility gefällt mir eigentlich viel besser als Barrierefreiheit. Accessibility wird mit „Zugänglichkeit“ übersetzt. Accessibility bei Software bedeutet also Zugänglichkeit für Menschen mit Behinderung. Dennoch hat sich in Deutschland das Wort Barrierefreiheit etabliert und nicht Zugänglichkeit. Es wird also von Barrierefreiheit bei Software bzw. Programmen und Seiten im Web gesprochen.

Barrierefreie Softwareentwicklung – Die gesetzliche Grundlage

Im Mai 2002 trat ein Gesetz in Kraft, welches die Benachteiligung von Personen mit Behinderungen verhindern soll, das “Gesetz zur Gleichstellungbehinderter Menschen (Behindertengleichstellungsgesetz – BGG)”. In diesemGesetz gibt es einen “§ 12 Barrierefreie Informationstechnik” in dem Folgendes steht:

§ 12a Barrierefreie Informationstechnik

(1) Öffentliche Stellen des Bundes gestalten ihre Websites und mobilen Anwendungen, einschließlich der für die Beschäftigten bestimmten Angebote im Intranet, barrierefrei. Schrittweise, spätestens bis zum 23. Juni 2021, gestalten sie ihre elektronisch unterstützten Verwaltungsabläufe, einschließlich ihrer Verfahren zur elektronischen Vorgangsbearbeitung und elektronischen Aktenführung, barrierefrei. Die grafischen Programmoberflächen sind von der barrierefreien Gestaltung umfasst.
(2) Die barrierefreie Gestaltung erfolgt nach Maßgabe der aufgrund des § 12d zu erlassenden Verordnung. Soweit diese Verordnung keine Vorgaben enthält, erfolgt die barrierefreie Gestaltung nach den anerkannten Regeln der Technik.
(3) Insbesondere bei Neuanschaffungen, Erweiterungen und Überarbeitungen ist die barrierefreie Gestaltung bereits bei der Planung, Entwicklung, Ausschreibung und Beschaffung zu berücksichtigen.
(4) Unberührt bleiben die Regelungen zur behinderungsgerechten Einrichtung und Unterhaltung der Arbeitsstätten zugunsten von Menschen mit Behinderungen in anderen Rechtsvorschriften, insbesondere im Neunten Buch Sozialgesetzbuch.
(5) Die Pflichten aus Abschnitt 2a gelten nicht für Websites und mobile Anwendungen jener öffentlichen Stellen des Bundes nach § 12 Satz 1 Nummer 2 und 3, die keine für die Öffentlichkeit wesentlichen Dienstleistungen oder speziell auf die Bedürfnisse von Menschen mit Behinderungen ausgerichtete oder für diese konzipierte Dienstleistungen anbieten.
(6) Von der barrierefreien Gestaltung können öffentliche Stellen des Bundes ausnahmsweise absehen, soweit sie durch eine barrierefreie Gestaltung unverhältnismäßig belastet würden.
(7) Der Bund wirkt darauf hin, dass gewerbsmäßige Anbieter von Websites sowie von grafischen Programmoberflächen und mobilen Anwendungen, die mit Mitteln der Informationstechnik dargestellt werden, aufgrund von Zielvereinbarungen nach § 5 Absatz 2 ihre Produkte so gestalten, dass sie barrierefrei genutzt werden können.
(8) Angebote öffentlicher Stellen im Internet, die auf Websites Dritter veröffentlicht werden, sind soweit möglich barrierefrei zu gestalten.

Anmerkung von Markus

Im Klartext steht da, dass Behörden dazu verpflichtet sind, ihre Webseiten und Software so zu gestalten dass diese für Menschen mit unterschiedlichen Behinderungen bedienbar sind. Dieses Gesetz war also die Geburtsstunde der Barrierefreiheit in der Informationstechnik und der barrierefreien Softwareentwicklung! Was noch wichtig zu erwähnen ist: Die Barrierefreiheit soll UNEINGESCHRÄNKT sein. Uneingeschränkt bedeutet komplette Barrierefreiheit und nicht nur ein bisschen Barrierefreiheit! Hieran sollten sich Entwickler halten.
Technische Vorgaben schreibt das Gesetz jedoch nicht vor. Es beschränkt sich auf die Definition der Ziele und der Bereiche, in denen das Gesetz Anwendung findet.

Barrierefreie Software hat nicht nur Vorteile für Menschen mit Behinderungen, sondern auch für andere Benutzergruppen. Daher kann es auch für Unternehmen sinnvoll sein, barrierefreie Software zu nutzen und auch zu entwickeln. Gesetzlich ist dies allerdings nicht vorgeschrieben. Der Paragraph 12 des BGG gibt dies nur für „Träger öffentlicher Gewalt“ vor. Eine innerbetriebliche Barrierefreiheit in der Informationstechnologie ermöglicht jedoch die Bearbeitung von Aufgabenfeldern für beeinträchtigte Menschen und führt damit zur Inklusion von Behinderten. Zum anderen erhöht eine barrierefreie Software für so gut wie alle Nutzer die Accessibility und gleichzeitig auch die Usability/Benutzerfreundlichkeit. Das kann sich auch positiv auf den Umsatz auswirken, da eine benutzerfreundliche Software bzw. Oberfläche von den Menschen gerne häufiger genutzt wird.

Was ist barrierefreie Softwareentwicklung / Software-Entwicklung?

Software wird programmiert mit einer, manchmal auch mehrerer, Programmiersprachen. Der Begriff “Programmierung” ist etwas außer Mode gekommen. Es ist aber nicht falsch den Begriff „barrierefreie Programmierung“ zu verwenden. Software wird heute nicht mehr programmiert, sondern entwickelt. Deswegen wird der Entstehungsprozess einer Software als “Software-Entwicklung” bezeichnet.
Barrierefreie Software-Entwicklung bedeutet, es entsteht eine Software die für Menschen mit unterschiedlichen Behinderungsarten bedienbar ist. Die Zielgruppe für barrierefreie Softwareentwicklung sind Menschen mit Behinderungen und zum Teil Menschen im fortgeschrittenen Alter. Welche Barrieren können bei Software auftreten?

Barrierefreie Softwareentwicklung – welche Barrieren gibt es?

Die Barrieren sind mit bestimmten körperlichen Behinderungsarten verknüpft. Für Blinde, die den Mauszeiger nicht sehen können, ist eine Software die sich nur per Maus bedienen lässt, eine unüberbrückbare Barriere.
Ebenso ist es für Blinde eine unüberbrückbare Barriere, wenn eine Software keine Informationen an das Bildschirmleseprogramm, Screenreader genannt, übermittelt. Ohne Screenreader könnten Blinde nicht am Computer und an der Tastatur arbeiten. Fehlende Barrierefreiheit / Accessibility bei einer Anwendung, bedeutet, dass Blinde mit dieser Anwendung nicht arbeiten können. Die bekanntesten Screenreader heißen NVDA und JAWS.
Für Menschen mit einer Farbfehlsichtigkeit, besser bekannt als Farbenblindheit, ist zu wenig Kontrast zwischen Schriftfarbe und Hintergrundfarbe eine unüberbrückbare Barriere. Für Menschen welche behinderungsbedingt eine Software nur mit einer Hand bedienen können, sind bestimmte Tastenkombinationen Barrieren.

Für Sehbehinderte und auch einige ältere Nutzer ist eine vergrößerbare Schrift sehr wichtig. In der Systemsteuerung kann die Schriftgröße angepasst werden. Dies hilft aber nur, wenn die Software in der Lage ist, diese angepasste Schrift zu übernehmen.
Für Menschen die, behinderungsbedingt, nur mit einer Hand einen Computer bedienen können, sind Tastenkombinationen eine unüberbrückbare Barriere.
Für Gehörlose ist eine unüberbrückbare Barriere, wenn eine Software eine wichtige Information nur über Ton übermittelt. Ein Mailprogramm, welches per Ton mitteilt “Sie haben Post!”, aber die neuen Mails optisch nicht kennzeichnet, wäre für Gehörlose nicht bedienbar! Für Gehörlose ist es wichtig, dass in Anwendungen, hörbare Informationen auch als Text bereitgestellt werden. Dies sind einige Beispiele! Barrierefreie Software nimmt auf all diese Kriterien Rücksicht und stellt Herausforderungen an den Entwickler.

Barrierefreie Softwareentwicklung – wer ist die Zielgruppe?

Barrierefreie Software-Entwicklung nimmt auf diese unterschiedlichen Bedürfnisse von Menschen mit verschiedenen Behinderungen Rücksicht. Zunächst geht es hauptsächlich um Personen mit einer Körperbehinderung.
Aber auch Nutzer ohne Behinderung können “vorübergehend” von einer körperlichen Einschränkung heimgesucht werden. Stellen Sie sich vor, Sie sind Rechtshänder und brechen sich den rechten Arm. Plötzlich müssen Sie den Computer mit der linken Hand bedienen. Zum Drücken der Tastenkombinationen haben Sie plötzlich keine zweite Hand mehr! Jetzt würden Sie davon profitieren, wenn die Software, mit der Sie täglich arbeiten, barrierefrei wäre.
Lohnt sich barrierefreie Software-Entwicklung? Dazu empfehle ich diesen Link
Fast 10 Millionen behinderte Menschen in Deutschland.

Barrierefreie Zugänge für Menschen mit Behinderungen oder anderer Einschränkungen

Barrierefreie Software-Entwicklung hilft ebenso älteren Menschen bei der Bedienung von Software. Im fortgeschrittenen Alter können körperliche Einschränkungen erscheinen, die einer Behinderung sehr ähnlich sind! Barrierefreie Software-Entwicklung betrifft also nicht nur Menschen mit Behinderung!

Es gibt also verschiedene Gruppen, die von solch einem vereinfachten Zugang zur Informationstechnologie profitieren:

  • Menschen mit Behinderungen
  • Ältere Menschen
  • Menschen mit einer anderen Muttersprache
  • Menschen, die selten Software nutzen
  • Webcrawler

Der demographische Wandel verändert die Altersstruktur in Deutschland insofern, dass der Anteil der älteren Menschen ansteigt. Der Einsatz barrierefreier Software wird daher auch langfristig immer wichtiger, da Menschen im fortgeschrittenen Alter vor allem körperliche Einschränkungen wie Sehschwächen erfahren. Eine höhere Lebenserwartung und ein höheres Renteneintrittsalter haben dabei zur Folge, dass die Menschen länger arbeiten müssen und werden. In Kombination mit der technologischen Entwicklung heißt das, dass mehr ältere Menschen Software bedienen müssen.

Unternehmen benötigen barrierefreie Software für ihre Mitarbeiter

Auch hier ist es für Unternehmen wichtig, barrierefreie Software zur Verfügung zu stellen. Hinzu kommt, dass die Kundengruppe der älteren Personen deutlich größer wird, auch weil in Zukunft ältere Menschen häufiger als heute Software verwenden werden. Somit ist es auch für Unternehmen ratsam, die Augen nicht vor barrierefreier Software zu verschließen. Das gilt sowohl unternehmensintern bei der Nutzung von Software als auch bei der Entwicklung von Software, die veräußert werden soll.

Fremdsprachige Personen können von barrierefreie Softwareentwicklung profitieren

Eine barrierefreie Software kommt derweil auch Personengruppen zugute, die eine andere Muttersprache haben als die Sprache, die die Programme und Oberflächen anzeigen. Das Textverständnis ist hier logischerweise nicht so gut ausgeprägt und Barrierefreiheit kann auch bei dieser Personengruppe den Zugang zur Funktionalität der Software vereinfachen. In erster Linie ist dies für Behörden sinnvoll und erleichtert die „Abfertigung“, aber auch Unternehmen, die international agieren, profitieren davon. Das gilt erneut unternehmensintern, weil eine einheitliche Software an verschiedenen internationalen Standorten verwendet werden kann. Aber auch die Kundenbeziehungen können einen Nutzen erfahren: Der Zugang der Kunden auf einem Markt mit einer anderen Sprache wird vereinfacht.

Barrierefreie Softwareentwicklung hilft Menschen, die selten mit digitalen Technologien zu tun haben

Barrierefreie Software hilft, insgesamt betrachtet, allen Menschen. Software kann durchaus dafür sorgen, dass Nutzer vor Probleme gestellt werden, wenn sie kompliziert zu bedienen ist und nicht auf verschiedene Ein- sowie Ausgabemöglichkeiten zugreifen kann. Das kommt auch den Personen zugute, die nicht so häufig mit digitalen Technologien konfrontiert sind. Schon das Ziehen einer Nummer beim Amt kann Menschen vor Probleme stellen, da sie nicht mehr nur ziehen, sondern auf einem Touchscreen den Grund ihres Besuchs angeben müssen.

Barrierefreiheit bringt dem Online Marketing Vorteile

Zu guter Letzt bringt Barrierefreiheit in der Entwicklung auch beim Online-Marketing Vorteile. Wird auf ein barrierefreies Webdesign wert gelegt, können Webcrawler die auf der Website enthaltenen Informationen besser verarbeiten. Crawler, auch als Spider oder Robot bekannt, sind Programme, die Internetseiten automatisch analysieren. Dabei findet er auch neue Inhalte bzw. neue Internetseiten. Die dem Crawler zugrundeliegenden Informationen sind schlussendlich für das Ranking in der Suchmaschine ausschlaggebend.
Das Problem an der Sache ist, dass Crawler ebenfalls eingeschränkt sind. Ihre Funktionen lassen beispielsweise keinen vollständigen Informationsgewinn auf Basis von Bildern oder Grafiken zu. Mithilfe der Künstlichen Intelligenz konnten zwar bereits große Fortschritte bei der Bilderkennung gemacht werden, exakt auslesen können die automatischen Programme Bilder jedoch noch nicht. Die Meta-Elemente sind hier auch ausschlaggebend, die beschreiben, was auf dem Bild zu sehen ist. Barrierefreies Webdesign bedeutet auch, dass Bilder auf Webseiten einen Alternativtext haben. Das hilft dem Crawler und auch blinden bzw. sehbehinderten Menschen, die einen Screenreader nutzen.

Barrierefreie Zugänge für Menschen mit Sehschwäche oder Farbblindheit

An Entwickler hingegen stellt die barrierefreie Software-Entwicklung auf den ersten Blick eine Herausforderung dar. Jedoch sind viele Punkte ohnehin Bestandteil einer organisierten Software-Entwicklung. Beispielsweise trennt man als Programmierer Layout und Inhalt, was als saubere Architektur des Programms gilt. Das ist eine grundsätzliche Anforderung aus der Software-Entwicklung, hilft gleichzeitig aber auch bei der Barrierefreiheit. Dadurch kann man das Layout also individuell anpassen – Kontrast, Schrift- oder Fenstergröße – und ist nicht durch fehlende oder falsch dargestellte Inhalte gestört. Das bringt Vorteile für Menschen mit Sehschwächen oder auch bei Farbenblindheit mit sich. Zusätzlich werden die Prinzipien der Usability auch bei der barrierefreien Software-Entwicklung durchgesetzt. Hält man sich bei der Software-Entwicklung also an die Barrierefreiheit, ist das Ergebnis schlussendlich besserer Qualität.

Barrierefreie Software-Entwicklung – die Wahl der Programmiersprache

Welche Programmiersprachen unterstützen barrierefreie Softwareentwicklung? Java war die erste, welche barrierefreie Softwareentwicklung unterstützte. Das Microsoft .net-Framework insbesondere die Programmiersprache C# unterstützt ebenso die barrierefreie Softwareentwicklung! Barrierefreie Softwareentwicklung kann auch mit Python umgesetzt werden. Das tolle an Java ist, dass sie kostenlos im Web heruntergeladen werden kann. Außerdem ist es mit Java möglich Anwendungen für Internetseiten zu entwickeln. Java und Microsoft.net werden in Amerika entwickelt. Dort ist Accessibility sehr wichtig, weil die Zahl der Menschen mit Behinderung sehr viel höher ist als in Deutschland. Anwendungen müssen in den USA nach den Grundsätzen der Accessibility programmiert sein. Menschen mit Behinderung haben dort nämlich ein Klagerecht bei fehlender Accessibility.

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 Swing in welcher der Tastaturfokus gut sichtbar ist.

Im nächsten Bildschirmfoto sehen Sie Java-Programm-Code:

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.

Das nächste Bild zeigt eine barriererefreie Software die mit der Programmiersprache Python entwickelt wurde und unter dem Apple Betriebssystem MacOS gestartet werden kann:

Demoprogramm: für blinde und sehbehinderte Menschen nutzbar, Betriebssystem MacOS, Programmiersprache Python
Demoprogramm: für blinde und sehbehinderte Menschen nutzbar, Betriebssystem MacOS, Programmiersprache Python

Folgende 6 Möglichkeiten gibt es um barrierefreie Software zu entwickeln:

Dieses Video zeigt die Grundzüge der barrierefreien Softwareentwicklung mit Java -Swing:

Im nächsten Video sehen Sie die barrierefreie Softwareentwicklung mit JavaFX:

Das nächste Video zeigt die Grundzüge der barrierefreien Softwareentwicklung mit Microsoft Dotnet Winforms:

Das nächste Video zeigt die Grundzüge der barrierefreien Softwareentwicklung mit Microsoft Dotnet WPF:

Im nächsten Video wird barrierefreie Softwareentwicklung mit Python gezeigt:

Gibt es Richtlinien für barrierefreie Software-Entwicklung?

Für barrierefreies Webdesign gibt es national die Richtlinie BITV und international die Richtlinie WCAG. Um eine Software barrierefrei zu entwickeln sind ebenfalls Richtlinien notwendig. Diese sind wichtig damit eine Software auf Barrierefreiheit überprüft werden oder eine Software barrierefrei entwickelt werden kann. Es würde den Rahmen dieses Artikels sprengen hier alle Richtlinien aufzuführen. Leider gibt es keine einheitlichen Richtlinien wie barrierefreies Webdesign auszusehen hat. Deswegen nachstehend ein paar Richtlinien zur barrierefreien Softwareentwicklung mit Java und Microsoft Dotnet.
Die originalen Richtlinien für barrierefreie Softwareentwicklung für die Programmiersprache Java finden Sie bei Oracle:
Rules for Supporting Accessibility
Ich habe die Richtlinien auf Deutsch übersetzt:
Richtlinien barrierefreie Softwareentwicklung für Java von Oracle
Die Richtlinien für barrierefreie Softwareentwicklung mit Microsoft Dotnet finden Sie unter folgendem Link im Web: Exemplarische Vorgehensweise: Erstellen von behindertengerechten Windows-basierten Anwendungen

Wie kann barrierefreie Softwareentwicklung getestet werden?

Bevor eine Software die Auszeichnung “barrierefrei” erhält, muss diese überprüft werden, ob sie auch wirklich barrierefrei ist.
Eine automatisierte Überprüfung ist noch immer schwierig. Microsoft und Oracle stellen beide ein Tool zur Verfügung, um Software auf Barrierefreiheit zu testen.
Um aber wirklich sicher zu gehen sollte die Überprüfung einer Software auf Barrierefreiheit “von Hand” erfolgen. Das bedeutet, Sie überprüfen Ihre Software anhand der von Ihnen verwendeten Richtlinien.

Einstellungsdialog für Barrierefreiheit bei der Standardsoftware LibreOffice

Obiges Bild zeigt den Einstellungsdialog der Standardsoftware LibreOffice .

Dabei ist es wichtig, dass die Software vom Programmierer selbst bzw. dem Team überprüft wird, da eine externe Überprüfung en Detail nicht möglich ist. Während viele Punkte recht einfach zu überprüfen sind – wie beispielsweise die alternative Eingabe von Tastaturbefehlen per Bildschirmtastatur, Spracheingabe oder Braille-Zeile – sind andere für außenstehende Tester kaum zu überprüfen, da ihnen nicht alle Informationen (Quellcode etc.) zugänglich sind.
Die Richtlinie WCAG, die vorrangig für Webanwendungen und deren Entwickler gedacht sind, können derweil mit Techniken für WCAG 2.0 auf Barrierefreiheit überprüft werden: Techniques for WCAG 2.0: Techniques and Failures for Web Content Accessibility Guidelines 2.0. Hier sind zu folgenden Punkten mehrere Techniken zur Aufhebung von Barrieren bei Webinhalten und zusätzlich kleine Testverfahren zu ihnen aufgelistet:

  • Generelle Techniken
  • HTML- und XHTML-Techniken
  • CSS-Techniken
  • Client-side-Scripting-Techniken
  • Server-side-Scripting-Techniken
  • SMIL-Techniken
  • Plain-Text-Techniken
  • ARIA-Techniken
  • Flash-Techniken
  • Silverlight-Techniken
  • PDF-Techniken
  • Verbreitete Fehler

Die WCAG sind zwar grundsätzlich technologieunabhängig ausgerichtet, sind aber dennoch nicht für eine allgemeingültige Überprüfung von anderer Software als Webanwendungen geeignet. Sie bieten keine Hinweise und Überprüfbarkeit für allgemeine Anwendungen, die Richtlinien können dennoch bei der Software-Entwicklung hilfreich sein.

Software auf Barrierefreiheit testen

Damit Sie sicher sein können, dass Menschen mit Behinderungen ihrer Software bedienen können, muss diese getestet werden. Ich empfehle einen Test von Hand aufgrund der Richtlinien für Barrierefreiheit bei der Softwareentwicklung.

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:

barrierefreie Softwareentwicklung muss selbstverständlich werden in Deutschland

Ich möchte diese Jahr den Prozess voran treiben, dass Software immer barrierefrei entwickelt wird. Deswegen werde ich insgesamt 4 Texteditoren entwickeln in mit denen ich zeige wie Standardsoftware barrierefrei entwickelt werden kann.
Hier geht es zur Downloadseite:

Fachartikel und Softwarevorstellungen auf Heise.de/Developer und Entwickler.de: Barrierefreie Softwareentwicklung mit JavaFX, C# WPF und Python

Fachartikel und Softwarevorstellungen geschrieben von mir:

Barrierefreie Softwareentwicklung – Wer hilft bei der Umsetzung?

Wenn Sie sich aufgrund der Informationen in diesem Artikel entschieden haben, sich mit barrierefreier Softwareentwicklung zu beschäftigen, dann nehmen Sie mit mir Kontakt auf!
Telefon: 07072/1278463
E-Mail: info@marlem-software.de

Ich biete:

Ich würde mich sehr freuen, wenn barrierefreie Softwareentwicklung zur Selbstverständlichkeit werden würde.

Warum ist barrierefreie Software-Entwicklung für Software-Unternehmen wichtig?

Im Blogartikel „Was bedeutet barrierefreie Informationstechnik?“ habe ich geschrieben, dass Unternehmen nicht dazu verpflichtet sind Ihre Software barrierefrei zu gestalten. Mit diesem Artikel möchte ich erklären, warum es sich lohnt barrierefreie Software zu entwickeln.

In Deutschland leben 9,6 Millionen Menschen mit Behinderung. Davon sind 7 Millionen schwerbehindert, dass bedeutet sie haben einen Grad der Behinderung von 50 oder mehr. Für viele dieser Menschen ist die Bedienung eines Computers die einzige Chance zu arbeiten.
Menschen mit Behinderungen haben völlig andere Kriterien nach denen sie die Software aussuchen mit der sie arbeiten. Ich mache mal ein paar Beispiele:

Im Jahr 2002 habe ich dem Microsoft Office den Rücken zugedreht und Openoffice installiert! Grund: OpenOffice hatte schon damals eine Wortergänzung. Da ich behinderungsbedingt nur mit einer Hand tippen kann, war diese Funktion eine gigantische Zeitersparnis. Das tolle an dieser Wortergänzung ist, wenn ich einmal ein Wort richtig geschrieben habe, kann ich es nie mehr falsch schreiben, weil es beim zweiten Mal schreiben nicht fertig geschrieben werden muss, sondern per drücken der Enter-Taste von Libre fertig geschrieben wird!

Lange Zeit war der Browser Opera mein Lieblingsbrowser. Da ich eine Farbsehschwäche habe gibt es Webseiten die ich nicht wahrnehmen kann. Das sind dann solche Webseiten auf denen zum Beispiel eine Hintergrundfarbe dunkelrot und die Schriftfarbe dunkelblau ist. Ganz super toller „Farbkontrast“! Der Browser Opera hat eine Funktion mit der ich die Farbe aus einer Webseite komplett entfernen kann, dass bedeutet die Webseite wird dann ganz schlicht in schwarz / weis dargestellt. Schon kann ich den Inhalt solch einer Webseite wahrnehmen. Da können andere Browser noch so tolle Funktionen haben, wenn sie diese Farbfunktion nicht haben, haben Sie gegen Opera keine Chance! Mittler Weile surfe ich mit Google Chrome, aber Opera ist noch immer auf meinem Laptop installiert für Webseiten mit unüberlegtem Farbkontrast!

Es lohnt sich also sehr wohl über die Bedürfnisse von behinderten Menschen bei der Bedienung von Software nachzudenken. Wenn Ihre Software etwas kann, was alle anderen nicht können, dann ist das ein Alleinstellungsmerkmal. Selbstverständlich muss das dann auch nach Außen hin kommuniziert werden. Wahrscheinlich ist sich LibreOffice gar nicht bewusst, dass die Wortergänzung für Menschen die behinderungsbedingt nur mit einer Hand tippen eine enorme Erleichterung ist. Deswegen machen Sie damit auch keine Werbung. Was selbstverständlich falsch ist! Wenn Software Funktionen anbietet die für Menschen mit Behinderungen eine Erleichterung bringen, darf und MUSS damit geworben werden. Schließlich soll diese Mühe sich auch lohnen.

Es gibt aber noch einen zweiten Grund warum Software-Unternehmen Ihre Software barrierefrei gestalten sollten. Im Blogartikel „Was bedeutet barrierefreie Informationstechnik?“ steht drin, dass Behörden per Gesetz dazu verpflichtet sind, nur noch barrierefreie Software einzusetzen. Möchten Sie nun Ihre Software an eine Behörde verkaufen, muss diese Barrierefrei sein! Gerade in Zeiten von Wirtschaftskrise ist man gezwungen darüber nachzudenken, wie Neukunden oder neue Kundengruppen erreicht werden können. Vielleicht ist Ihre Software für eine bestimmte Behörde geradezu Ideal! Haben Sie darüber schon mal nachgedacht? So bald Sie Ihre Software an eine Behörde verkaufen möchten, muss diese barrierefrei sein. Der Aufwand lohnt sich auf jeden Fall. Nachdem Sie Ihre Software barrierefrei gemacht haben, ist sie ja auch mehr Wert, somit kann mehr Geld für die Software verlangt werden!

Ganz zum Schluss möchte ich noch was anderes los werden:
Wenn ich solche Blogartikel mit Zielguppe „Unternehmer“ schreibe, ist mir völlig klar, dass es zwingend notwenig ist, dass innerhalb des Blogartikels irgendwo stehen muss:

Barrierefreie Software bringt mehr Umsatz!

Ich bin auch Unternehmer und Umsatz ist mir richtig wichtig!
Aber wissen Sie was mir auch richtig wichtig ist? Das Bewusstsein, dass ich die „Macht“ habe andere Menschen glücklich zu machen! Wenn Sie Ihre Software barrierefrei machen, schaffen Sie die Möglichkeit dass behinderte Menschen arbeiten können. Wenn behinderte Menschen arbeiten können, haben sie das Gefühl dass sie trotz Ihrer körperlichen Einschränkungen was leisten können und gebraucht werden. Wenn behinderte Menschen das erleben dürfen, dann sind sie glücklich! Möchten Sie nicht auch Menschen glücklich machen?

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.

Barrierefreie Software-Entwicklung: Alles eine Sache der „Einstellung“.

Die Überschrift dieses Blogartikels ist Doppeldeutig. Zum einen möchte ich hier auf die Problemstellung eingehen „Wie mache ich eine Software barrierefrei ohne, dass man es Ihr sofort ansieht?“. Zum anderen möchte ich hier nochmal die Frage aufgreifen „Lohnt es sich überhaupt eine Software barrierefrei zu gestalten?“.

Ich erlebe es immer wieder, dass die Leute sagen, „Meinetwegen darf die Webseite barrierefrei werden, aber das darf man Ihr auf kein Fall ansehen!“. Die Sache ist die, wenn ich in einem Restaurant sitze und am Nachbartisch sitzt eine attraktive, sympathische Dame würde ich auch gerne kurz mal meine Behinderung in die Hosentasche stecken, aber irgendwie klappt das nicht!
Aber keine Angst, so „brutal“ ist die Löung des Problems doch nicht. Ich wollte nur klar stellen, dass es unter Umständen in Ihrer Software stellen geben könnte, wo es einfach unvermeidbar ist, dass dem nichtbehinderten Anwender klar wird, dass die Software auch für Anwender mit Behinderung konzipiert ist.

Die Lösung des Problems ist ein Menüpunkt in Ihrer Software der „Einstellungen“ heißen könnte. Angenommen Sie machen sich wenig Gedanken darüber, ob die von Ihnen gewählten Menüshortcuts(=Tastenkürzel) für Menschen mit einer behinderten Hand gut zu bedienen sind, haben aber im „Einstellungsfenster“ eine Möglichkeit dass der Anwender die Menüshortcuts ändern kann, so ist das eine sehr gute Lösung! Der nichtbehinderte Anwender findet die Menüshortcuts die er von den gängigen Programmen kennt und der Anwender mit Behinderung, kann sich im „Einstellungsfenster“ die Menüshortcuts anpassen.

Ich mache noch ein Beispiel:
Sie haben sich bei der farblichen Gestaltung von Schaltersymbolen an die Empfehlungen von Microsoft gehalten(hier werden Menschen mit Farbfehlsichtigkeit berücksichtigt) haben aber bei der Wahl von Hintergrund-und Schriftfarbe nicht auf Menschen mit Farbfehlsichtigkeit geachtet. Aber! Sie haben im Menü „Einstellungen“ einen Möglichkeit geschaffen, dass Menschen mit einer Farbfehlsichtigkeit die Farben individuell einstellen können. Dieser Lösungsweg ist völlig in Ordnung und reicht aus!

Sie müssen also nicht für jedes Problem eine ultimative Lösung ausknobeln. Sie sollten nur wissen, welche Probleme es geben kann und dem körperlich eingeschränkten Anwender eine Möglichkeit bieten durch individuelle Einstellungsmöglichkeiten Ihre Software barrierefrei zu machen!

Kommen wir zum schwierigeren Teil des Artikels! Lohnt sich überhaupt die Mühe eine Software barrierefrei zu entwickeln? Oft fangen „wir“ behinderte Menschen damit an, dass wir nichts dafür können, dass wir behindert sind, dass die nichtbehinderten „froh“ sein sollen dass sie keine Behinderung haben und aus Dankbarkeit auf uns behinderte Menschen Rücksicht nehmen sollen. Grundsätzlich ist das gar nicht so verkehrt, aber in der Praxis bezieht man doch sehr oft „verbale Schläge“ und erntet Unverständnis! Deswegen möchte ich in diesem Blogartikel einen anderen Weg gehen. Ich bin Unternehmer und unter Umständen lesen meine Blogartikel nicht nur Software-Entwickler, sondern Unternehmer und andere Personen die entscheiden müssen ob sie ihre Software barrierefrei machen sollen. Und was interessiert solche Personen? Richtig, Geld! Kann ich damit meine Umsätze steigern oder kostet es nur?

Hier sind wir an dem Punkt angelangt, wo man sich erst mal die Frage stellt wieviel behinderte gibt es überhaupt in Deutschland? Die antwort finden Sie auf der Webseite des statistischen Bundesamts. Fast 10 Millionen behinderte Menschen im Jahr 2009.
10 Millionen Menschen haben also eine Behinderung. Machen wir ein kleines Rechenexperiment:

Sie verkaufen eine barrierefreie Software an 10 Millionen Menschen mit Behinderung für 1 Euro. Richtig, dann haben Sie 10 Millionen Euro Umsatz gemacht! Also gut, Sie kennen sich aus und sagen, dass es geistig und schwerstbehinderte Menschen gibt, die aufgrund Ihrer Behinderung keine Software bedienen können. Wir reduzieren die 10 Millionen auf 6 Millionen behinderte Menschen! Dann sind das trotzdem 6 Millionen Euro die Sie verdienen können! Wollen Sie sich das entgehen lassen?

Ich möchte noch ein anderes Argument ins Spiel bringen. Sämtliche Behörden sind seit dem Gleichstellungsgesetz von 2002 dazu verpflichtet, dass die von Ihnen eingesetzte Software barrierefrei sein muss! (Dies steht im §11 Barrierefreie Informationstechnik) Jetzt gehen die Behörden auf die Suche nach Software-Unternehmen die eine barrierefreie Software verkaufen …. Möchten Sie nicht auch von diesem „Kuchen“ etwas ab haben?

So, hierbei möchte ich es belassen. Ich hoffe Ihnen hat das lesen genau soviel Spass gemacht wie mir das schreiben. Ich würde mir wünschen, dass meine Blogartikelreihe dazu beiträgt, dass die Standardsoftware barrierefrei wird.