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

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

Was ist Microsoft Dotnet 4.5 / .net 4.5

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

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

Was ist barrierefreie Softwareentwicklung?

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

Warum ist barrierefreie Softwareentwicklung wichtig?

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

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

Anforderungen von Microsoft an eine Barrierefreie Software

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

Anforderung 1:
Unterstützung der Systemsteuerungseinstellungen für Größe, Farbe, Schriftart und Eingabe. Wenn die Benutzer die Einstellungen der Systemsteuerung ändern, wird die Größe der Menüleiste, der Titelleiste, der Ränder und der Statusleiste automatisch geändert. In dieser Anwendung müssen keine weiteren Änderungen an den Steuerelementen oder dem Code vorgenommen werden.
Erklärung:
Sehbehinderte können in der Systemsteuerung eine große Systemschrift einstellen oder Menschen mit einer Farbsehschwäche können in der Systemsteuerung ein Design mit hohem Kontrast wählen. Eine Microsoft Dotnet-Anwendung übernimmt diese Systemeinstellungen ohne dass sie als Software-Entwickler zusätzlichen Programmcode einfügen müssen in Ihre Software. Allerdings sollten Sie überprüfen ob Ihre Software nach Übernahme dieser barrierefreien Systemeinstellungen weiterhin gut bedienbar ist.

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

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

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

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

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

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

Barrierefreheit mit Dotnet: Welche Programmiersprache ist die richtige?

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

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

Programmcodebeispiele für Barrierefreiheit mit Dotnet-Anwendungen

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

1. Kontrasmodus aktivieren

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

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

2. Accessibility-Eigenschaften setzen

So setzen Sie die Accessibility-Eigenschaften:

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

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

Barrierefreheit bei Microsoft Dotnet-Anwendung Testen

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

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

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

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

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

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

Schlussbemerkung:

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

Barrierefreiheit mit Microsoft .net

Barrierefreie Software-Entwicklung funktioniert nicht nur mit der Programmiersprache Java, sondern auch mit Microsoft .net. Was Microsoft .net und wie damit Barrierefreiheit umgesetzt wird erfahren Sie in diesem Blogartikel.

Barrierefreiheit mit Microsoft .net – Das Gesetz

Im Jahr 2002 wurde ein Gleichstellungsgesetz erlassen, welches Benachteiligung von behinderten Menschen vermeiden soll. Da die Nutzung der Informatik ein wichtiger Bestandteil ist, damit behinderte Menschen am Leben teilnehmen können gibt es im oben genannten Gesetz folgenden Paragraphen:

§ 11 Barrierefreie Informationstechnik
(1) Träger öffentlicher Gewalt im Sinne des § 7 Abs. 1 Satz 1 gestalten ihre Internetauftritte und -angebote sowie die von ihnen zur Verfügung gestellten grafischen Programmoberflächen, die mit Mitteln der Informationstechnik dargestellt werden, nach Maßgabe der nach Satz 2 zu erlassenden Verordnung schrittweise technisch so, dass sie von behinderten Menschen grundsätzlich uneingeschränkt genutzt werden können. Das Bundesministerium für Arbeit und Soziales bestimmt durch Rechtsverordnung, die nicht der Zustimmung des Bundesrates bedarf, nach Maßgabe der technischen, finanziellen und verwaltungsorganisatorischen Möglichkeiten
1.die in den Geltungsbereich der Verordnung einzubeziehenden Gruppen behinderter Menschen,
2.die anzuwendenden technischen Standards sowie den Zeitpunkt ihrer verbindlichen Anwendung,
3.die zu gestaltenden Bereiche und Arten amtlicher Informationen.
(2) Die Bundesregierung wirkt darauf hin, dass auch gewerbsmäßige Anbieter von Internetseiten sowie von grafischen Programmoberflächen, die mit Mitteln der Informationstechnik dargestellt werden, durch Zielvereinbarungen nach § 5 ihre Produkte entsprechend den technischen Standards nach Absatz 1 gestalten.

Weil das Gesetzesdeutsch etwas schwierig zu verstehen ist, möchte ich erklären was dieser Paragraph meint:
Staatliche Einrichtungen, also alle Behörden, sind dazu verpflichtet Ihre Webseiten und Programme so zu entwickeln, dass Menschen mit unterschiedlichen Behinderungen diese bedienen können. Es gibt also nun auch Barrierefreiheit in der Informatik, somit die Barrierefreie Informatik.

Barrierefreiheit mit Microsoft .net – Was ist Microsoft .net?

Microsoft .net ist eine Software-Umgebung mit der Programme entwickelt und ausgeführt werden können. Die Programmiersprache von Microsoft .net heißt C# (gesprochen C sharp). Es kann aber auch mit der Programmiersprache Delphi oder Visual Basic für die .net Umgebung Software entwickelt werden. Wenn Programme mit Microsoft .net entwickelt wurden, können diese Programme nur ausgeführt werden, wenn die .net Umgebung (auch Framework genannt) auf einem Laptop oder Computer installiert ist.

Barrierefreiheit mit Microsoft .net – Wer ist die Zielgruppe?

Zunächst geht es um Menschen mit Behinderung. In Deutschland leben ca. 83 Millionen Menschen insgesamt. Hier von haben rund 10 Millionen Menschen eine Behinderung. Für diese Menschen ist es sehr wichtig, dass Software barrierefrei entwickelt ist.
Ich möchte es mal an der Situation von Blinden Menschen deutlich machen:
Blinde Menschen arbeiten mit einem Programm mit Namen Screenreader.
Dieses Programm liest dem Blinden den Bildschirm vor oder übersetzt das gelesene in Blindenschrift, dass der Blinde auf der Brailletastatur ertasten kann.
Der Screenreader kann nur vorlesen, wenn es was zum lesen gibt. Wenn eine Programmoberfläche dem Screenreader keine Infomationen liefert, kann dieser dem Blinden nichts mitteilen und somit ist die Software für den Blinden nicht bedienbar.
Kurz gesagt, blinde Menschen können nur mit Programme arbeiten, die Infomationen an Ihren Screenreader liefern. Barrierefreiheit mit .net hilft also, dass blinde Menschen Software bedienen können.
Es gibt aber noch eine zweite Personengruppe die von Barrierefreiheit mit Microsoft .net profitiert: Ältere Menschen. Im Alter können körperliche Einschränkungen auftreten die einer Behinderung sehr ähnlich sind. Rentner und Rentnerinnen haben Zeit und einige beschäftigen sich gerne mit Computer. Sie profitieren ebenso, wenn Microsoft .net Programme barrierefrei sind. Menschen ohne Behinderung können ebenso profitieren wenn Barrierefreiheit mit Microsoft .net umgesetzt wird.

Barrierefreiheit mit Microsoft .net – es geht um barrierefreie Software-Entwicklung

Im obigen Paragraphen steht u.a drin, dass auch Programme barrierefrei entwickelt werden sollen, wenn diese in Behörden eingesetzt werden sollen.
Mit Microsoft .net ist es möglich Software barrierefrei zu entwickeln. Dies nennt sich barrierefreie Software-Entwicklung.
Eine der größten Herausforderungen an einen Software-Entwickler ist, eine Software so zu entwickeln, dass Sie für blinde Menschen nutzbar ist. Damit blinde Menschen überhaupt einen Computer benutzen können, verwenden Sie eine Software die sich Screenreader nennt. Damit diese Software dem blinden oder sehbehinderten Menschen mitteilen kann wie eine Software gestaltet ist, muss die Software Informationen enthalten die der Screenreader lesen kann. Die .net-Komponenten besitzen die Eigenschaften AccessibleName, AccessibleDescription und AccessibleRole. Diesen Eigenschaften können Informationen für Screenreader hinzugefügt werden.
Menschen mit einer Sehbehindeung aktivieren oft im Betriebssystem den Kontrastmodus. Das bedeutet, sie benötigen einen hohen Farbkontrast zwischen Hintergrundfarbe und Schriftfarbe. Microsoft .net ist in der Lage diesen Kontrastmodus vom Betriebssystem in die Software zu übernehmen.
Um die Bedienbarkeit der Software auch über Tastatur zu gewährleisten,dies ist für Blinde und Sehbehinderte unabdingbar, 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.
Barrierefreiheit mit Microsoft .net bedeutet, Software zu entwickeln die für alle Menschen, unabhängig eine körperlichen Einschränkung bedienbar ist.

Barrierefreiheit mit Microsoft .net – Welche Probleme haben Menschen mit Behinderung bei der Bedienung von Software?

Barrierefreiheit mit Microsoft .net bedeutet, dass alle Menschen unabhängig von körperlichen Einschränkungen oder Behinderung eine Software bedienen können. Es gibt viele Unterschiedliche Behinderungen und Einschränkungen die alle ihre eigenen Probleme bei der Bedienung von Software haben.
Sehbehinderte haben Probleme wenn Beschriftungen von Eingabemasken zu klein sind. Menschen mit einer Farbsehschwäche haben Probleme, wenn zu wenig Farbkontrast zwischen Hintergrundfarbe und Schriftfarbe vorhanden ist oder wenn Schaltersysmbole zu wenig Farbkontrast haben.
Blinde und Sehbehinderte haben Probleme, wenn die Software nicht komplett per Tastatur bedienbar ist, weil sie keine Computermaus bedienen können.
Menschen mit einer eingeschränkten Hand haben Probleme mehrere Tasten gleichzeitig zu drücken.
Menschen die mit einem Screenreader arbeiten haben Probleme, wenn die Programmoberfläche dem Screenreader keine Infomationen liefert.
Sehbehinderte haben Probleme, wenn Sie im Betriebssystem Windows große Systemschriften eingestellt haben und diese Schriftgröße nicht von der Software übernommen wird. Dieses Problem läßt sich sehr einfach mit Microsoft .net lösen, weil das Betriebssystem und die Entwicklungsumgebung vom gleichen Hersteller sind.
Dies ist nur eine Auswahl von Problemen. Barrierefreiheit mit Microsoft .net kann alle diese Probleme beseitigen.

Barrierefreiheit mit Microsoft .net – Wie kann Barrierefreiheit bei einer .net-Software überprüft werden?

Wenn Sie der Meinung sind, dass Sie bei Ihrer Software Barrierefreiheit mit Microsoft .net umgesetzt haben, muss die überprüft und getestet werden.
Microsoft, IBM und Oracle haben Richtlinien veröffentlicht, welche Kriterien umgesetzt werden müssen, damit eine Software barrierefrei ist. Die Richtlinien von Microsoft sind mir etwas zu knapp, ich nehme immer die Richtlinien von Oracle.
Um Barrierefreiheit mit Microsoft .net zu überprüfen können Sie also Ihre Software anhand von Richtlinien überprüfen.
Es gibt von Microsoft ein Tool, es heißt UI Accessibility Checker. Mit diesem Tool kann ebenso Barrierefreiheit bei Microsoft .net überprüft werden. Ich werde dieses Tool in einem eigenen Blogartikel vorstellen.
Mit diesen beiden Methoden kann Barrierefreiheit mit Microsoft .net überprüft werden.

Barrierefreiheit mit Microsoft .net – bringt mehr Kunden und mehr Umsatz

Wenn Sie bei Ihrer Software Barrierefreiheit mit Microsoft .net umsetzen wird Ihre Software von mehr Anwendern eingesetzt. Barrierefreiheit mit Microsoft .net bringt also auch mehr Umsatz und lohnt sich wirklich.

Barrierefreiheit mit Microsoft .net – Ich überprüfe Ihre Software

Wenn ich Sie mit diesem Artikel dazu motiviert habe, Barrierefreiheit mit Microsoft .net umzusetzen würde ich mich sehr freuen. Sie dürfen mich gerne beauftragen, dass ich Ihre Microsoft .net Anwendungen auf Barrierefreiheit überprüfe: Tel:07121/504458 oder Mail: info@marlem-software.de .

Barrierefreiheit mit Microsoft .net – Ich schule Sie

Möchten Sie mehr erfahren über die konkrete Umsetzung von Barrierefreiheit mit Microsoft .net, dann können Sie bei mir eine Schulung buchen. Sie können im Vorfeld zur Schulung sämtliche Fragen zu kommen lassen die Sie beschäftigen bei der Umsetzung von Barrierefreiheit mit Microsoft .net und ich werde im Rahmen meiner Schulung alle Fragen zu Barrierefreiheit mit .net beantworten.

Barrierefreiheit mit Microsoft .net – Haben Sie noch fragen?

Wenn Sie sonst noch Fragen zu Barrierefreiheit mit Microsoft .net haben nehmen Sie Kontakt mit mir auf: Tel:07121/504458 oder Mail: info@marlem-software.de .
Ich freue mich darauf Ihre Microsoft .net Anwendung barrierefrei machen zu dürfen!

barrierefreie Programme, barrierefreie Anwendungen, barrierefreie Software mit Java und C# / .net

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.

Barrierefreie Softwareentwicklung – Was ist das?

Da ich gerade einen Auftrag habe, bei dem ich eine Software entwickelt mit der Programmiersprache Java, auf Barrierefreiheit prüfen darf, möchte ich in diesem Artikel nochmal 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 Software-Entwicklung – Die gesetzliche Grundlage

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

§ 12 Barrierefreie Informationstechnik

(1) Träger öffentlicher Gewalt im Sinne des § 1 Absatz 2 Satz 1 gestalten ihre Internetauftritte und -angebote sowie die von ihnen zur Verfügung gestellten grafischen Programmoberflächen, einschließlich Apps und sonstiger Anwendungen für mobile Endgeräte, die mit Mitteln der Informationstechnik dargestellt werden, nach Maßgabe der nach Satz 2 zu erlassenden Verordnung schrittweise technisch so, dass sie von Menschen mit Behinderungen grundsätzlich uneingeschränkt genutzt werden können. Das Bundesministerium für Arbeit und Soziales bestimmt durch Rechtsverordnung, die nicht der Zustimmung des Bundesrates bedarf, nach Maßgabe der technischen, finanziellen und verwaltungsorganisatorischen Möglichkeiten

  1. die in den Geltungsbereich der Verordnung einzubeziehenden Gruppen von Menschen mit Behinderungen,
  2. die anzuwendenden technischen Standards sowie den Zeitpunkt ihrer verbindlichen Anwendung,
  3. die zu gestaltenden Bereiche und Arten amtlicher Informationen.

(2) Träger öffentlicher Gewalt im Sinne des § 1 Absatz 2 Satz 1 gestalten ihre allgemeinen, für die Beschäftigten bestimmten Informationsangebote im Intranet sowie ihre elektronisch unterstützten Verwaltungsabläufe, einschließlich Verfahren zur elektronischen Vorgangsbearbeitung und elektronischen Aktenführung, schrittweise barrierefrei. Hierzu ist die Barrierefreiheit entsprechend den allgemein anerkannten Regeln der Technik, insbesondere bei Neuanschaffungen, Erweiterungen und Überarbeitungen, bereits bei der Planung, Entwicklung, Ausschreibung und Beschaffung zu berücksichtigen. Von dem Gebot der barrierefreien Gestaltung kann abgesehen werden, wenn die barrierefreie Gestaltung unverhältnismäßigen technischen Aufwand erfordert. Die Regelungen zur behinderungsgerechten Einrichtung und Unterhaltung der Arbeitsstätten zu Gunsten von Menschen mit Behinderungen in anderen Rechtsvorschriften, insbesondere im Neunten Buch Sozialgesetzbuch, bleiben unberührt. Die obersten Bundesbehörden erstellen bis zum 30. Juni 2021 Berichte über den Stand der Barrierefreiheit der Informationsangebote und Verwaltungsabläufe nach Satz 1 und verbindliche und überprüfbare Maßnahmen- und Zeitpläne zum weiteren Abbau von Barrieren.
(3) Die Bundesregierung wirkt darauf hin, dass auch gewerbsmäßige Anbieter von Internetseiten sowie von grafischen Programmoberflächen, die mit Mitteln der Informationstechnik dargestellt werden, durch Zielvereinbarungen nach § 5 ihre Produkte entsprechend den technischen Standards nach Absatz 1 gestalten.

Anmerkung von Markus

Im Klartext steht da, das Behörden dazu verpflichtet sind, ihre Webseiten und Software so zu gestalten das diese für Menschen mit unterschiedlichen Behinderungen bedienbar sind. Dieses Gesetz war also die Geburtsstunde der Barrierefreiheit in der Informationstechnik und der barrierefreie 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.

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 von den Begriff „barrierefreie Programmierung“ zu verwenden. Software wird heute nicht mehr programmiert, sondern entwickelt. Deswegen wird der Entstehungsprozess einer Software “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 Software-Entwicklung sind Menschen mit Behinderungen und zum Teil Menschen im fortgeschrittenen Alter. Was sind Barrieren bei Software?

Barrierefreie Software-Entwicklung – 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önnte 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 meiner 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 benötigt es?

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 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!

Barrierefreie Software-Entwicklung – die Wahl der Programmiersprache

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

Das Bild zeigt eine barrierefreie Java-Software entwickelt mit Swing in welcher der Tastaturfokus gut sichtbar ist

Das Bild zeigt eine barrierefreie Java-Software entwickelt mit Swing in welcher der Tastaturfokus gut sichtbar ist.

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

Das Bild zeigt Java-Code der zeigt wie eine Swing-Programmoberfläche für Screenreader zugänglich gemacht werden kann

Das Bild zeigt Java-Code der zeigt wie eine Swing-Programmoberfläche für Screenreader zugänglich gemacht werden kann.

Neu: Barrierefreiheit: barrierefreie Softwareentwicklung mit JavaFX

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:

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. Es wurde den Rahmen dieses Artikels sprengen hier alle Richtlinien aufzuführen. Leider gibt es keine einheitlichen Richtlinien wie bei barrierefreies Webdesign. Deswegen nachstehend ein paar zur barrierefreien Softwareentwicklung mit Java und Microsoft Dotnet.
Die original Richtlinien für barrierefreie Softwareentwicklung für die Programmierspache 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 auf folgendem Link im Web: Exemplarische Vorgehensweise: Erstellen von behindertengerechten Windows-basierten Anwendungen

Wie kann barrierefreie Softwareentwicklung getestet werden?

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

Einstellungsdialog für Barrierefreiheit bei der Standardsoftware LibreOffice

Obiges Bild zeigt den Einstellungsdialog der Standardsoftware LibreOffice .

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: 07121/504458
E-Mail: info@marlem-software.de
Ich biete:

  • Analyse Ihrer Software zu barrierefreie Softwareentwicklung
  • Beratung zu barrierefreie Softwareentwicklung
  • Schulung zu barrierefreie Softwareentwicklung
  • Unterstützung bei der Umsetzung der barrierefreie Softwareentwicklung

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

Was bedeutet barrierefreie Informationstechnik?

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:

§ 11 Barrierefreie Informationstechnik

(1) Träger öffentlicher Gewalt im Sinne des § 7 Abs. 1 Satz 1 gestalten ihre Internetauftritte und -angebote sowie die von ihnen zur Verfügung gestellten grafischen Programmoberflächen, die mit Mitteln der Informationstechnik dargestellt werden, nach Maßgabe der nach Satz 2 zu erlassenden Verordnung schrittweise technisch so, dass sie von behinderten Menschen grundsätzlich uneingeschränkt genutzt werden können. Das Bundesministerium für Arbeit und Soziales bestimmt durch Rechtsverordnung, die nicht der Zustimmung des Bundesrates bedarf, nach Maßgabe der technischen, finanziellen und verwaltungsorganisatorischen Möglichkeiten

  1. die in den Geltungsbereich der Verordnung einzubeziehenden Gruppen behinderter Menschen,
  2. die anzuwendenden technischen Standards sowie den Zeitpunkt ihrer verbindlichen Anwendung,
  3.  die zu gestaltenden Bereiche und Arten amtlicher Informationen.

(2) Die Bundesregierung wirkt darauf hin, dass auch gewerbsmäßige Anbieter von Internetseiten sowie von grafischen Programmoberflächen, die mit Mitteln der Informationstechnik dargestellt werden, durch Zielvereinbarungen nach § 5 ihre Produkte entsprechend den technischen Standards nach Absatz 1 gestalten.

Dieser Paragraph ist die Grund warum solche Begriffe wie „Barrierefreies Internet“ „barrierefreies Webdesign“, und „barrierefreie Softwareentwicklung“ entstanden sind.

Das Behindertengleichstellungsgesetz ( BGG ) wurde geändert und trat am 1. September 2016 in Kraft. Hier der neue Paragraph: Barrierefreie Informationstechnik – das neue Behindertengleichstellungsgesetz ( BGG )

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:

Oben ist die Schriftfarbe gut sichtbar, weil ein guter Farbkontrast zwischen Hintergrund-und Schriftfarbe gewählt wurde unten nicht

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:

Zugangshilfen beim Betriebssystem Linux - Ubuntu das Register "Sehen"

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:

Apps für Menschen mit Behinderung

Apps können das Alltagsleben von Menschen mit Behinderungen enorm erleichtern. Deswegen habe ich mich auch mit Apps für Behinderte beschäftigt:

Was bedeutet Accessibility?

Accessibility ist englisch und bedeutet wörtlich übersetzt Zugänglichkeit. Gemeint ist aber Barrierefreiheit. In folgendem Artikel wird erklärt was Accessibility bedeutet.

barrierefreie Informationstechnik – Beratung

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 .

Entwicklungsumgebungen für die Software-Entwicklung sollten Modus für Barrierefreiheit haben

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.

Barrierefreie Software-Entwicklung: Wie kann eine Software für Blinde barrierefrei gemacht werden?

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.

Accessibility: Barrierefreie Software entwickeln und testen mit .net bzw. C#

In diesem Artikel finden Sie eine Zusammenfassung der letzten 3 Artikel zum Thema barrierefreie Software entwickeln und testen mit .net bzw. C#.

Nachdem die Programmiersprache Java schon lange die Voraussetzungen für barrierefreie Software-Entwicklung hatte, hat Microsoft mit .net bzw. C# nachgezogen.
Die .net-Technologie hat die Voraussetzung geschaffen, dass Standardsoftware barrierefrei entwickelt werden kann. Das ist ein sehr großer Fortschritt.

Nun muss es „nur“ noch umgesetzt werden!
Ich möchte hier die Gelegenheit nutzen um zur erläutern, warum es so wichtig ist, eine Software barrierefrei zu entwickeln. Für viele behinderte Menschen ist das arbeiten am Computer die einzige Möglichkeit beruflich tätig zu werden.
Ich habe eine Körperbehinderung. Ich bin sehr stark Gehbehindert und meine rechte Hand ist sehr stark bewegungseingeschränkt. Sämtliche Handwerksberufe sind undenkbar für mich. Berufe bei denen man viel stehen muss, fallen wegen meiner Gehbehinderung und muskelbedingten Gleichgewichtsstörung auch weg. Die einzige Möglichkeit ist die Arbeit am Computer. Es gibt außer mir noch viele andere behinderte Menschen die nur mit Hilfe eines Computers arbeiten können.
Damit ein Mensch mit Behinderung am Computer arbeiten kann, müssen Internetseiten und Programme bedienbar sein. Deswegen ist die Entwicklung von barrierefreier Software so wichtig.

Ich würde mich sehr freuen, wenn meine Blogartikel:
Richtlinien zur barrierefreier Software-Entwicklung ( Accessibility ) mit .net bzw. C#

Barrierefreie Software-Entwicklung (=Accessibility) mit .net bzw. C#

Wie kann Barrierefreie Software entwickelt mit .net bzw. C# auf Barrierefreiheit (Accessibility ) getestet werden

dazu beitragen würden, dass Software die mit .net bzw. C# entwickelt wird, barrierefrei ist.

Wie kann barrierefreie Software entwickelt mit .net bzw. C# auf Accessibility getestet werden

Im Artikel „Barrierefreie Software-Entwicklung (=Accessibility) mit .net bzw. C#“ ging es darum wie man mit .net barrierefreie Software entwickelt. In diesem Artikel möchte ich besprechen wie man Barrierefreiheit bei Software die mit .net bzw. C# entwickelt wurde testen kann.

 

Trotz redlicher Bemühungen die Software barrierefrei zu entwickeln, kann es sein, dass man etwas vergisst oder übersehen hat. Deswegen sollte man, bevor man einer Software das Prädikat „barrierefrei“ verleiht, testen ob dies auch zutrifft. Da es höchst unwahrscheinlich ist, dass jeder Software-Entwickler einen Menschen mit Behinderung greifbar hat, welcher die Software testet, ist es sinnvoll, dass hierfür Tools entwickelt worden sind. Microsoft hat zwei Open Source-Tools entwickelt um Barrierefreiheit bei Software zu testen. Das eine Tool heißt „UI Automation Verify“ und das andere „UI Accessibility Checker“.
„UI Automation Verify“ ist ein Framework um Microsoft UI-Automation-Implementierungen automatisiert Prüfen zu können. Ich möchte mich in diesem Abschnitt mit dem AccChecker genauer beschäftigen.
Den AccChecker gibt es als Konsolen- und Windows-Anwendung. Ich werde hier das Verfahren mit der Windows-Anwendung beschreiben die sich hinter der AccCheckUI.exe verbirgt. Ob man zuerst den AccChecker und dann die zu testende Anwendung startet oder umgekehrt ist egal. Links oben im Acc-Checker-Fenster gibt es nun 3 Möglichkeiten, das zu prüfende Fenster bzw. Anwendung auszuwählen.
Ich entscheide mich für das auswählen eines Fensters aus der auf klappbaren Liste, weil es wohl am einfachsten ist. Unten kann ich ein „suppression file“ auswählen in dem ich festlegen, kann welche Fehler ignoriert werden. Auf der rechten Seite gibt es die Überschrift „Verification Routines“. Hier kann angeklickt werden, welche Dinge überprüft werden soll. Da die Dokumentation nicht gerade ein Highlight ist und zum Teil gewisse Fakten verschweigt, möchte ich nachfolgend diese Optionen etwas erläutern und berichten, wie es mit der Praxistauglichkeit aussieht.
Wir fangen an mit den Eigenschaften.

CheckAccessKeys
Wenn diese Option angeklickt ist, wird überprüft ob ein Accesskey doppelt vergeben ist.Leider bekommt man nur mitgeteilt wo der Accesskey zum zweiten mal vorkommt, wo er aber das erste mal vorkommt muss man selbst herausfinden.enn an einen Menü oder Schalter kein Accesskey vergeben wurde, wird einem das nicht mitgeteilt.

CheckRole
Hier kann überprüft werden ob den einzelnen Komponenten eine AccessibleRole vergeben wurde oder nicht. Standardmäßig ist im Eigenschaftenfenster von Visual Studio 2008 default eingestellt bei der Eigenschaft „AccessibleRole“. Wenn hier als Wert „None“ angegeben wird, bringt der AccChecker eine Fehlermeldung.

CheckBoundingRect
Diese Überprüfungsroutine bestätigt, dass jedes fokusierbare Element der Benutzeroberfläche eine rechteckige Begrenzung hat, die für Anklick-Tests genutzt werden kann.

CheckState
Diese Überprüfungsroutine bestätigt, dass jedes fokusierbare Element der Benutzeroberfläche einen gültigen, logischen Aktiven Zugänglichkeitsstatus zurück meldet.

CheckName
Diese Überprüfungsroutine bestätigt, dass jedes fokusierbare Element der Benutzeroberfläche einen gültigen, logischen Aktiven Zugänglichkeitsnamen zurück meldet.

Unter der der Überschrift Tree (Baum) finden Sie nachstehende Optionen

CheckNavigate
Diese Überprüfungsroutine benutzt die IAccessible::accNavigate Methode um zu bestätigen, dass die Navigation zwischen den „Eltern“, dem „Kind“ bzw. den „Geschwister Elementen übereinstimmend und vorhersehbar ist.

CheckParentChild
Diese Überprüfungsroutine bestätigt, dass Eltern->Kind-Beziehungen im Elementebaum übereinstimmend und vorhersehbar sind.

HitTesting
Diese Option ist im Programm nicht vorhanden, aber in der Dokumentation. Diese Überprüfungsroutine bestätigt, dass alle Elemente an den Koordinaten die durch „AccessibleObjectFromPoint angegeben werden gültig sind und sich innerhalb des überprüften Ziels befinden.

Consistency (=Konsistenz)

Screen Reader
Diese Überprüfungsroutine übersetzt alle sichtbaren Elemente des zu überprüfenden Ziels und zeigt sie in einer Listenansicht in der Reihenfolge, in welcher der Standard Screen Reader sie dem Benutzer meldet. Wenn diese Option ausgewählt wurde, erscheint im linken Teil des Fenster ein Register „Screen reader“.

Navigation
Tree Depth Check (CheckTreeDepth)

Zunächst ist zu erwähnen, dass es hier unterschiedliche Begriffe gibt. In der Programmoberfläche steht CheckTreeDepth und in der Dokumentation steht Tree Depth Check.
Diese Überprüfungsroutine sendet Tab oder Umschalt- Tab Zeichen als Eingangssignal an das zu überprüfende Ziel um zu bestätigen das die Benutzeroberfläche des Zielsystems für standard Tastatur Navigation weder allzu sehr komplex oder unerreichbar ist.

Check Tabbing
Diese Überprüfungsroutine sendet Tab oder Umschalt Tab Zeichen als Eingangssignal an das zu überprüfende Ziel um zu bestätigen das alle fokusierbaren Elemente das Benutzeroberfläche in einer geordneten Art und Weise über eine Standard Tastatur Navigation zu erreichen sind.

Soweit zu den Einstellungsmöglichkeiten des AccCheckers.
Hat man nun das zu prüfende Fenster ausgewählt und auf der rechten Seite die entsprechenden Optionen angeklickt, startet man die Überprüfung mit anklicken des Schalters „Run Verifications“.
Nach erfolgter Überprüfung erscheint oben ein Register „Results“, „Tree“ und bei entsprechend ausgewählter Option „Screen reader“. Wenn Sie im Register „Results“ keine Einträge sehen, heißt bedeutet dies, dass keine Fehler gefunden wurden und Ihre Anwendung somit barrierefrei ist.
Wurden Fehler gefunden werden diese im Register „Results“ angezeigt. Wenn man in der Liste „Results“ auf einen Fehler klickt, sieht man unten nähere Infos zu diesem Fehler. Sollte man mit der Fehlermeldung nichts anfangen können, kann man durch einen rechten Mausklick und das anklicken des Kontextmenüpunktes „Help“ eine genaue Beschreibung zum Fehler bekommen.

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.