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
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 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:
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:
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.
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.
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:
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:
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:
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.
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