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
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.
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.
In diesem Blogartikel geht es noch mal um barrierefreie Programme, barrierefreie Anwendungen, barrierefreie Software und warum die Programmiersprachen Java und C# / .net sich hierfür sehr gut eignen.
Was bedeutet barrierefreie Programme, Anwendungen und Software? Die Begriffe Programm, Anwendung und Software meinen das gleiche. Ich gebe hier die Wikipedia-Definition von Computerprogramm wieder:
Ein Computerprogramm oder kurz Programm ist eine Folge von den Regeln einer bestimmten Programmiersprache genügenden Anweisungen (bestehend aus Deklarationen und Instruktionen), um auf einem Computer eine bestimmte Funktionalität, Aufgaben- oder Problemstellung bearbeiten/lösen zu können.
Ein Programm / eine Anwendung / eine Software ist barrierefrei wenn sie auf die Einschränkungen von Menschen mit unterschiedlichen Behinderungen Rücksicht nimmt.
Zunächst möchte ich die Frage klären, welche Voraussetzungen eine Programmiersprache haben muss damit mit Ihr barrierefreie Programme bzw. barrierefreie Anwendungen bzw. barrierefreie Software entwickeln kann.
Die schwierigste Herausforderung ist, dass eine Software für Blinde und Sehbehinderte bedienbar ist. Hierfür muss eine Programmoberfläche Informationen für Screenreader bereitstellen. In Deutschland leben ca. 155 000 blinde und etwa eine halbe Million sehbehinderte Menschen. Die Programmiersprache Java, hier die Swing-Komponenten, und die Programmiersprache C# bieten die Möglichkeit Beschreibungstexte der Programmoberflächen für Screenreader zu hinterlegen.
Damit die Programmoberfläche mit dem Screenreader und sonstigen Eingabehilfen kommunizieren kann bedarf es ein Schnittstelle. Früher war es bei Windows /.net die Microsoft Active Accessibility abgekürzt, MSAA. Microsoft hat die Schnittstelle umbenannt und verbessert. Jetzt heißt sie „Benutzeroberflächenautomatisierung und Microsoft Active Accessibility“.
Bei der Programmiersprache Java heißt die Schnittstelle „Java Access Bridge“. Sie ist von Haus aus nicht bei Windows dabei, sondern muss erst installiert werden. Die Installation war bisher sehr abenteuerlich. Seit der Java Runtime Environment 7 wird die Java Access Bridge mit installiert. Allerdings muss sie nach der Installation noch aktiviert werden. Ich werde in Kürze einen extra Artikel über die Java Access Bridge schreiben.
Ein weiteres wichtiges Kriterium für barrierefreie Programme, barrierefreie Anwendungen und barrierefreie Software ist das übernehmen von Systemeinstellungen. Sehbehinderte ändern unter Umständen die Größe der Systemschrift. Diese Änderungen muss von einem barrierefreien Programm übernommen werden. Auch hier bieten die Programmiersprachen Java und C# Möglichkeiten.
Die Firmen IBM, Oracle und Microsoft haben Richtlinien entwickelt, welche Kriterien eine Anwendung erfüllen muss, damit sie als barrierefrei bezeichnet wird. Diese Richtlinien werde ich auch noch auf diesem Blog veröffentlichen.
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.
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.
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 nächste Bild zeigt eine barriererefreie Software die mit der Programmiersprache Python entwickelt wurde und unter dem Apple Betriebssystem MacOS gestartet werden kann:
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.
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:
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
Eigentlich ist es nicht sinnvoll nachdem ich so viele Artikel über Barrierefreiheit geschrieben habe, solch einen Grundsatzartikel zu schreiben. Ich hatte heute ein Telefonat mit einer Person die in der IT-Branche arbeitet und Sie hatte so überhaupt keine Ahnung was Barrierefreiheit ist, deswegen dieser Blogartikel!
Im Mai 2002 wurde ein Gleichstellungsgesetz für behinderte Menschen verabschiedet. Dieses Gesetz soll Benachteiligung von behinderten Menschen vermeiden.
In diesem Gesetz gibt es folgenden Paragraphen:
§ 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.
Dieser Paragraph ist die Grund warum solche Begriffe wie „Barrierefreies Internet“ „barrierefreies Webdesign“, und „barrierefreie Softwareentwicklung“ entstanden sind.
Obiger Paragraph verpflichtet staatliche Einrichtungen Ihre Webseiten und Software barrierefrei zu gestalten. Unternehmen sind nicht dazu verpflichtet Ihre Webseiten und Software barrierefrei zu gestalten, sie sollten es tun!
In folgendem Video wird Barrierefreiheit in der Informatik erklärt.
Folgende Blogartikel liefern weitere Informationen zu barrierefreie Informationstechnik:
Was ist barrierefreie Softwareentwicklung?
Zur barrierefreie Informationstechnik gehört die barrierefreie Softwareentwicklung. Wenn eine Software so entwickelt wird, dass Menschen mit unterschiedlichen körperlichen Einschränkungen diese Software bedienen können, dann ist das barrierefreie Softwareentwicklung. Nachstehende Links gehören zu barrierefreie Softwareentwicklung:
Folgendes Video erklärt die barrierefreie Softwareentwicklung mit Dotnet:
Das nächste Video erklärt die barrierefreie Softwareentwicklung mit Java – Swing:
Was ist barrierefreies Webdesign?
Ein weitere Baustein der barrierefreie Informationstechnik ist das barrierefreie Webdesign. Barrierefreies bedeutet dass eine Webseite so programmiert wird dass sie auch für Menschen mit körperlichen Einschränkungen bedienbar ist. Folgende Artikel beschäftigen sich mit barrierefreies Webdesign:
Auf dem Bild sehen Sie eine Webseite bei der oben der Farbkontrast zwischen Hintergrund-und Schriftfarbe in Ordnung ist und unten ist der Farbkontrast sehr schlecht.
Hier noch ein Video zu barrierefreies Webdesign:
Barrierefreiheit bei Betriebssystemen
Damit Menschen mit körperlichen Einschränkungen Coomputer, Laptops, Smartphones, Iphones, Tablets und Ipads bedienen können müssen auch Betriebssysteme barrierefrei sein. Nachstehende Artikel beschäftigen sich mit barrierefreie Informationstechnik bei Betriebssysteme:
Auf dem Bild sehen Sie die Zugangshilfen für behinderte Menschen des Betriebssystems Ubuntu.
Hier gibt es noch ein Video zum Thema „Barrierefreiheit bei Betriebssysteme“:
Barrierefreie App-Entwickling
Auch Apps sollten so entwickelt werden, dass sie von Menschen mit unterschiedlichen Einschränkungen bedient werden können. Dieser Vorgang nennt sich barrierefreie App-Entwicklung. Folgender Artikel erklärt was barrierefreie Apps sind:
Accessibility ist englisch und bedeutet wörtlich übersetzt Zugänglichkeit. Gemeint ist aber Barrierefreiheit. In folgendem Artikel wird erklärt was Accessibility bedeutet.
Wenn Sie Beratung möchten in Sachen barrierefreie Informationstechnik dann schreiben Sie mir eine Mail an info@marlem-software.de oder rufen Sie mich an: 07121/504458 .
Mit dem heutigen Artikel möchte ich versuchen etwas anzuregen. Damit es die Software-Entwickler bei der Entwicklung von barrierefreier Software leichter haben, sollten Entwicklungsumgebungen einen Modus haben, der während der Arbeit Überprüft ob die Software barrierefrei ist.
Um das Thema barrierefreie Software-Entwicklung einer breiteren Öffentlichkeit zugänglich zu machen, gab es letztes Jahr eine ganze Blogartikelreihe zur barrierefreien Software-Entwicklung. Durch ein Gespräch in der letzten Woche bin ich auf die Idee gebracht worden, dass es für die Software-Entwickler eine große Erleichterung ist, wenn die Entwicklungsumgebung eine Möglichkeit hätte die Barrierefreiheit während der Entwicklung zu überprüfen. Eine Entwicklungsumgebung ist eine Software mit dessen Hilfe Programmierbefehle eingegeben werden um eine neue Software zu erstellen. Jede Programmiersprache hat Ihre eigene Entwicklungsumgebung.
Ich könnte mir das folgender Maßen vorstellen:
Zunächst mal wäre es sinnvoll, dass die Hersteller von Entwicklungsumgebungen die Richtlinien für barrierefreie Software-Entwicklung veröffentlichen. Es gibt Richtlinien von Sun / Oracle und Microsoft. IBM hat auch Richtlinien für barrierefreie Software-Entwicklung, stellt aber keine Entwicklungsumgebung her.
Als zweites möchte ich die Idee von meinem Besuch aufgreifen. Es lassen sich mit Sicherheit nicht alle Kriterien der Barrierefreiheit per Software überprüfen, aber einige schon. Hierfür könnte es einen bestimmten „Modus“ geben oder dass ein bestimmter Haken gesetzt werden muss innerhalb der Entwicklungsumgebung. Die Entwicklungsumgebung überprüft nur dann auf Barrierefreiheit, wenn dieser Modus aktiviert ist.
Für Java könnte zum Beispiel überprüft werden ob für die Programmoberfläche Swing-Komponenten verwendet wurden, weil nur diese eine Möglichkeit besitzen Screenreader mit Informationen für blinde und sehbehinderte Menschen zu versorgen.
Hier sind wir bei dem zweiten Kriterium. Wenn eine Software für blinde und sehbehinderte Menschen bedienbar sein soll, dass müssen die Komponenten für die Programmoberfläche Informationen für Screenreader bereitstellen. Dies geschieht über bestimmte Eigenschaften der Komponenten. Die Entwicklungsumgebung könnte hier überprüfen ob diese Eigenschaften Texte enthalten oder ob diese Eigenschaften leer sind.
Ein weiteres wichtiges Kriterium ist die Bedienbarkeit per Tastatur. Blinde und Sehbehinderte arbeiten nicht mit der Maus, sondern mit der Tastatur. Deswegen gehört es zu einer barrierefreien Software dazu, dass eine Software komplett per Tastatur bedienbar ist. Hier könnte die Entwicklungsumgebung überprüfen ob Menüs auch über Tastenkürzel erreichbar sind, ob Java-Entwickler mittels Labelfor Beschriftungen von Eingabefeldern per Tastenkürzel erreichbar sind und vieles mehr!
Wenn der Modus zur Überprüfung auf Barrierefreiheit aktiv ist und es ist ein Kriterium nicht erfüllt, sollte der Compiler eine Fehlermeldung anzeigen, und die Compilierung, so heißt der Vorgang wenn aus Befehle Maschinencode generiert wird, bricht ab! Somit wären die Software-Entwickler gezwungen sich um die fehlende Barrierefreiheit zu kümmern!
Ich möchte mit diesem Artikel nur Anregungen geben und würde mich freuen, wenn Hersteller von Entwicklungsumgebungen mit mir Kontakt aufnehmen würden um diese Idee in die Tat umzusetzen.
Im Blogartikel „Accessibility – Barrierefreie Software-Entwicklung: Blinde“ habe ich erklärt, welche Probleme blinde Menschen bei der Bedienung von Software haben. In diesem Blogartikel erfahren Sie wie Software entwickelt werden kann, damit blinde Menschen keine Probleme bei der Bedienung von Software haben.
Da blinde Menschen mit einem Programm namens Screenreader arbeiten, sind sie darauf angewiesen, das die Programmoberfläche der Software dem „Bildschirmleser“ Textinformationen bereitstellen.
Wenn Sie Programmoberflächen mit Java entwickeln sollten Sie die Swing-Komponenten benutzen. Diese haben die Eigenschaften „AccessibleName“ und „AccessibleDescription“. Diesen Eigenschaften können Sie Textinformationen für den Screenreader zuweisen. Näheres über die barrierefreie Softwareentwicklung mit Java können Sie im Blogartikel „Accessibility: Barrierefreie Software-Entwicklung mit Java“ nachlesen.
Wenn Sie mit dem Microsoft .net-Framework Programmoberflächen entwickeln so gibt es dort ebenso die Eigenschaften „AccessibleName“ und „AccessibleDescription“.
Ausführliche Informationen finden Sie im Blogartikel „Accessibility: Barrierefreie Software-Entwicklung mit .net bzw. C#“.
Ebenso ist es wichtig, dass Sie Grafiken einen Alternativtext geben. Falls In Ihrer Software Videos vorhanden sind, die für die Benutzung der Software wichtig sind, sollten Sie eine Zusammenfasung des Videoinhalts als Text bereitstellen.
Blinde Menschen können keine Computermaus bedienen, deswegen muss eine Software komplett per Tastatur bedienbar sein, damit Sie für blinde Menschen bedienbar ist. Ihre Software sollte ein Menü besitzen in dem die wichtigsten Programmfunktionen vorhanden sind. Außerdem hilft es blinde Menschen, wenn wichtige Programmfunktionen mit Tastenkürzel(Shortcuts) ausgeführt werden können. Wenn Ihre Software nur Schalter ohne Beschriftung besitzt, müssen blinde Menschen so lange die Tabulatortaste drücken, bis der gewünschte Schalter den Fokus hat. Das ist sehr mühsam.
Wenn Sie in Ihre Software Eingabefelder mit Beschriftungen haben, dann sorgen Sie dafür, dass die Beschriftung mit dem Eingabefeld verbunden ist und per Tastenkürzel direkt erreichbar ist. Wenn der Blinde das Tastenkürzel der Beschriftung drückt wird der Textcursor in das dazugehörige Eingabefeld gesetzt.
Mit diesen Maßnahmen wird Ihre Software für Blinde bedienbar.
Das Unternehmen Marlem-Software bietet ab sofort Vorträge, Schulungen und Workshops zum Thema Accessibility mit Java.
Java war die erste Programmiersprache welche Accessibility(=Zugänglichkeit, Barrierefreiheit) unterstützte. Für mich war das der Hauptgrund warum ich Java lernte.
Accessibility bei Software bedeutet, dass die Anwendungen auch von Menschen mit unterschiedlichen Behinderungen zu bedienen ist.
Am 2. November 2009 habe ich beim Fernsehsender MDR in Leipzig einen Vortrag gehalten zum Thema „Accessibility in Java“.
Dadurch dass ich körperbehindert und Software-Entwickler bin, kann ich die Probleme beider Seiten verstehen und kann, zusammen mit Ihnen konstruktive Lösungen entwickeln. Sie erfahren welche Art von Behinderung, welche Probleme bei der Bedienung von Software hat und welche Lösungen es gibt.
Sie lernen welche Richtlinien es gibt zur barrierefreien Software-Entwicklung mit Java und wie diese umgesetzt werden können.
Meine Schulungen und Workshops wenden sich hauptsächlich an Software-Entwickler. Die Vorträge sind auch für Personen die entscheiden müssen, ob eine Software barrierefrei gemacht werden soll oder nicht.
Im letzten Artikel haben wir die Grundlagen der barrierefreien Software-Entwicklung mit der Programmiersprache Java angeschaut. In diesem Artikel schauen wir an, wie Java-Software auf Barrierefreiheit getestet werden können.
Angenommen Sie haben sich richtig Mühe gegeben Ihre Java-Software barrierefrei zu entwickeln und möchten nun wissen, ob die Software wirklich barrierefrei ist. Welche Möglichkeiten gibt es?
Zunächst mal muss man feststellen, dass unter Umständen barrierefrei nicht barrierefrei ist. Wenn eine Software für eine bestimmte Person oder Personengruppe(z. B. Blinde Menschen) mit einer bestimmten Behinderung barrierefrei gemacht werden soll, ist das nicht so zeitaufwendig, wie eine barrierefreie Software die alle möglichen Behinderungsarten berücksichtigen soll.
Ein Software die für blinde Menschen barrierefrei entwickelt werden soll, kann anschließend von einem blinden Menschen auf Barrierefreiheit getestet werden.Wenn eine Software sämtliche Behinderungsarten berücksichtigen soll ist diese Art von Test keine gute Idee.
Die Entwickler von Java, die Firma Sun, haben auch über dieses Problem nachgedacht.Deswegen entwickelten Sie eine Software mit der Java-Anwendungen auf Barrierefreiheit testen kann. Die Software heißt „Java Accessibility Helper“.
Mit dem „Java Accessibility Helper“ kann man Java-Anwendungen auf alle wichtigen Kriterien der Barrierefreiheit testen. Zum Beispiel kann mit dem Java Accessibility Helper getestet werden ob eine Java-Anwendung nur mit Tastatur bedienbar ist. Blinde und viele Sehbehinderte Menschen arbeiten nur mit Tastatur und nicht mit der Maus.
Der Java Accessibility Helper kann hier runter geladen werden: Java Accessibility Helper