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

Firmenlogo der Firma Marlem-Software

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 .


Autor: Markus Lemcke

Ich bin Markus Lemcke, Softwareentwickler, Webentwickler, Appentwickler, Berater und Dozent für barrierefreies Webdesign, barrierefreie Softwareentwicklung mit Java, C# und Python, Barrierefreiheit bei den Betriebssystemen Windows, Android, IOS, Ubuntu und MacOS.

Schreibe einen Kommentar