Barrierefreiheit (Accessibility) ist mehr als ein Trend: Sie wird zunehmend zur gesetzlichen Anforderung (Stichwort: BITV 2.0, WCAG 2.1) – und ist gleichzeitig eine Chance, Deine Access-Anwendungen fĂŒr alle Benutzer:innen zugĂ€nglicher zu machen: unabhĂ€ngig von SehstĂ€rke, motorischer EinschrĂ€nkung oder technischer Ausstattung.
Microsoft Access bietet in neueren Versionen und im Zusammenspiel mit VBA verschiedene Möglichkeiten, um Formulare barrierefrei zu gestalten – darunter Tastatursteuerung, Screenreader-KompatibilitĂ€t, hohe Kontraste und strukturierte Navigation.
In diesem Beitrag zeige ich Dir, wie Du per VBA gezielt dafĂŒr sorgst, dass Deine Formulare auch unter Barrierefreiheits-Aspekten glĂ€nzen.
Was bedeutet Barrierefreiheit in Access-Formularen?
Barrierefreiheit in Formularen heiĂt konkret:
- alle Informationen sind auch ohne Maus nutzbar
- Formulare lassen sich mit Screenreadern (z. B. NVDA oder JAWS) erfassen
- Inhalte werden visuell klar dargestellt – auch bei Farbfehlsichtigkeit oder Kontrastmodus
- Navigations- und Eingabefokus sind logisch und eindeutig
- Hinweise und Validierungen sind sprachlich verstÀndlich und eindeutig
Beispiel 1: Sinnvolle Tab-Reihenfolge setzen per VBA
Die richtige Tabulatorreihenfolge ist essenziell fĂŒr Tastaturnutzer:innen. Statt die Reihenfolge mĂŒhsam per Eigenschaften zu setzen, kannst Du das auch automatisiert im Formular-Load-Ereignis definieren:
Private Sub Form_Load()
' TabIndex setzen - sinnvoll geordnet
Me.txtName.TabIndex = 0
Me.txtGeburtstag.TabIndex = 1
Me.cboStatus.TabIndex = 2
Me.cmdSpeichern.TabIndex = 3
Me.cmdAbbrechen.TabIndex = 4
End Sub
Damit stellst Du sicher, dass alle Nutzer:innen logisch durch das Formular navigieren können.
Beispiel 2: Fokus gezielt setzen fĂŒr Screenreader und Tastaturnutzer
Wenn das Formular geöffnet wird, sollte ein relevantes Steuerelement sofort fokussiert werden – das hilft sowohl bei der Orientierung als auch bei der Bedienung ĂŒber Screenreader:
Private Sub Form_Current()
Me.txtName.SetFocus
End Sub
In bestimmten FĂ€llen kann es auch sinnvoll sein, den Fokus dynamisch auf ein Feld mit Fehler oder besonderer Bedeutung zu setzen.
Beispiel 3: Barrierefreie Beschriftungen per ControlTipText
Viele Nutzer:innen mit SehbeeintrÀchtigung nutzen Screenreader, die auf Tooltip-Texte zugreifen. Diese Texte solltest Du mit sprechenden Beschreibungen versehen:
Private Sub Form_Load()
Me.txtName.ControlTipText = "Bitte vollstÀndigen Namen eingeben"
Me.txtGeburtstag.ControlTipText = "Geburtstag im Format TT.MM.JJJJ"
Me.cmdSpeichern.ControlTipText = "Klick hier, um den Datensatz zu speichern"
End Sub
Wichtig: Diese Texte sollten vollstĂ€ndig und verstĂ€ndlich sein – vermeide AbkĂŒrzungen oder interne Begriffe.
Beispiel 4: Farbkontraste prĂŒfen und anpassen per VBA
Access bietet keinen nativen Farbschema-Switch, aber Du kannst Farben im Formular dynamisch anpassen – z. B. bei aktivem Kontrastmodus:
Private Declare PtrSafe Function GetSysColor Lib "user32" (ByVal nIndex As Long) As Long
Private Sub Form_Load()
If SystemFarbschemaIstAktiv() Then
Me.Detail.BackColor = vbBlack
Me.txtName.ForeColor = vbWhite
Me.txtName.BackColor = RGB(32, 32, 32)
Me.cmdSpeichern.BackColor = RGB(64, 64, 64)
End If
End Sub
Private Function SystemFarbschemaIstAktiv() As Boolean
' Primitive PrĂŒfung: Fensterhintergrundfarbe dunkel?
SystemFarbschemaIstAktiv = (GetSysColor(15) < RGB(100, 100, 100))
End Function
Damit kannst Du auf Systemfarben reagieren und z. B. dunkle Designs besser unterstĂŒtzen.
Beispiel 5: Eingabefehler sprachlich klar darstellen
Statt kryptischer Fehlermeldungen solltest Du barrierefreie, klare Hinweise geben – idealerweise ĂŒber das StatusBarText
-Feld oder ein eigenes Beschriftungsfeld:
Private Sub cmdSpeichern_Click()
If Nz(Me.txtName, "") = "" Then
Me.lblHinweis.Caption = "Name darf nicht leer sein."
Me.txtName.SetFocus
Exit Sub
End If
If Not IsDate(Me.txtGeburtstag) Then
Me.lblHinweis.Caption = "Bitte ein gĂŒltiges Datum eingeben."
Me.txtGeburtstag.SetFocus
Exit Sub
End If
DoCmd.RunCommand acCmdSaveRecord
Me.lblHinweis.Caption = "Datensatz erfolgreich gespeichert."
End Sub
Wichtig: Die Hinweise sollten in Klartext und ohne Farbcodierung allein erkennbar sein.
Bonus: ZugĂ€ngliche SchaltflĂ€chen mit TastaturkĂŒrzeln
Mit dem &
-Zeichen kannst Du Tastatur-Shortcuts definieren:
Me.cmdSpeichern.Caption = "&Speichern" ' ALT+S
Das steigert die Bedienbarkeit – auch fĂŒr fortgeschrittene Anwender:innen.
Fazit
Barrierefreiheit ist kein Hindernis – sondern ein QualitĂ€tsmerkmal. Mit wenigen gezielten MaĂnahmen kannst Du Deine Access-Formulare deutlich zugĂ€nglicher und benutzerfreundlicher machen – auch ohne groĂe Umbauten.
Mit VBA kannst Du viele dieser MaĂnahmen automatisieren und an verschiedene BenutzerbedĂŒrfnisse anpassen – sei es durch intelligente Navigation, klare Sprache oder adaptive Designs.
Du möchtest Deine Access-Anwendung barrierefrei machen oder suchst Hilfe bei der Umsetzung inklusiver Lösungen? Ich unterstĂŒtze Dich gern – technisch und konzeptionell.
đ DatenschĂ€fer – Auswertung, Analyse und Automatisierung fĂŒr KMU im Norden
đ§ Kontakt ĂŒber sesoft.de | đ§© Access · VBA · Barrierefreiheit · UX · Power Platform
Keine Antworten