Ziel: Die Anwendung soll für alle funktionieren

Access kann barrierefrei sein – wenn Du Dich darum kümmerst.
Blinde, sehschwache oder motorisch eingeschränkte Nutzer wollen keine Ausreden.
Und Du willst: klare Struktur, gute Tastatursteuerung, Screenreader-Kompatibilität.

Variante 1: Tastaturnavigation vollständig machen

Tab-Reihenfolge festlegen. Keine wilden Sprünge.

Im Formularentwurf:

  • Tab-Index logisch setzen (0, 1, 2, …)
  • Unnötige Steuerelemente auf TabStop = False

Beispiel für manuelles Setzen:

Me.txtName.TabIndex = 0
Me.txtAdresse.TabIndex = 1
Me.cmdSpeichern.TabIndex = 2

Variante 2: Beschriftungen und Namen sinnvoll vergeben

Screenreader brauchen Kontext.
Verwende immer ein Label mit jedem Eingabefeld.

Beispiel:

Me.txtName.ControlTipText = "Vollständiger Name des Kunden"
Me.txtName.Name = "txtKundenname"

Keine generischen Namen wie Text5, Combo3.
Das hilft niemandem. Dir auch nicht.

Variante 3: Kontraste prüfen

Nutzer mit Sehschwäche brauchen hohen Farbkontrast.
Farben wie Grau auf Grau kannst Du vergessen.

Verwende:

  • Schwarzer Text auf Weiß
  • Keine rein visuelle Statusanzeige (z. B. nur Rot = Fehler)
  • Farbige Schaltflächen? Nur mit Text

Tipp: Windows bietet hohe Kontrastmodi. Teste damit.

Variante 4: Lesbare Schriftarten und Größen

Keine kleinen 8pt Arial-Felder.
Verwende mindestens 10 pt, lieber 11 oder 12.
Gut lesbar: Segoe UI, Verdana, Calibri.
Monospace nur, wenn’s technisch begründet ist.

Me.txtKommentar.FontName = "Segoe UI"
Me.txtKommentar.FontSize = 11

Variante 5: Sprache setzen – auch für Screenreader

Im Formular:

Me.Caption = "Kundenverwaltung"
Me.Tag = "de-DE"

Wenn Du mehrere Sprachen hast, steuere das über Variablen oder Tabellen.

Variante 6: Fehlermeldungen verständlich machen

Nicht „Fehler 3021 – Kein aktueller Datensatz“.
Sondern:

MsgBox "Kein passender Kunde gefunden. Bitte Suchkriterien prüfen.", vbExclamation

Und das bitte auch per Screenreader erfassbar.

Variante 7: Fokus und Status sichtbar halten

Du kannst visuelles Feedback mit akustischem oder Text ergänzen:

Me.txtPLZ.BackColor = RGB(255, 255, 200)
Me.lblStatus.Caption = "Bitte PLZ eingeben"

Tipp: Sound-Ausgabe nur sparsam. Viele Nutzer haben Ton abgeschaltet.

Variante 8: Mausfreie Bedienung ermöglichen

Alle Funktionen auch per Tastatur:

  • Buttons mit Accelerator (z. B. &Speichern → Alt+S)
  • Kein Mauszwang
  • Navigieren mit Pfeiltasten, Tab, Enter

Und: Schaltflächen beschriften – nicht nur Icons.

Variante 9: Formulare logisch gruppieren

Gruppenbildung per Frames oder Titel.
Das hilft beim Screenreader-Parsing.
Und auch sehenden Nutzern.

Beispiel:

  • Gruppe „Kundendaten“
  • Gruppe „Rechnungsdaten“

Kein wildes Button-Wirrwarr am unteren Rand.

Variante 10: Prüf-Checkliste automatisieren

Eigene Routine für Zugänglichkeitsprüfung:

Public Sub PruefeBarrierefreiheit(frm As Form)
    Dim ctl As Control
    For Each ctl In frm.Controls
        If ctl.ControlType = acTextBox Then
            If ctl.ControlTipText = "" Then Debug.Print ctl.Name & " hat keinen Tooltip"
            If ctl.Name Like "Text*" Then Debug.Print ctl.Name & " hat generischen Namen"
        End If
    Next
End Sub

Kannst Du beim Deployment mitlaufen lassen.

Variante 11: Mehrsprachigkeit sauber umsetzen

Access hat keine eingebaute Sprachumschaltung – aber Du kannst das modular bauen.

Die Basis: Eine Tabelle tblSprachtexte mit folgenden Feldern:

  • Steuerelement
  • Formularname
  • Sprache (z. B. de, en, pl)
  • Text

Dann beim Laden des Formulars:

Public Sub UebersetzeFormular(frm As Form, sprache As String)
    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM tblSprachtexte WHERE Formularname='" & frm.Name & "' AND Sprache='" & sprache & "'")

    Do Until rs.EOF
        If frm.Controls(rs!Steuerelement).ControlType = acLabel Then
            frm.Controls(rs!Steuerelement).Caption = rs!Text
        Else
            frm.Controls(rs!Steuerelement).ControlTipText = rs!Text
        End If
        rs.MoveNext
    Loop
    rs.Close
End Sub

Aufruf z. B. im Form_Load:

Call UebersetzeFormular(Me, "en")

So kannst Du Benutzeroberflächen dynamisch anpassen – ganz ohne mehrere Formularversionen.
Wenn Du willst, erweitere das auch auf Menübänder, Statusleisten oder Systemmeldungen.

Fazit für Entwickler

Barrierefreiheit ist kein Beiwerk.
Wenn Du sie sauber umsetzt, wird die Anwendung automatisch klarer – auch für alle anderen.

Tags:

No responses yet

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert