Barrierefreie Softwareentwicklung mit Excel-Visual Basic for Applications (VBA)

Aufgrund von einer Mailanfrage, habe ich mich damit beschäftigt, ob es möglich ist, mit Excel-VBA barrierefreie Desktop-Datenbank-Anwendungen zu entwickeln. In diesem Blogartikel gibt es eine detaillierte Anleitung wie mit Excel-VBA eine barrierefreie Datenbank-Anwendung entwickelt werden kann.

Was ist Excel?

Microsoft Excel ist ein Tabellenkalkulationsprogramm, dass von sehr vielen Menschen genutzt wird.

Was ist Visual Basic for Applications, abgekürzt VBA?

Visual Basic for Applications (VBA) ist eine Skriptsprache, die ursprünglich für die Steuerung von Abläufen der Microsoft-Office-Programmfamilie entwickelt wurde. Visual Basic for Applications, kann in Word, Excel, Powerpoint und Access programmiert werden.

Was ist eine Desktop-Datenbank-Anwendung?

Bei einer Desktop-Datenbank läuft das Datenbankmanagementsystem, beispielsweise Access, mit der jeweiligen Datenbank und der Datenbankanwendung auf dem PC des Anwenders.
Mit Excel-VBA können Desktop-Datenbank-Datenbank-Anwendungen entwickelt werden.

Warum Desktop-Datenbank-Anwendungen mit Excel entwickeln?

Jede Datenbank-Anwendung hat folgende Grundfunktionen:

  • Datensatz vor
  • Datensatz zurück
  • Datensatz Löschen
  • Datensatz bearbeiten
  • Suchen
  • Drucken

Diese Grundfunktionen lassen sich mit Excel-VBA sehr gut umzusetzen.
Wenn ich eine Excel-Arbeitsmappe mit diesen Grundfunktionen programmiert habe, kann ich diese Excel-Arbeitsmappe unter einem anderen Dateinamen speichern, die Spaltenüberschriften der Excel-Tabelle anpassen. Tabellenspalten löschen oder hinzufügen. Diese Änderungen in den Useforms umsetzen.
Fertig ist eine neue Excel-VBA-Desktop-Datenbank-Anwendung. Meiner Meinung nach kann mit keiner Programmiersprache so schnell neue Datenbank-Anwendungen entwickelt werden wie mit Excel-VBA.
Der nächste Vorteil ist das Deployment. Deployment bedeutet, die Weitergabe einer Software an Dritte. Ich habe 6 Jahre Datenbank-Anwendungen mit der Programmiersprache Delphi und Paradox-Datenbanken entwickelt. Wenn ich die Datenbank-Anwendung auf einem neuen Computer installieren wollte, musste ich eine Programm-Datei auf den Zielcomputer kopieren, die Datenbankdateien und die Borland Database Engine installieren und einrichten. Die Borland Database Engine, war die Schnittstelle zwischen Programm-Datei und Datenbanken.
Bei einer Desktop-Datenbank-Anwendung entwickelt mit Excel-VBA muß ich nur eine Excel-Arbeitsmappe weitergeben. Das war es! Das bedeutet, dass Desktop-Datenbank-Anwendung mit Excel-VBA preisgünstiger entwickelt werden können, wie Desktop-Datenbank-Anwendung die mit den gängigen Programmiersprachen Java, C# oder Python.

Was möchte das IT-Unternehmen Marlem-Software in Zukunft anbieten?

Als ich mich dazu entschieden habe, herauszufinden ob mit Excel-VBA barrierefreie Software entwickelt werden kann, hatte ich Einzelunternehmer im Kopf für die es keine Abrechnungsoftware gibt. Mit Excel-VBA ist es sehr einfach folgende Programm-Module zu programmieren:

  • Kundenverwaltung
  • Adressenverwaltung
  • Rechnungsausgangsbuch

Ebenfalls ist es möglich aus Excel heraus eine Worddatei zu erstellen und dieser Worddatei Daten von Excel zu übergeben. Konkret können auf diese Weise Angebote, Auftragsbestätigungen, Abschlagszahlungen und Rechnungen als Worddatei erstellt werden.
Aber auch Privat-Personen sind willkommen die eine barrierefreie CD- oder DVD-Verwaltung sich wünschen. Personen die wie ich, sich ständig beruflich fortbilden und hier Wissen in einer Software speichern möchten. So können zum Beispiel barrierefreie Datenbank-Anwendungen für Physiker, Chemiker, Pharmazeuten und andere Berufsgruppen erstellt werden, die bezahlbar sind.

Warum macht barrierefreie Softwareentwicklung mit Excel-VBA Sinn?

Im Behindertengleichstellungsgesetz – BGG § 12a Barrierefreie Informationstechnik steht, dass Öffentliche Stellen des Bundes dazu verpflichtet sind, Ihre Webseiten, Programme und Apps barrierefreie zu Gestalten.
Es gibt eine Europäische Norm für Barrierefreiheit bei Hardware, Software und Mobilen Anwendungen.
Microsoft bietet Unterstützung für blinde Menschen an, die Excel bedienen möchten:
Verwenden einer Sprachausgabe, um Excel zu erkunden und darin zu navigieren
Aufgrund der Tatsache dass es sogar eine europäische Norm gibt nach der barrierefreie Software entwickelt werden soll, ist ganz klar, dass barrierefreie Software für die Gesellschaft immer wichtiger wird.

Wird von Excel-VBA die Barrierefreiheit unterstützt?

Die Programmiersprachen Java, C# und Python in Verbindung mit Qt unterstützen die Erstellung von barrierefreier Software.
In Excel-VBA gibt es kein richtiges Konzept zur Barrierefreiheit. Formularsteuerelemente und ActiveXsteuerelemente besitzen eine Eigenschaft Alternativtext. Die Alternativtexte sind für Screenreader. Leider sind beide Steuerelemente per Tabulatortaste nicht erreichbar. Somit stellt sich die Frage ob es überhaupt möglich ist, dass die Alternativtexte von Screenreadern vorgelesen werden.
Bedienelemente im Userform besitzen keine Eigenschaft Alternativtext. Dennoch sind sie screenreadertauglich. Bei Commandbuttons liest der Screenreader die Beschriftung des Commandbuttons und danach „Schalter“. Der Screenreader liest, die Caption des Labels vor, wenn ein Label vorhanden ist. Danach liest er die Art des Bedienelements vor. Zum Beispiel Kombinationsfeld oder Eingabefeld. Dann liest der Screenreader, falls vorhanden, den Inhalt bzw. Text des Bedienelements vor.
Excel-VBA unterstützt die Barrierefreiheit und das war auch der Grund warum ich mich intensiv mit Excel-VBA. Allerdings gibt es kein durchgängiges Konzept.
Barrierefreie Softwareentwicklung mit Excel VBA ist möglich. Allerdings habe ich festgestellt, dass nur sehr wenig VBA-Entwickler auf die Idee kommen, mit VBA richtige Softwareentwicklung zu betreiben.

Barrierefreie Softwareentwicklung – Definition

Barrierefreie Softwareentwicklung bedeutet, dass eine Software so entwickelt wird, dass sie von allen Menschen, auch Menschen mit Behinderungen und anderen körperlichen Einschränkungen bedient werden kann.

Barrierefreie Software – Definition

Eine barrierefreie Software, ist eine Software die so gestaltet ist, dass alle Menschen auch Menschen mit Behinderungen oder andere körperliche Einschränkungen diese Software bedienen können.
Mit Excel-VBA können Entwickler barrierefreie Software programmieren, die von blinden, sehbehinderten Menschen und Menschen mit anderen körperlichen Einschränkungen bedient werden können.

Richtlinien

Richtlinien sind eine Sammlung von Kriterien die dazu führen sollen, dass eine Software für Menschen mit Behinderungen und anderen körperlichen Einschränkungen bedienbar ist.
Folgende Richtlinien gibt es zur barrierefreien Softwareentwicklung

Es gibt auch Richtlinien von Oracle und IBM auf dessen Verlinkung ich hier verzichte.
Leider gibt es keine speziellen Richtlinien für VBA-Anwendungen.

Barrierefreie Softwareentwicklung mit Excel-Visual Basic for Applications

Mit Visual Basic for Applications und Excel kann Software entwickelt werden, die für blinde, sehbehinderte Nutzer und Nutzer mit anderen körperlichen Einschränkungen bedienbar ist. Dadurch, dass die Programmfenster die mit Userforms erstellt werden, genauso aussehen wie Programmfenster erstellt mit den Programmiersprachen C++, C#, Java und Python wirkt das ganze sehr professionell. Auch wenn Excel in Sachen Barrierefreiheit noch verbesserungsfähig ist, die Entwicklung von barrierefreier Software mit Excel-VBA ist möglich und macht Spaß!

Entwicklertools aktivieren in Excel

Damit mit Excel in VBA programmiert werden kann, müssen die Entwicklertools eingblendet werden. Diese sind standardmäßig nicht eingeblendet. Um die Entwicklertools einzublenden gibt es zwei Möglichkeiten:
Sie klicken im Menüband an eine beliebige Stelle mit der rechten Maustaste. Danach klicken Sie auf den Menüpunkt Menüband anpassen…
Sie klicken auf das Register Datei und dann das Menü Optionen.
In beiden Fällen öffnet sich ein Dialogfenster mit der Auswahl Menüband anpassen.
Aktivieren Sie hier in der rechten Liste unterhalb von Menüband anpassen, Hauptregisterkarten das Kontrollkästchen der Registerkarte Entwicklertools und übernehmen Sie die Einstellung mit OK.

Der VBA-Editor

Um mit Visual Basic for Applications programmieren zu können, wird ein Editor benötigt. Folgende Möglichkeiten gibt es den VBA-Editor zu öffnen:
Menüband „Entwicklertools“, Schalter „Visual Basic“.
Es funktioniert auch die Tastenkombination Alt + F11.

Barrierefreiheit des VBA-Editors

Als erstes habe ich untersucht ob blinde Menschen mit dem VBA-Editor programmieren können. Hierfür ist es notwendig, dass die Screenreader-Software alles vorliest, was im VBA-Editor geschieht. Ich habe den Screenreadertest mit dem kostenlosen Screenreader NVDA gemacht. NVDA hat alles vorgelesen.
Als zweites habe ich getestet ob alle Programmfunkionen per Tastatur erreichbar sind. Blinde Menschen können keine Computermaus bedienen. Auch dieser Test war erfolgreich. Das bedeutet, blinde Menschen können mit Excel VBA programmieren.
In folgendem Youtube-Video können Sie sehen wie ich den VBA-Editor auf screenreadertauglichkeit und Tastaturbedienbarkeit getestet habe:

Als nächstes hat mich interessiert, ob Menschen mit Sehbehinderung sich die Schriftgröße anpassen können. Im Menü „Extras“ und dann „Optionen“ im Register „Editorformat“ ist das möglich. Die Schriftgröße 24 kann zwar ausgewählt werden, wird aber nie übernommen. Außerdem scheint die Schriftart festzulegen, welche Schriftgrößen eingestellt werden können. Diese Lösung ist für Menschen mit Sehbehinderung nicht befriedigend.
Das dritte Kriterium dass ich überprüft habe ist die Anpassung der Farben im VBA-Editor. Menschen mit einer Farbsehschwäche benötigen genügend Kontrast zwischen Schriftfarbe und Hintergrundfarbe. Im Menü „Extras“, „Optionen“ im Register „Editorformat“ können Farbanpassungen gemacht werden. Mit diesen Farbanpassungen kann der VBA-Editor für Menschen mit Farbfehlsichtigkeit barrierefrei gemacht werden.
Im folgenden Youtube-Video zeige ich wie es geht:

Das aufrufen des VBA-Editors per Tastenkombination ist für Menschen die behinderungsbedingt nur mit einer Hand den Computer bedienen können anstrengend. Die Taste Alt ist links unten und die Taste F11 ist rechts oben.
Dank Makro-Programmierung habe ich mir eine zusätzliche Tastenkombination spendiert.
Mit folgendem Makro drücke Tasten Alt + F11 per VBA:
Private Sub EditorOeffnen()
Application.SendKeys "%{F11}"
End Sub

Jetzt kommt der Trick. Das Makro „ EditorOeffnen“ rufe ich mit der Taste „Bild hoch“ auf:
Private Sub Workbook_Open()
Application.OnKey "{PGUP}", "Editorbarrierefrei.EditorOeffnen"
End Sub

Das bedeutet, ich muß jetzt nur eine Taste drücken, Bild hoch, um den VBA-Editor zu öffnen und keine zwei Tasten.
Um es aber nochmal deutlich auf den Punkt zu bringen:
Mit Excel-VBA können die Tastenkürzel von Excel geändert oder ergänzt werden.

Schlussbemerkung zu Barrierefreiheit des VBA-Editors

Entwickler die blind oder sehbehindert sind oder Menschen mit Farbfehlsichtigkeit und Menschen mit eingeschränkten Händen können mit dem VBA-Editor programmieren. Der VBA-Editor ist barrierefrei.

Userforms – Programmoberflächen gestalten in Excel VBA

Jedes Windowsprogramm hat Programmfenster. Im den Programmfenstern
befindet sie eine Programmoberfläche. Diese Programmoberfläche kann in Userforms gestaltet werden. Um eine professionelle Programmoberfläche zu erstellen, gibt es die gleichen Bedienelemente wie in den Programmmiersprachen C++, C#, Delphi, Java und Python.
Labels, Eingabefeldern, Comboboxen, Checkboxen und mehr. Spannend für mich war, dass die Eingabefelder, Textbox genannt, durch eine Eigenschaft, zum mehrzeiligen Eingabefeld verwandelt werden kann. Das ging bei meiner ersten Programmiersprache, Delphi, die ich gelernt habe nicht.
Delphi erwähne ich an dieser Stelle deswegen, weil mich das Gestalten von Programmoberflächen mit Excel VBA sehr Delphi erinnert hat. Delphi war die erste Programmiersprache mit der es möglich war, Programmoberflächen zu gestalten in dem Bedienelemente mit der Computermaus in ein Formular gezogen werden.

Barrierefreie Softwareentwicklung mit Excel VBA

In diesem Abschnitt erkläre ich was tun ist, damit eine Excel VBA-Anwendung von Menschen mit unterschiedlichen Behinderungen bedient werden kann. Entwicker bekommen hier eine schrittweise Anleitung wie eine Software barrierefrei programmiert werden kann.

Screenreadertauglichkeit

Blinde Menschen arbeiten mit einer Software die alles vorliest was auf dem Bildschirm passiert. Diese Software heißt Screenreader. Das Betriebssystem Windows hat in „Einstellungen“ dann „Erleichterte Bedienung“ jetzt „Sprachausgabe“ einen Screenreader. Dieser ist aber nicht besonders gut. Um Software auf Screenreadertauglichkeit zu testen nutze ich immer den Screenreader NVDA. Der Screenreader kann hier kostenlos heruntergeladen werden:
NVDA – der freie ScreenReader für blinde Computernutzer

Screenreadertauglichkeit bedeutet, dass alles was der Anwender im Excel-VBA-Programm macht, der Screenreader vorliest.

Screenreadertauglichkeit bei Menüs

Ich habe sehr viel Zeit damit verbracht, eine Lösung zu finden, für ein Programm-Menü das für blinde Menschen nutzbar ist. Ein Programm-Menü zu finden, dass der Screenreader vorliest, war kein Problem. Wenn aber per Programm-Menü der Datensatzzeiger oder Textcursor eine Zeile hoch oder runter ist, hat der Screenreader NVDA das oft nicht vorgelesen. Das bedeutet, blinde Menschen bekommen es nicht mit, wenn der Textcursor sich hoch oder runter bewegt.
Ich möchte dieses Fehlverhalten per Youtube-Video demonstrieren:
barrierefreie Softwareentwicklung mit Excel VBA – Ein Userform als Programm-Menü

Ein Programm-Menü mit Ribbon-Schalter wäre das perfekte Menü für blinde Menschen, wie folgendes Youtube-Video zeigt:

Leider konnte ich nicht herauszufinden, was ich tun muß, damit die Ribbon-Schalter auch dargestellt werden, wenn ich die Excel-Arbeitsmappe einer anderen Person maile.
Bei einem Freund von mir wurde das komplette Ribbonband nicht dargestellt.
Eine weitere Möglichkeit, die zu 100% barrierefrei ist, aber sehr ungewöhnlich ist, ein Programm-Menü als Kontextmenü. Folgendes Youtube-Video zeigt wie das funktioniert:

Die Lösung die für motorisch eingeschränkte Menschen in den Händen nicht perfekt ist, die ich aber für mein Programm verwenden werde, ist ein Programm-Menü in der Schnellzugriffsleiste. Folgendes Youtube-Video zeigt wie das aussieht.

Die ganzen Youtube-Videos zeigen es deutlich, ein Programm-Menü mit Excel-VBA zu erstellen, dass für blinde Menschen bedienbar ist, ist nicht einfach.
Vielleicht bekomme ich noch heraus was zu tun ist, damit die Ribbon-Schalter auch bei andere Personen angezeigt wird.
Screenreadertauglichkeit bei Userforms / Programmfenster
Userforms sind in Excel Visual Basic for Application Programmfenster. Diese Userforms haben mich begeistert. Sie sehen genauso aus wie Programmfenster die mit den Programmiersprachen Java, C# und Python / Qt erstellt werden. Einfach professionell. Die Userforms sind screenreadertauglich. Wenn mit der Tabulatortaste die einzelnen Bedienelemente aktiviert werden, liest der Screenreader NVDA vor, was es für ein Bedienelement ist und ob im Bedienelement Text steht oder ob ein Listenelement ausgewählt ist. Userforms sind screenreadertauglich.
Ich hatte zu Beginn in den Programmfenstern „Bearbeiten“ und „barrierefreier Code anzeigen“ Schalter für „Vor“ und „Zurück“. Ich bin nach wie vor der Meinung, dass diese Schalter die Benutzerfreundlichkeit des Programm verbessern würden. Das Problem ist, dass wenn der Textcursor mit diesen Schaltern eine Excel-Zeile vor oder zurück bewegt wird, merkt das der Screenreader nicht. Das bedeutet, blinde Anwender bekommen nicht mit ob sich der Textcursor bewegt hat oder nicht. Das geht nicht. Das würden blinde Menschen als Fehler in der Barrierefreiheit kritisieren. Deswegen habe ich diese Schalter aus den Userforms wieder ausgebaut. Das bedeutet, per Schalter eine Excel-Zeile vor und zurück geht es nur in der Exceltabelle in der Schnellzugriffsleiste.
In folgendem Youtube-Video teste ich die Screenreadertauglichkeit bei Userforms:

Tastaturbedienbarkeit

Für blinde Menschen und auch für viele Menschen mit Sehbehinderung ist die Tastaturbedienbarkeit einer Software wichtig. Grund: Blinde Menschen können keine Computermaus bedienen. Um eine Computermaus bedienen muss man sehen können wohin sich der Mauszeiger der Computermaus bewegt. Das es möglich ist in Userforms alle Bedienelemente per Tabulatortaste zu erreichen, habe ich Ihnen im vorherigen Youtube-Video gezeigt. Jetzt möchte ich Ihnen zeigen, dass es möglich ist, bestimmte Programmfunktionen per Tastatur aufzurufen.
Hierfür eignen sich die Ereignisse Workbook_Open und Workbook_BeforeClose.
Hier ein Beispielcode:
Private Sub Workbook_Open()
Application.OnKey "{F1}", "ProgrammHilfe.hilfeanzeigen"
Application.OnKey "{F2}", "Datensatzoperationen.datensatzzurueck"
Application.OnKey "{F3}", "Datensatzoperationen.datensatzvor"
Application.OnKey "{F4}", "Tabelle1.neueexcelzeile"
Application.OnKey "{F5}", "Tabelle1.aktivezeileloeschen"
Application.OnKey "{F6}", "MarlemsBarrierefreieCodes.formcodesbearbeitenanzeigen"
Application.OnKey "{F7}", "MarlemsBarrierefreieCodes.fomcodevorschauanzeigen"
Application.OnKey "{F8}", "MarlemsBarrierefreieCodes.formcodessuchenanzeigen"
Application.OnKey "{F9}", "Tabelle1.filter_loeschen"
Application.OnKey "^{F10}", "MarlemsBarrierefreieCodes.btnwebseiteaufrufen"
Application.OnKey "^{F11}", "MarlemsBarrierefreieCodes.btnyoutubeaufrufen"
Application.OnKey "^{F12}", "Tabelle1.programmbeenden"
End Sub

Vor dem Schließen der Excel-Arbeitsmappe müssen die Tastenkürzel wieder zurückgesetzt werden. Hier kann das Ereignis Workbook_BeforeClose verwendet werden:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "{F1}", ""
Application.OnKey "{F2}", ""
Application.OnKey "{F3}", ""
Application.OnKey "{F4}", ""
Application.OnKey "{F5}", ""
Application.OnKey "{F6}", ""
Application.OnKey "{F7}", ""
Application.OnKey "{F8}", ""
Application.OnKey "{F9}", ""
Application.OnKey "^{F10}", ""
Application.OnKey "^{F11}", ""
Application.OnKey "^{F12}", ""
End Sub

Die Tastenkürzel die im Ereignis Workbook_Open gesetzt werden, sind leider nur in der Exceltabelle zu verwenden, nicht in der Userform.
In Userforms können Bedienelementen Tastenkürzel zu geordnet werden, die in Verbindung mit der Alt-Taste ausführbar sind.
Beispiel es gibt ein Label mit Namen lblWebadresse und eine Textbox mit Namen „edtWebadresse“. Dann bekommt die Label-Eigenschaft „Accelerator“ den Wert w. Wenn der Anwender nun die Tasten Alt + w drückt, wird die Textbox „edtWebadresse“ das aktive Bedienelement. Mit dieser Methode kann jedes Bedienelement gezielt per Tastenkürzel aktiviert werden.
Folgendes Youtube-Video zeigt wie es geht:

Visuelle und programmgesteuerte Anzeige der Position des Tastaturfokus

Für Menschen mit einer Sehbehinderung ist es wichtig, dass gut erkennbar ist, welches Bedienelement gerade den Fokus hat. Bei Eingabefeldern wird der Textcursor als schmaler senkrechter Strich dargestellt . Dies ist für Menschen mit einer Sehbehinderung schwer zu erkennen. Deswegen habe ich mir ausgedacht, dass Bedienelemente die den Fokus haben, die Hintergrundfarbe Gelb bekommen.
Folgendes Codebeispiel zeigt es bei einem Eingabefeld:

Private Sub edtYoutube_Enter()
edtYoutube.BackColor = RGB(255, 255, 153)
End Sub
Private Sub edtYoutube_Exit(ByVal Cancel As MSForms.ReturnBoolean)
edtYoutube.BackColor = vbWhite
End Sub

Genügend Farbkontrast

Für Menschen mit einer Farbsehschwäche und für einige Menschen mit Sehbehinderung ist es wichtig, dass genügend Farbkontrast zwischen Schrift-und Hintergrundfarbe ist.
Wenn Sie für Ihre Excel Visual Basic for Applications Anwendung „Tabellenformatvorlagen“ verwenden sollten Sie darauf achten, dass genügend Farbkontrast zwischen Hintergrundfarbe und Schriftfarbe ist.
Das gilt auch wenn Sie in Userforms Farbanpassungen machen. Den Farbkontrast können Sie mit einer Software überprüfen mit dem Namen Colour Contrast Analyzer. Er kann hier kostenlos heruntergeladen werden:
Colour Contrast Analyser (CCA)

In diesem Youtube-Video zeige ich Ihnen wie Sie bei Ihrer Excel-VBA-Anwendung überprüfen können ob der Farbkontrast barrierefrei ist:

Ein guter Kontrast zwischen Schriftfarbe und Hintergrundfarbe ist für die Barrierefreiheit ihrer Excel-VBA-Anwendung sehr wichtig. Da ein guter Farbkontrast in der Usability ebenso wichtig ist, verbessert er auch die Benutzerfreundlichkeit Ihrer Excel-VBA Software.

Vermeiden, dass wichtige Informationen ausschließlich akustisch übermittelt werden

Für gehörlose Menschen ist es unabdingbar, dass wichtige Informationen nicht nur akustisch zur Verfügung stehen. Sprachassistenten wie Siri sind ein gutes Beispiel. Die Antwort von Sprachassistenten erfolgt immer akustisch. Deswegen können gehörlose Menschen mit Sprachassistenten nicht kommunizieren.
Wenn Sie zum Beispiel in Ihrer Excel VBA Anwendung bestimmte Programmereignisse durch einen Ton bestätigen und nicht durch ein Meldungsfenster ist dies für gehörlose Menschen nicht wahrnehmbar.

Einstellungen des Betriebssystems übernehmen

Menschen mit einer Sehbehinderung können im Betriebssystem eine große Systemschrift einstellen.
Deswegen ist es wichtig, dass die größe einer Systemschrift von der Software übernommen wird.
Diese individuell eingestellte Systemschrift wird von den Excel-Menüs oder von der persönlichen Symbolleiste übernommen, aber die Excel-Tabelle übernimmt diese individuell eingestellte Systemschrift nicht. Die Userforms übernehmen eine individuell festgelegte Systemschrift nicht. Hier muß eine Lösung mit Excel VBA entwickelt werden, wieder der Anwender in der Excel-VBA-Anwendung die größe der Systemschrift einstellen kann.

Im Betriebssystem Windows kann in den Einstellungen, Erleichterte Bedienung, Hoher Kontrast, ein hoher Farbkontrast aktiviert werden. Danach ist die Excel VBA leider nicht mehr bedienbar. Die Schrift der Bedienelemente kann nicht mehr gelesen werden, weil es zu wenig Farbkontrast zwischen Schrift und Hintergrundfarbe gibt. Für Menschen die darauf angewiesen sind, mit einer Software im hohen Kontrastmodus arbeiten zu können, sind nicht in der Lage eine Excel VBA Anwendung zu bedienen.

Grundsätzlich ist festzuhalten, dass Einstellungen des Betriebssystems nicht vollständig übernommen werden. Auf meiner Wunschliste steht noch eine Excel-VBA Anwendung in den Betriebssystemen Ubuntu, MacOS, Android und Linux zu testen.

Deployment von barrierefreie Software mit Excel VBA

Deploymet bedeutet, die Weitergabe einer Software. Das Deployment von barrierefreie Software entwickelt mit Excel VBA ist sehr einfach. Sie müssen nur die Excel-Arbeitsmappe weitergeben. In der Excel-Arbeitsmappe ist alles drin, was der Anwender benötigt um mit ihrer barrierefreie Software zu Arbeiten. Der Anwender benötigt Microsoft Office in dem das Tabellenkalkulationsprogramm Excel enthalten ist um mit ihrer barrierefreien Software arbeiten zu können.

Barrierefreie Softwareentwicklung mit Excel VBA – Überprüfen der Barrierefreiheit

Sie haben sich nun sehr viel Mühe gegeben Ihre Excel VBA Anwendung barrierefrei zu entwickeln. Jetzt wäre es sehr schön, Sie könnten dies überprüfen. Excel kann das! Im Menüband von Excel gibt es einen Reiter „Überprüfen“. Der 3. Schalter von Links heißt „Barrierefreiheit“.
Mit diesem Schalter können Sie Ihre ganze Excel Arbeitsmappe auf Barrierefreiheit überprüfen lassen.
In folgendem Video zeige ich wie es geht:

Im Video passiert was spannendes. Excel gibt eine Warnung für meine Farbkontraste aus. Ich habe aber meine Farbkontraste mit der kostenlosen Colour Contrast Analyser (CCA) überprüft und die sagt meine Farbkontraste sind barrierefrei. Hier vertraue ich dem Colour Contrast Analyser, weil dieser extra dafür entwickelt wurde um Farbkontraste auf Barrierefreiheit zu überprüfen.

Ergänzung zum Youtube-Video

Im Youtube-Video habe ich nur erklärt, dass der Alternativtext beim Commandbutton fehlt, aber nicht warum. Das war Absicht, ich wollte das Video möglichst kurz halten.
Der Alternativtext ist wichtig für blinde Menschen, die sich alles mit einer Software, Screenreader genannt, vorlesen lassen. Der Alternativtext soll den Zweck eines Bedienelements in Worten beschreiben. Wenn in einer Excel-Arbeitsmappe alle Bedienelemente keinen Alternativt besitzen ist die VBA Anwendung für blinde Menschen nicht bedienbar, weil blinde Menschen nicht heraussfinden können, welches Bedienelement welche Funktion hat.

Barrierefreie Softwareentwicklung mit Excel VBA – So kann eine Software aussehen

Im letzten Youtube-Video zeige ich wie eine barrierefreie Software mit Excel-VBA aussehen kann:

Schlussbemerkung

Im Lauf der letzten 10 Wochen, habe ich gelernt, dass Excel in Sachen Barrierefreiheit einige Schwächen hat. Dennoch ist es möglich mit Excel-VBA barrierefreie Software zu entwickeln. Wenn meine erste Excel-VBA-Anwendung zum kostenlosen Download auf meiner Unternehmenswebseite angeboten wird, bin ich sehr gespannt wie oft es heruntergeladen wird.

Das IT-Unternehmen Marlem-Software bietet barrierefreie Datenbank-Anwendungsentwicklung mit Excel-VBA an!

Wenn Sie fragen zu obige Themen haben Schreiben Sie mir eine Mail an info@marlem-software.de oder rufen Sie mich an unter 07072/1278463 .


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