Barrierefreie Farbkontraste bei Texten nach EN 301 549

In diesem Blogartikel wird erklärt wie barrierefreie Farbkontraste bei Webseiten, Software und Apps nach EN 301 549 realisiert werden können.

Was ist die EN 301 549 ?

Die EN 301 549 ist eine europäische Norm. Sie enthält Richtlinien für folgende Bereiche:

  • Barrierefreiheit bei Webseiten
  • Barrierefreiheit bei Software
  • Barrierefreiheit bei Apps
  • Barrierefreiheit bei Hardware

Für die barrierefreie Gestaltung von Webseiten, Software, Apps und Hardware gibt es viele Prüfschritte die erfüllt sein müssen.
In diesem Blogartikel geht es um den Prüfschritt 9.1.4.3 Kontraste von Texten ausreichend

„Barrierefreie Farbkontraste bei Texten nach EN 301 549“ weiterlesen

Wie installiere ich die Java Access Bridge?

Im ArtikelWarum ist die Java Access Bridge zur barrierefreien Software-Entwicklung mit Java wichtig?“ erkläre ich warum es die Java Access Bridge gibt. In diesem Artikel wird erklärt wie die Java Access Bridge installiert wird. 

Bevor ich zur Installation der Java Access Bridge komme, muss ich noch erklären was die JRE (Java Runtime Envoirment) ist. Die JRE ist die Laufzeitumgebung von Java. Die JRE muss installiert sein, damit Java-Anwendungen überhaupt gestartet werden können. Warum ist das nun für die Installation der Java Access Bridge wichtig?
Je nachdem welche Version der JRE installiert ist, unterscheidet sich die Installation der Java Access Bridge. Da ich nicht Dinge wiederholen möchte, die an anderer Stelle gut beschrieben sind, setze ich entsprechende Links und mache ggf. Ergänzungen.

Installation der Java Access Bridge unter JRE 7

Bei der Installation der JRE 7 hat Oracle es endlich geschafft, dass die Java Acccess Bridge gleich mit installiert wird. Leider wird der Anwender während des gesamten Installationsvorgangs nicht darauf hingewiesen. Noch schlimmer ist, dass nach Abschluss der Installation die Java Access Bridge noch aktiviert werden muss und dies leider auch nirgendwo steht.

Aktivieren der Java Access Bridge unter JRE 7

Das aktivieren geht entweder über Dos-Kommando:
%JRE_HOME%\bin\jabswitch -enable
%JRE_HOME%\bin\jabswitch -disable

oder

im Windows: Die Vorgehensweise im Windows ist von Version zu Version etwas unterschiedlich. Deswegen gebe ich zwei Möglichkeiten an:

Systemsteuerung -> Erleichterte Bedienung -> Visuelle Darstellung des Bildschirms optimieren

oder

Systemsteuerung -> Erleichterte Bedienung -> Center für Erleichterte Bedienung -> Computer ohne einen Bildschirm verwenden

Einstellungsdialog in Windows 7,8 und 10 zum aktivieren der Java Access Bridge

Hier ganz runter scrollen und einen Haken bei „Java Access Bridge aktivieren“ setzen.

Eine Installationsanleitung auf Englisch finden Sie hier:
JRE 7 Update 6 Now Comes Bundled with the Java Access Bridge

Die Beschriebene Vorgehensweise funktioniert auch bei JRE 8.

Viel Spass beim installieren der Java Access Bridge

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?

 

Was ist Usability / Benutzerfreundlichkeit?

In diesem Blogartikel erkläre ich, was Usability bzw. Benutzerfreundlichkeit in der Informatik bedeutet.

Usability ist Englisch und heißt auf Deutsch Benutzerfreundlichkeit.
Für alle die lieber ein Video anschauen als Lesen gibt es jetzt ein Youtube-Video:

Beim Suchen im Internet nach einer präzisen Definition von Usability / Benutzerfreundlichkeit war ich etwas geschockt. Entweder sind die Definitionen sehr allgemein oder sie sind so abstrakt, dass sie nur von Experten verstanden werden können.

Die offizielle Definition nach ISO 9241-11 lautet:
Die ISO 9241 beschreibt Usability als das Ausmaß, in dem ein Produkt durch bestimmte Benutzer in einem bestimmten Anwendungskontext genutzt werden kann, um bestimmte Ziele effektiv, effizient und zufriedenstellend zu erreichen.

Quelle: www.usability.de

Eine andere Definition ist:
Usability ist die Gebrauchstauglichkeit oder Benutzerfreundlichkeit. Es geht darum ob der Gebrauch oder die Benutzung des Systems so ist das ich meine Aufgabe mit möglichst wenig Aufwand erreichen kann.

Also versuche ich hier mal eine eigene Definition zu „stricken“ die „Benutzerfreundlich“ ist:

Usability / Benutzerfreundlichkeit bedeutet, dass eine Webseite oder eine Software, für Menschen einfach und intuitiv zu bedienen ist und Texte einfach und verständlich geschrieben sind.

Ich möchte es nochmal anders formulieren:
Usability / Benutzerfreundlichkeit bedeuet, dass Webseiten und Software „menschenfreundlich“ gestaltet sind. Dies gilt jedoch auch für jedes andere Produkt.

Wichtige Begriffe für die Usability / Benutzerfreundlichkeit

In diesem Abschnitt möchte ich Begriffe erklären, die Sie kennen sollten, wenn Sie sich mit Usability beschäftigen. Diese Aufstellung ist selbstverständlich nicht vollständig.

Benutzer oder Anwender

Ein Benutzer oder ein Anwender ist eine Person, die mit einer Software oder Webseite arbeiten (diese benutzen). Hier ist auch der englische Begriff User sehr häufig zu finden.

System

Ein System kann eine Webseite, eine Software, ein Smartphone, ein iPhone oder ein iPad sein. Wie Sie sehen, beschränkt sich die Definition nicht auf eine Website, sondern schließt mit einem iPhone beispielsweise auch ein Produkt ein.

Das Ipad als "System".
Das Ipad als „System“.

User Experience = Benutzererfahrungen

User Experience ist das ganze Erlebnis, das der Nutzer beim Umgang mit dem System/Produkt hat. Beginnend mit seinen Erwartungen, der eigentlichen Interaktion und seinem Gefühl, was am Ende bleibt.

Nutzungskontext

Beim Nutzungskontext geht es um den Benutzer / Anwender. Es werden Erwartungen, Bedürfnisse, Vorkenntnisse, Arbeitsaufgaben und Arbeitsmittel des Benutzers analysiert.

Der Nutzungskontext hängt ab von den

  • Benutzern
  • Zielen
  • Arbeitsaufgaben
  • Arbeitsmitteln (Hardware, Software, Materialien)
  • der physischen und sozialen Umgebung

Effektivität

Die Genauigkeit und Vollständigkeit, mit der User ein bestimmtes Ziel erreichen. (ISO 9241-11) Das heißt, die vorliegenden Aufgaben sind mit einem System (Webseite oder Software) möglichst vollständig und korrekt zu erfüllen.

Effizienz

Der im Verhältnis zur Genauigkeit und Vollständigkeit eingesetzte Aufwand, mit dem Benutzer ein bestimmtes Ziel erreichen.“ (ISO 9241-11) Das heißt, der User muss mit der vorhandenen Systemfunktionalität (Funktionalität der Webseite oder Software) die anstehenden Aufgaben zuverlässig mit möglichst wenig Aufwand lösen können. Die Effizienz steht im Verhältnis zur Effektivität. Gemessen werden kann dies anhand der Zeit, die ein User braucht, um eine Aufgabe zu erfüllen.

Zufriedenstellung

„Freiheit von Beeinträchtigung und positive Einstellung gegenüber der Nutzung des Produkts.“ (ISO 9241-11)
Dieses Kriterium beschreibt die Zufriedenheit der Benutzer bei der Nutzung eines interaktiven Systems (Webseite oder Software). Es handelt sich hierbei um ein eher subjektives Kriterium im Bereich der Usability, welches dennoch näher gemessen werden kann anhand von:

  • Verhältnis von positiven zu negativen Kommentaren während der Programmbenutzung / Webseitenbenutzung
  • Häufigkeit des Produktverkaufs
  • Häufigkeit von Beschwerden

Prinzipien der Usability

Ein Dialog ist eine bestimmte Form eines Programmfensters. Ich erkläre anhand der Gestaltung eines Dialoges die Usability-Prinzpien der ISO 9241.

Aufgabenangemessenheit

Ein Dialog ist aufgabenangemessen, wenn er den User unterstützt, seine Arbeitsaufgabe effektiv und effizient zu erledigen.

Selbstbeschreibungsfähigkeit

Ein Dialog ist selbstbeschreibungsfähig, wenn jeder einzelne Dialogschritt durch Rückmeldung des Dialogsystems unmittelbar verständlich ist oder dem Benutzer auf Anfrage erklärt wird. Dies ist ein sehr wichtiger Punkt in Sachen Usability, den Unternehmen durch Testing erforschen sollten. Ansonsten könnten User als potenzielle Kunden schnell wieder abspringen.

Erwartungskonformität

Ein Dialog ist erwartungskonform, wenn er konsistent ist und den Merkmalen des Benutzers entspricht, z.B. den Kenntnissen aus dem Arbeitsgebiet, der Ausbildung und der Erfahrung des Benutzers sowie den allgemein anerkannten Konventionen. Dies gilt heute auch für verschiedene Plattformen. Das Design einer Website sollte beispielsweise auch für mobile Endgeräte optimiert sein. Im Hinblick auf die Erwartungskonformität ist bei Unternehmen und Anbietern natürlich vorher auch Research gefragt – schließlich muss man die Erwartungen seiner Zielgruppe kennen, um sie erfüllen zu können.

Fehlertoleranz

Ein Dialog ist fehlertolerant, wenn das beabsichtigte Arbeitsergebnis trotz erkennbar fehlerhafter Eingaben entweder mit keinem oder mit minimalem Korrekturaufwand durch den User erreicht werden kann.

Steuerbarkeit

„Ein Dialog ist steuerbar, wenn der Benutzer in der Lage ist, den Dialogablauf zu starten sowie seine Richtung und Geschwindigkeit zu beeinflussen, bis das Ziel erreicht ist.“
Websites sind für ihre Besucher fremdes Terrain. Auf fremdem Terrain fühlt sich der Mensch leicht unsicher und ist in seinen Handlungen unkoordiniert und unter Umständen ziellos. Je eher ihm die Möglichkeiten aufgezeigt werden, die ihm zur Verfügung stehen, desto früher und zielsicherer wird er agieren. Hier spielt auch Design einer Website eine wichtige Rolle – nur wenn es sich klar und gut erkennbar steuern lässt, wird bei Nutzern eine hohe Usability erreicht.

Individualisierbarkeit

er Benutzer soll die Möglichkeit haben, die Anwendung an seine Bedürfnisse anzupassen. Das Design eines Systems sollte so etwas jederzeit zulassen und möglichst viele individuelle Einstellungen gewähren – auch hier ist vor dem Launch einer Website Testing sowie Research gefragt, um die Usability und die individuellen Wünsche der Kunden bereits im Vorfeld erforschen zu können. Die Individualisierbarkeit gibt es auch im Bereich Accessibility, also Barrierefreiheit. Das kostenlose Office „LibreOffice“ ist dafür ein schönes Beispiel, wie folgender Screenshot zeigt:

Einstellungsmöglichkeiten von LibreOffice zur barrierefreien Bedienung für Menschen mit Behinderung
Einstellungsmöglichkeiten von LibreOffice zur barrierefreien Bedienung für Menschen mit Behinderung

Farben

Bei der Auswahl von Farben sind Sie gut beraten, sich zu beschränken. Je mehr Farben Sie verwenden, desto unübersichtlicher wird das gesamte Design für den Nutzer. Bei Internetseiten kann die richtige Farbwahl dafür sorgen, dass die Nutzer länger auf einer Webseite bleiben und die falsche Farbwahl, dass die Nutzer nach wenigen Sekunden wieder verschwinden.
Sie sollten auch darüber nachdenken, dass es Menschen mit Farbenfehlsichtigkeit gibt. Diese Menschen sind nicht immer in der Lage, einer Farbe den richtigen Namen zu geben. Außerdem fehlt Ihnen das Gefühl dafür, welche Farben zusammenpassen. Ebenso ist es für diese Menschen wichtig, dass Sie einen guten Farbkontrast wählen. Hierfür ist das kostenlose Tool Colour Contrast Analyser eine große Hilfe.

Hier ein Beispiel für ein Design mit gutem und eins mit schlechtem Farbkontrast:

Oben ist die Schriftfarbe gut sichtbar, weil ein guter Farbkontrast zwischen Hintergrund-und Schriftfarbe gewählt wurde unten nicht
Oben ist die Schriftfarbe gut sichtbar, weil ein guter Farbkontrast zwischen Hintergrund-und Schriftfarbe gewählt wurde unten nicht – sehr wichtig für die User experience

Lernförderlichkeit

„Ein Dialog ist lernförderlich, wenn er den Benutzer beim Erlernen des Dialogsystems unterstützt und anleitet.“
Das Maß, in dem es notwendig ist, lernförderliche Maßnahmen zu ergreifen, ist direkt abhängig von der Abweichung eines Dialogs von beim Besucher gespeicherten kognitiven Mustern. Diese basieren auf Erfahrungen mit anderen Websites und ermöglichen ihm eine Adaption seiner Kenntnisse auf neuen Websites. Auch hier gehören Research (Befragungen potenzieller Nutzer) und Testing (Tests durch potenzielle Nutzer) zu den probaten Methoden, um die Usability zu verbessern.

Accessibility – Barrierefreiheit

Barrierefreiheit in der Informatik bedeutet, dass Webseiten, Programme und Betriebssysteme so gestaltet sind, dass sie von allen Menschen, auch von Menschen mit körperlichen Einschränkungen, bedient werden können. Auch hier sollte die User Experience im Mittelpunkt stehen.
Barrierefreiheit heißt auf Englisch Accessibility.
Was Barrierefreiheit in der Informatik bedeutet, können Sie in diesem Youtube-Video anschauen:

World Usability Day 2017 Markus Lemcke ist Referent: Inklusion von Barrierefreiheit in die Benutzerfreundlichkeit

Am 9. November 2017 war ich zum ersten Mal auf dem World Usability Day Referent. Mein Vortrag gibt es als Youtube-Video:

und als Blogartikel:
World Usability Day 2017 Markus Lemcke ist Referent: Inklusion von Barrierefreiheit in die Benutzerfreundlichkeit

Schlussbemerkung:

Es ist nicht einfach, den Begriff „Usability“ in einfacher Sprache zu erklären. Bei meinen Recherchen im Internet habe ich sehr viel Fachchinessisch gefunden. Dennoch hoffe ich, dass es mir gelungen ist, das Thema „Usability“ so zu erklären, dass jeder, der diesen Blogartikel liest, danach eine Vorstellung hat, was Usability ist und warum Usability und damit auch die User Experience sehr wichtig ist.

Barrierefreiheit bei Java

Noch immer ist die Barrierefreiheit bei Programmen ein Randgebiet. Leider! Dabei eignet sich zum Beispiel die Programmiersprache Java excellent um Barrierefreiheit bei Software zu verwirklichen. In diesem Artikel erkläre ich was „Barrierefreiheit bei Java“ ist, wie es umgesetzt werden kann und warum es wichtig ist, dass es auch geschieht.

Barrierefreiheit bei Java – Was ist Java?

Java ist eine Programmiersprache mit der Software, also Programme entwickelt werden. Das besondere an Java-Programmen ist, dass sie nicht nur auf dem Betriebssystem Windows laufen, sondern auch auf anderen Betriebssystemen wie Unix oder Linux. Diese Eigenschaft wird auch Plattformunabhängigkeit genannt.
Mit Java können Sie auch Programme für das Internet entwickeln. Das nennt sich eine Webanwendung.
Außerdem werden mit Java auch Apps entwickelt für das Smartphone-Betriebssystem Android.

Was bedeutet Barrierefreiheit bei Java?

In Wikipedia wird Barrierefreiheit wie folgt definiert:
Barrierefreiheit bezeichnet im deutschen Sprachgebrauch eine Gestaltung der baulichen Umwelt, sowie der Information und Kommunikation in der Weise, dass sie von Menschen mit Behinderung und von älteren Menschen in derselben Weise genutzt werden kann wie von Menschen ohne Behinderung.
Dies ist eine allgemeine Definition von Barrierefreiheit.
Barrierefreiheit bei Java bedeutet, dass eine Software, entwickelt mit der Programmiersprache Java, so gestaltet ist, dass Menschen mit unterschiedlichen Behinderungen diese Software bedienen können.

Barrierefreiheit bei Java – Welche Probleme gibt es?

Menschen mit Behinderungen haben unterschiedliche Probleme bei der Bedienung von Software. Blinde Menschen haben es am schwersten. Sie arbeiten mit einer Software die sich Screenreader nennt. Diese Software liest den Bildschirminhalt vor. Damit der Screenreader die Programmoberfläche vorlesen kann, muss diese Informationen hinterlegt haben, die der Screenreader lesen kann. Programme die dem Screenreader keine Informationen übermitteln können von Blinden nicht benutzt werden.
Ein weiteres Problem ist, dass blinde Menschen keine Maus bedienen können. Das bedeutet eine Software muss komplett per Tastatur bedienbar sein.
Dies sind nur zwei von mehreren Beispielen. Barrierefreiheit bei Java Programmen löst obige Probleme.

Barrierefreiheit bei Java – Swing-Komponenten „sprechen“ mit Screenreadern

Damit die Oberfläche von Programmen mit Screenreadern „spricht“ müssen bestimmte Bedingungen erfüllt sein. Die Programmoberfläche muss Möglichkeiten bieten, damit Informationen für die Screenreader hinterlegt werden können. Diese Möglichkeit bieten Swing-Komponenten. Swing-Komponenten besitzen Eigenschaften denen Texte zugeordnet werden können, welche Screenreader vorlesen. Barrierefreiheit mit Java bedeutet, dass die Software mit Swing-Komponenten „spricht“.

Barrierefreiheit bei Java – Eine Brücke schafft die Verbindung zwischen Software und Screenreader

Damit die Information von der Java-Software zum Screenreader gelangt benötigt es eine „Verbindung“. Die Java Access Bridge. Bridge ist englisch und bedeutet auf deutsch „Brücke“. Die Java Access Bridge ist zwingend notwendig, damit der Screenreader die Programmoberfläche der Java-Software vorlesen kann. Ohne die Java Access Bridge kann keine vollständige Barrierefreiheit der Software erreicht werden.

Barrierefreiheit bei Java – Warum ist das wichtig?

Damit Programme für alle Menschen bedienbar sind, sollten sie Barrierefrei sein. Barrierefreiheit bei Java ermöglicht es, Programme zu entwickeln die für Menschen mit Behinderung uneingeschränkt nutzbar sind. Von Barrierefreier Software profitieren auch Menschen im fortgeschrittenen Alter. Barrierefreiheit ermöglicht es, dass alle Menschen Programme bedienen können.

Barrierefreiheit bei Java – Ich analysiere Ihre Software

Haben Sie eine Software entwickelt mit Java und möchten wissen wie es um die Barrierefreiheit steht? Ich kann Ihre Java Software auf Barrierefreiheit überprüfen und Ihnen danach mitteilen wie aufwendig es ist, die Barrierefreiheit bei Ihrer Java Software umzusetzen.

Barrierefreiheit bei Java – Sind Sie neugierig geworden?

Haben Sie ein Java-Programm welches Sie barrierefrei machen möchten?
Ich biete Schulungen an zur Barrierefreiheit mit Java oder analysiere ihr Java  Programm/Software auf Barrierefreiheit. Ich bin mir sicher dass Barrierefreiheit bei Java Programmen Zukunft hat.
Rufen Sie mich an: 07121/504458

Mehr Informationen zur Barrierefreiheit finden Sie in diesem Blogartikel:
Barrierefreie Software-Entwicklung mit Java

Warum ist die Java Access Bridge zur barrierefreien Software-Entwicklung mit Java wichtig?

Ich habe gerade einen Auftrag bei dem es darum geht eine Software, entwickelt mit der Programmiersprache Java, barrierefrei zu machen. Hierbei musste ich mich intensiv mit der Java Access Bridge beschäftigen. Was die Java Access Bridge ist und wofür Sie gebraucht wird, erfahren Sie in diesem Artikel.

Was eine Barrierefreie Software ist, wird in diesem Blogartikel erklärt
Was ist eine “barrierefreie Software”? (  ). Barrierefreie Software-Entwicklung bedeutet, dass eine Software so entwickelt ist dass sie von Menschen mit unterschiedlichen Behinderungen bedient werden kann. Die Programmiersprachen Java und C# eignen sich zur barrierefreien Software-Entwicklung.

Blinde und auch viele Sehbehinderte Menschen können den Computer nur mit einem Screenreader bedienen. Die schwierigste Aufgabe der barrierefreien Software-Entwicklung ist, die komplette Software für Blinde und Sehbehinderte komplett zugänglich zu machen. Hierzu gehört dass die Programmoberfläche Informationen für Screenreader bereitstellt. Sie müssen Swing-Komponenten zur Oberflächenprogrammierung verwenden. Jede Swing-Komponenten hat die Eigenschaft „AccessibleName“ und „AccessibleDescription“. Hier müssen Texte hinterlegt werden, welche den Screenreadern mitgeteilt werden.
Jetzt ist die Frage wie kommen die Informationen der Programmoberfläche zum Screenreader?

Es gibt bei Java eine Java Accessibility API (JAAPI). Die Java Accessibility API (JAAPI) Ermöglicht die Kommunikation zwischen Java-Anwendungen und Unterstützungstechnologien (zum Beispiel Screenreader oder Braille-Zeile). Die Java Access Bridge ist die Brücke zur Kommunikation zwischen den Unterstützungstechnologien wie Screenreader oder Braillezeile und der JAAPI.

Kurz gesagt, damit Ihre Software mit Screenreadern kommunizieren kann, muss die Java Access Bridge installiert sein. Da die Installation der Java Access Bridge nicht ganz einfach ist, werde ich diese in einem eigenen Artikel erklären.

Wie Sie die Java Access Bridge installieren, erfahren Sie in folgenden Blogartikel:
Wie installiere ich die Java Access Bridge? 

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.

Informatikvorlesung an der Hochschule für Medien in Stuttgart über Accessibility bei Internetseiten, Software und Android Smartphones

Am 14. Dezember 2011 habe ich eine Vorlesung in der Hochschule der Medien in Stuttgart gehalten. In der Vorlesung habe ich die Probleme von Behinderten Menschen geschildert beim besuchen von Webseiten und bedienen von Software. Ich habe aufgezeigt welche Eingabehilfen die einzelnen Betriebsystemversionen von Windows bieten. Außerdem habe ich gezeigt, wie ein Smartphone ein wichtiges Hilfsmittel für behinderte Menschen sein kann, wenn es für Menschen mit Behinderung bedienbar ist.

Ich möchte hier kurz schreiben, warum ich diese Vorlesungen gerne mache, auch wenn man damit nicht reich wird. Meine Vision ist es nach wie vor, dass Barrierefreiheit/Accessebility in allen technischen Bereichen zur Selbstverständlichkeit wird. Deswegen habe ich auch die Artikelreihe über barrierefreie Software-Entwicklung begonnen. Mir ist es wichtig, dass Informatikstudenten in Ihrem Studium lernen, warum Barrierefreiheit/Accessibility so wichtig ist und das es nicht nur um behinderte, sondern auch um ältere Menschen geht.

Deswegen bin ich immer auf der Suche nach Einrichtungen(Unis, Hochschulen usw.) im Raum Reutlingen, Tübingen, Stuttgart die Interesse an solchen Vorlesungen/Vorträgen haben. Wenn Sie an Vorträgen zum Thema „Accessibility/Barrierefreiheit“ interessiert sind, rufen Sie mich an 07121/504458 oder schreiben eine Mail an  info@marlem-software.de.