SEO und Barrierefreiheit – Ein Traumteam

Gastartikel von  lomali

Wie versprochen, befasse ich mich heute mit den zwei – für uns sehr wichtigen – Themen SEO und Barrierefreiheit. Ihr meint sicher, dass sowohl die Suchmaschinenoptimierung als auch die Barrierefreiheit sehr komplexe Themen sind und man für deren Beachtung viel Geld ausgeben muss.

Wenn Unwissenheit im Spiel ist, gibt es wie in vielen Bereichen im Leben Vorurteile, die gar nicht oder nur zum Teil stimmen. Auch bei diesen zwei Themen gibt es Vorurteile und oft sind das die Gleichen.

Aktualisierung bitte!
Diese zwei Themen haben nicht nur gemeinsame Vorurteile, wie Zeitintensiv, kostspielig und kompliziert, sondern müssen zusammen behandelt werden, da sie in sehr vielen Bereichen ineinander reinspielen.

Wenn man z. B. eine zwei Jahre alte Webseite für die Suchmaschinen und Barrierefreiheit optimieren möchte, ist das klar zeitintensiv und diese Zeit möchte auch bezahlt werden.

Die Ursache, dass eine nachträgliche Optimierung oftmals – muss es aber nicht sein – zeitintensiv ist, liegt nicht in der Komplexität der Themen. Eher sind die vielen selbsternannten Webdesigner schuld. Sie verfügen oftmals über altes HTML-Wissen oder meinen, man könne mit Generatoren, wie es sie zu tausende im Internet gibt, eine korrekt strukturierte Webseite basteln.

Dieser Umstand führt dazu, dass sehr viele Webseiten nicht richtig strukturiert sind und auf alten HTML-Standards aufbauen.

Der aktuelle HTML-Standard XHTML 1.0 und das neue HTML5 zwingen Programmierer dazu, optimiert für Suchmaschinen und Barrierefreiheit zu arbeiten.

Der richtige Weg
Man kann z. B. bei XHTML 1.0 den Doctype STRICT verwenden. Mit diesem Doctype sind die Regeln für das HTML-Dokument besonders streng definiert (einige tags sind z.B. nicht mehr erlaubt). Bei Regelverstoss werden die Fehler umgehend vom W3C-Validator gemeldet. Er prüft beispielsweise ob alle Bilder einen Alternativtext haben. Auch überprüft er die korrekte Codierung und Strukturierung der Webseite.

So bemüht sich der Webdesigner von Anfang an richtig und genau zu arbeiten. Dadurch werden automatisch die elementaren Grundlagen der SEO und Barrierefreiheit berücksichtigt.

Ein Tipp an alle jungen Webdesigner am Rande:
Die Struktur und die Gestaltung einer guten Webseite ist immer gut in HTML- und CSS-Definitionen aufgeteilt.

Was hat SEO eigentlich mit Barrierefreiheit zutun?
Viele Leute schauen diese zwei wichtigen Themen immer getrennt an und produzieren so gegebenenfalls mehr Kosten bei der Realisierung der Webseite.

Wenn man sich aber einmal vor Augen führt, wie die Suchmaschinen mit ihren Webcrawlers die eigene Webseite durchsuchen und analysieren, dann erkennt man, dass dieses Vorgehen sich gar nicht sehr von den Vorgehen eines Screen-Readers für sehbehinderte Besucher unterscheidet.

Ein sehr interessanter Bereich der Barrierefreiheit ist die Medienvielfalt im Internet. Seh- und Hörbehinderte können Videos bzw. Musik nicht wahrnehmen. Eine barrierefreie Webseite muss deshalb immer eine Alternative zu den Medien bieten, eine Transkription.

Wenn wir nun den Schritt zur Suchmaschinenoptimierung machen, können wir mit Transkriptionen unserer Medien unsere Platzierung in den Suchmaschinen verbessern. Bis heute können die Webcrawlers noch keine Videos und Musik auf Stichworte durchsuchen oder analysieren.

Es gibt noch viel mehr Bereiche einer Webseite in denen sich SEO und Barrierefreiheit ergänzen.

Mehr Vorbereitung, geringere Kosten
Ihr seht wie man mit geringem Aufwand gerade zwei sehr wichtige Themen einer guten Webseite umsetzen kann. Kleinerer Aufwand heisst auch tiefere Kosten bei der Realisation.

Wie schon oben geschrieben, ist die nachträgliche Optimierung sehr viel mühsamer und teuerer. Deshalb muss man schon in der Planungsphase und bei der Gestaltung bzw. Programmierung sich Gedanken machen, wie weit man in die SEO und Barrierefreiheit reingehen möchte.

Es wäre vielleicht sinnvoll mangels Kenntnisse in diesen Bereiche auch Fachleute hinzuziehen. Je nach Budget nur als Berater oder auch als Teammitglied bei der Realisation der Webseite.

Alles das muss man schon in den ersten Stunden des Projektes berücksichtigen, ansonsten kostet es unnötig viel mehr.

Und nun?
Ich hoffe, dass ihr euch ein Bild über die Verbindung und Wichtigkeit dieser zwei Themen machen könnt. Es gibt noch vieles zu entdecken und ich habe nur wenige Punkte erwähnt. Gebt uns doch ein Feedback. Mich würde interessieren, welche Erfahrungen ihr mit eurer Webseite bei der Suchmaschinenoptimierung und Barrierefreiheit gemacht habt. Vielleicht wollt ihr ja eine neue Webseite erstellen und braucht einen Fachmann. Wir helfen euch sehr gerne!

Barrierefreie Software-Entwicklung: Sehbehinderung

In diesem Blogartikel erfahren Sie was eine Sehbehinderung ist und welche Probleme Sehbehinderte Menschen bei der Bedienung von Software haben.

Eine Sehbehinderung ist eine dauerhafte, massive Einschränkung der Sehfähigkeit. Die schwere einer Sehbehinderung wird in der Regel definiert über die verbliebene Sehschärfe. Man sagt dazu auch Sehrest. Die ausgeprägteste Sehbehinderung ist die vollständige Blindheit. Die Blindheit wird aber in einem eigenen Blogartikel besprochen. Die Sehbehinderung kann unterschiedlich stark sein. Desto größer die Sehbehinderung je geringer der Sehrest.

Auch wenn Sie nicht offiziell zur Sehbehinderung gehört, möchte ich trotzdem noch die Farbfehlsichtigkeit besser bekannt unter dem Namen Farbenblindheit erwähnen. Menschen die an Farbfehlsichtigkeit leiden, sehen zwar die Unterschiede bei Farben, können aber oft nicht genau sagen wie die Farbe heißt die sie sehen. Außerdem haben Sie Probleme dunkle Schrift auf dunklem Hintergrund zu erkennen. Sehbehinderte mit einem geringen Sehrest haben hier genauso Probleme.

Was bedeutet das nun für die Bedienung von Software für Menschen mit einer Sehbehinderung?
Wenn Schaltflächen(die sogenannten Buttons) zu wenig Farbkontrast haben oder zu kleine Schriften bei der Beschriftung von Eingabefeldern und Schaltflächen haben, können Menschen mit einer Sehbehinderung diese nicht erkennen und somit die Software nicht bedienen. Da viele Sehbehinderte mit einem Screenreader arbeiten, sind Flächen mit Grafiken ohne Alternativtext ebenfalls ein Problem.

Wie die Probleme von Menschen mit einer Sehbehinderung bei der Software-Entwicklung gelöst werden können, erfahren Sie im Artikel „Wie kann eine Software für Sehbehinderte barrierefrei gemacht werden?

Barrierefreie Software-Entwicklung: Die Behinderung Spastik

In diesem Artikel möchte ich erklären, was eine Spastik ist. Grundsätzlich hätte ich die Spastik auch bei den Motorischen Behinderungen erläutern können. Menschen die eine Spastik haben, ich zum Beispiel, unterscheiden sich in einigen Dingen grundsätzlich von Menschen mit anderen motorischen Behinderungen. Deswegen widme ich dieser Behinderung einen extra Blogartikel.

Die Ursache für spastische Lähmungen ist eine Schädigung im zentralen Nervensystem. Hier sind die Bereiche von der Schädigung betroffen, welche zuständig für Bewegungen sind, also Rückenmark und Gehirn. Die häufigste Ursache von Spastik ist ein Hirninfakt welcher eine Schädigung motorischer Hirnregionen verursacht. Spastik kann aber auch bei Sauerstoffmangel im Gehirn entstehen.

Eine Spastische Lähmung kann minimal sein, kann aber auch schwerste körperliche Behinderung zur Folge haben. Spastische Lähmung kann an Händen, Armen und Beinen auftauchen. Allerdings kann auch die Sprechmuskeln von der Spastischen Lähmung betroffen sein. Das kann Sprachstörungen oder undeutliches Sprechen zur Folge haben.

Eine Spastische Lähmung muss nicht zwangsläufig eine geistige Behinderung zur Folge haben. Spastiker können sehr intelligent sein! Die Verkrampfung der Muskeln kann während eines Tages mal stark oder mal weniger stark sein. Das verkrampfen der Muskeln kann zu Bewegungseinschränkungen bis hin zur Bewegungslosigkeit führen. Die Spastik kann auch Schmerzen hervorrufen.

Welche Probleme hat nun der Spastiker(so nennt man Menschen mit einer Spastischen Lähmung) bei der Bedienung von Software?
Menschen mit Spastisch gelähmten Händen können Probleme mit Tastenkombinationen oder ganz generell mit der Bedienung einer Tastatur haben. Falls die Software überraschende Ereignisse hat, wie z. B. Ein lauter Ton, kann der Spastiker zusammenzucken was wiederum das verkrampfen der Muskeln zur Folge hat.
Eine Software die einem Benutzer nur eine begrenzte Zeit lässt um eine bestimmte Aktion auszuführen, kann beim Spastiker Stress auslösen, was wiederum zum verkrampfen der Muskeln führt.
Software die eine Aktion nur dann ausführt wenn eine bestimmte Spracheingabe erfolgt ist, kann für Menschen mit Spastisch gelähmten Sprachmuskeln nicht bedient werden.

Wie die Probleme von Menschen mit Spastischen Behinderungen bei der Software-Entwicklung gelöst werden können, erfahren Sie im Artikel „Wie kann eine Software für Spastiker barrierefrei gemacht werden?

Barrierefreie Software-Entwicklung: Motorische Behinderungen

In diesem Artikel möchte ich erklären, was eine Motorische Behinderung ist und welche Probleme Menschen mit motorischen Behinderungen haben beim bedienen von Software.

Was ist eine Motorische Behinderung? Bei einer Motorischen Behinderung ist die Bewegung von Armen, Händen oder Beinen stark beeinträchtigt. Motorische Behinderungen können durch einen Sauerstoffmangel bei der Geburt(Spastik) entstehen, durch Unfälle oder andere Ereignisse während der Schwangerschaft. Für die Benutzung des Computers bzw. das Bedienen von Software sind motorische Behinderungen an den Händen und Armen am schwersten.

Manche Menschen mit Behinderung können mit Ihren Armen keine gezielten Bewegungen machen. Das Treffen einer bestimmten Taste auf der Tastatur wird hier zum Geduldspiel. Menschen bei denen eine Hand so stark behindert ist, dass sie so gut wie gar nicht eingesetzt werden kann, hatten Probleme mit Windows-Betriebssystemen bei denen zur Anmeldung die Tasten Strg+Alt+Entf gleichzeitig gedrückt werden musste. Diese drei Tasten liegen so weit auseinander, dass es keine Chance gibt diese mit einer Hand gleichzeitig zu drücken. Tastenkombinationen sind ganz generell für Menschen mit motorischen Behinderungen ein Problem. Allerdings darf hier nicht der Fehler gemacht werden, die Tastenkombinationen zu verteufeln, weil Sehbehinderte und Blinde die an den Händen keine Behinderung haben, bedienen den Computer nur über Tastatur.

Das viel gelobte Drag and Drop ist für Menschen mit motorischen Behinderungen(auch für mich) ein großes Problem. Die Maustaste gedrückt halten und gleichzeitig die Maus bewegen ist eine schwierige „Übung“ wenn die Hand im feinmotorischen Bereich nicht 100%ig fit ist.

Menschen mit stark behinderten Händen können einen Computer per Sprache bedienen. Schwierig wird es wenn die Hand und das Sprechen eingeschränkt ist. Selbst dann gibt es aber noch die Möglichkeit einen Computer mit dem Fuß zu bedienen. Es gibt tatsächlich „Fussmäuse“. Wenn Sie in der Bildersuche von Google nach „Fussmäuse“ suchen, finden Sie tolle Bilder wie diese aussehen.

Wie die Probleme von Menschen mit motorischen Behinderungen bei der Software-Entwicklung gelöst werden können, erfahren Sie im Artikel „Wie kann eine Software für motorische Behinderungen barrierefrei gemacht werden?

Barrierefreie Software-Entwicklung: Artikelreihe

In den nächsten Wochen gibt es eine Artikelreihe über barrierefreie Software-Entwicklung.

 In den nächsten Wochen gibt es hier auf meinem Blog eine Artikelreihe über barrierefreie Software-Entwicklung. Als erstes werde ich einige Behinderungsarten vorstellen und erläutern welche Probleme es bei der Bedienung von Software gibt.

 Danach folgen Blogartikel in denen es darum geht, wie Software gestaltet bzw. entwickelt werden muss um auf die verschiedenen Behinderungsarten Rücksicht zu nehmen.

 In den Blogartikeln geht es um die Allgemeine Vorgehensweise die unabhängig von der Programmiersprache ist. Wenn Sie wissen möchten wie sie Ihre Java-oder C#-Software barrierefrei machen können, sollten Sie eine Schulung bei mir besuchen. Ich gehe auf Ihre individuellen Probleme ein.

Hier ein Überblick über die Artikel zur barrierefreien Software-Entwicklung:

Motorische Behinderungen
Die Behinderung Spastik
Sehbehinderung
 Blinde
Gehörlose
Lernbehinderungen
50+
Wie kann eine Software für motorische Behinderungen barrierefrei gemacht werden?
Wie kann eine Software für Spastiker barrierefrei gemacht werden?
Wie kann eine Software für Sehbehinderte barrierefrei gemacht werden?
Wie kann eine Software für Blinde barrierefrei gemacht werden?
Wie kann eine Software für Gehörlose barrierefrei gemacht werden?
Wie kann eine Software für Menschen mit einer Lernbehinderung barrierefrei gemacht werden?
Wie kann eine Software für Menschen mit 50+ barrierefrei gemacht werden?
Alles eine Sache der „Einstellung“


Accessibility / Barrierefreiheit mit Java: Vorträge, Workshops, Schulungen

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.

Besuchen Sie auch meine Unternehmenswebseite:
Accessibility mit Java

 

 

 

 

 

Accessibility: Barrierefreie Software-Entwicklung mit .net bzw. C#

Im Artikel „Richtlinien zur barrierefreier Software-Entwicklung ( Accessibility ) mit .net bzw. C#“ ging es um Richtlinien wie man mit .net barrierefreie Software entwickelt. In diesem Artikel geht es um die konkrete Umsetzung der Richtlinien.Sie erfahren in diesem Artikel konkrete Schritte zur Entwicklung von barrierefreie Software mit .net bzw. C#.

Im Artikel „Richtlinien zur barrierefreier Software-Entwicklung ( Accessibility ) mit .net bzw. C#“ ging es um Richtlinien wie man mit .net barrierefreie Software entwickelt. In diesem Artikel geht es um die konkrete Umsetzung der Richtlinien.Sie erfahren in diesem Artikel konkrete Schritte zur Entwicklung von barrierefreie Software mit .net bzw. C#.

Die erste Programmiersprache welche die Entwicklung von barrierefreie Software unterstützte war Java. Mehr dazu können Sie im Artikel „Barrierefreie Software-Entwicklung (Accessibility) mit Java“. Bei den Programmiersprachen Delphi und C++ fehlt eine Unterstützung von Haus aus.

Eine wichtige Voraussetzung für eine barrierefreie Software ist die Unterstützung von Eingabehilfen wie z. B. Screenreader. Damit diese Eingabehilfen die entsprechenden Informationen bekommen, besitzen .net-Komponenten haben hierfür folgende Eigenschaften:

AccessibleName:
Die Eigenschaft „AccessibleName“ ist eine Kurzbeschreibung der entsprechenden Komponente

AccessibleDescription:
Die Eigenschaft „AccessibleDescription“ ist eine Textbeschreibung der visuellen Darstellung dieser Komponente.

AccessibleRole:
Die Eigenschaft „AccessibleRole“ beschreibt die Aufgabe, die an Eingabehilfen übermittelt wird. Die zulässigen Werte werden von der AccessibleRole-Enumeration definiert. Der Wert wird von vielen Eingabehilfen verwendet, um zu ermitteln, um welche Art von Schnittstellenelement es sich bei dem Objekt handelt.

AccessibilityObject:
Enthält eine AccessibilityObject-Instanz, die für die Eingabehilfe Informationen über das Steuerelement enthält. Die Eigenschaft ist schreibgeschützt und wird vom Designer festgelegt.

AccessibleDefaultActionDescription:
Enthält eine Beschreibung der Standardaktion des Steuerelements. Diese Eigenschaft kann nicht zur Entwurfszeit festgelegt werden, sondern nur per Programmcode.

Hier kurz ein Beispiel wie man diese Eigenschaften setzt.

neuToolStripMenuItem.AccessibleName = „Datei neu“;
neuToolStripMenuItem.AccessibleDescription = „Neue Textdatei anlegen“;
neuToolStripMenuItem.AccessibleRole = AccessibleRole.MenuItem;

Des weiteren ist es wichtig wie oben schon erwähnt wird, dass die Software den Kontrastmodus unterstützt. Zum Unterstützen des Kontrastmodus kann folgende Methode verwendet werden:

privatevoid KontrastModus()

{

if (SystemInformation.HighContrast)

{

foreach (Control vControl inthis.Controls)

{

vControl.BackColor = SystemColors.Control;

vControl.ForeColor = SystemColors.ControlText;

}

}

}

Um die Bedienbarkeit der Software auch über Tastatur zu gewährleisten, ist es wichtig auf die Tabulatorreihenfolge zu achten. Jede .net-Komponmente hat eine Eigenschaft “TabIndex” welcher man eine Zahl übergeben kann. Mit dieser Zahl legt man fest, in welcher Reihenfolge die Komponenten aktiviert werden, wenn der Anwender die Tabulatortaste drückt.

Eine weitere Möglichkeit die Bedienbarkeit von Software über Tastatur zu verbessern, ist das vergeben von Shortcuts für Labels, Buttons, Grouboxen und Menüs. Das erstellen eines Shortcuts macht man, in dem man vor einem bestimmten Buchstaben einer Beschriftung ein “&”-Zeichen setzt. z. B. “&Suchen”.

Der Anwender kann nun durch gleichzeitiges drücken von der Taste “Alt” und “s” den Schalter Suchen aktivieren.

Bei Menüshortcuts ist es empfehlenswert dem Anwender eine Möglichkeit bereitzustellen, diese selber anzupassen,da Menschen, bei welchen behinderungsbedingt nur eine Hand funktionstüchtig ist, mit Tastenkombinationen Ihre Schwierigkeiten haben.

Wenn Sie alle diese Dinge berücksichtigen, haben Sie einen wichtigen Schritt in Sachen barrierefreie Software gemacht.

Accessibility: Richtlinien zur barrierefreier Software-Entwicklung mit .net bzw. C#

In diesem Blogartikel möchte ich die Richtlinien von Microsoft für .net bzw. C# zur barrierefreier Software-Entwicklung besprechen. Wenn eine Software barrierefrei ist, dann ist Sie für Menschen mit Behinderung verwendbar.

Im Artikel „Was ist eine barrierefreie Software“ habe ich erklärt welche Kriterien erfüllt werden müssen, damit eine Software barrierefrei ist. Microsoft hat in ihrer Dokumentation, die MSDN, Richtlinien veröffentlicht wie eine Standardsoftware barrierefrei bzw. behindertengerecht gemacht werden kann. Ich werde hier die Richtlinien wiedergeben und erklären.


Punkt 1: Unterstützung der Systemsteuerungseinstellungen für Größe, Farbe, Schriftart und Eingabe

Unterstützung der Systemsteuerungseinstellungen für Größe, Farbe, Schriftart und Eingabe. Wenn die Benutzer die Einstellungen der Systemsteuerung ändern, wird die Größe der Menüleiste, der Titelleiste, der Ränder und der Statusleiste automatisch geändert. In dieser Anwendung müssen keine weiteren Änderungen an den Steuerelementen oder dem Code vorgenommen werden

Erklärung:
Microsoft hat in jedem Windows, wie oben erwähnt, in der Systemsteuerung einige Einstellungsmöglichkeiten die Menschen mit Behinderung zu gute kommen. Deswegen ist es unabdingbar, dass eine entwickelte Software diese Einstellungen übernimmt und nicht ignoriert. Es wäre zum Beispiel kontraproduktiv, wenn ein Mensch mit einer Sehbehinderung sich in der Systemsteuerung große Schriftarten einstellt und in der Software erscheinen alle Zeichen in der Schriftgröße 10.


Punkt 2: Unterstützung des Kontrastmodus

Erklärung:
In der Eingabehilfe, die man in der Systemsteuerung findet, gibt es einen Reiter „Anzeige“. Hier findet man ein Kontrollkästchen mit der Beschriftung „Kontrast aktivieren“. Klickt man es an und aktiviert rechts unten den Schalter „Übernehmen“ wird der Kontrastmodus aktiviert. Die Aktivierung dauert ein bisschen. Nach und nach wird der Hintergrund Pech schwarz und überall erscheint eine weiße Schrift.Dieser Kontrastmodus darf durch eine Software nicht verändert oder verhindert werden.


Punkt 3: Bereitstellen eines dokumentierten Tastaturzugriffs auf alle Features

Erklärung:
Wie oben schon erwähnt, benutzen Menschen die blind oder sehbehindert sind, eher die Tastatur wie die Maus. Deswegen sollten alle Programmfunktionen auch über Tastatur erreichbar sein und die entsprechenden Tastenkürzel sollten in der Programmhilfe dokumentiert sein.


Punkt 4: Visuelle und programmgesteuerte Anzeige der Position des Tastaturfokus

Erklärung:
Für Menschen die hauptsächlich oder ausschließlich mit der Tastatur arbeiten ist es wichtig, schnell zu erkennen wo der Tastaturfokus ist. Aus diesem Grund muss der Tastaturfokus visuell angezeigt und erkennbar sein.


Punkt 5: Vermeiden der Übermittlung wichtiger Informationen allein per Audioausgabe

Erklärung:
Im Artikel weiter oben wurde es erwähnt, dass es Menschen gibt die gehörlos sind. Wenn wichtige Informationen nur per Audioausgabe zur Verfügung stehen, bekommen gehörlose Menschen die Informationen nicht mit. Deswegen sollten Informationen die per Audioausgabe zur Verfügung stehen auch in visueller Form angeboten werden. Ein Mail-Programm, welches dem Anwender nur über Sprache mitteilt, dass er neue Mails hat, wäre für gehörlose Menschen unbrauchbar.

Wenn diese 5 Punkte bei einer Standardsoftware erfüllt sind ist, laut Microsoft, eine Software barrierefrei.

Java-Software auf Barrierefreiheit (Accessibility) testen

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

Barrierefreie Software-Entwicklung / Barrierefreiheit mit Java

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

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

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

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

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

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

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

JAAPI(Java Accessibility API)

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

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

Java Accessibility-Dienstprogramme

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

Java Access Bridge (JAB)

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

Java Foundation Classes (JFC)

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

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

AccessibleName:

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

AccessibleDescription:

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

LabelFor:

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

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

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


Weitere Artikel zu barrierefreie Softwareentwicklung

Barrierefreiheit mit Java 8
Barrierefreie Software – Was ist das?
Barrierefreie Softwareentwicklung / Barrierefreie Software-Entwicklung – Was ist das?
Warum ist barrierefreie Softwareentwicklung für Software-Unternehmen wichtig?
Barrierefreie Softwareentwicklung: Artikelreihe