Aria-invalid=true
Die Einstellung von „aria-invalid“ auf „true“ ist eine schnelle und einfache Methode, um anzuzeigen, dass ein Feld die Validierung nicht bestanden hat. Aus Sicht der Barrierefreiheit ist ihr Nutzen jedoch auf folgende Situation beschränkt:
- Die Stelle, an der der Fehler aufgetreten ist, ist optisch so offensichtlich, und
- Eine explizite Beschreibung des Fehlers ist eigentlich nicht erforderlich.
Beispiele hierfür sind Felder, deren Bezeichnung bzw. Hinweistext ausdrücklich darauf hinweisen:
- Datenformat für Datum, E-Mail-Adresse, Telefonnummern usw.
- Minimal- und Maximalbereich der erwarteten Werte
Manchmal kann der Platzhalter oder der Standardtext auch das erwartete Datenformat angeben, bevor ein Benutzer versucht, das Feld auszufüllen (es sollte darauf geachtet werden, dass dies barrierefrei ist). Je nach Kontext kann das Datenformat oder der erwartete Wertebereich aufgrund der allgemeinen Verwendung offensichtlich oder klar sein und muss möglicherweise nicht in allen Situationen ausdrücklich angegeben werden.
- „Aria-invalid“ kann auch für „Pflichtfelder“ gesetzt werden, wenn ein Benutzer das Feld nicht ausfüllt.
Fehlermeldungen
Wenn für ein Feld der Wert „aria-invalid“ auf „true“ gesetzt ist, gibt VoiceOver in Safari die Meldung „ungültige Daten“ aus, sobald das Feld den Fokus erhält; JAWS und NVDA melden den Fehler als „ungültige Eingabe“. Für sehbehinderte Nutzer von ARIA-fähigen Hilfstechnologien sind diese Meldungen entscheidend, um Felder zu identifizieren, deren Validierung in den oben genannten Situationen fehlgeschlagen ist.
Dieses ARIA-Attribut muss programmgesteuert gesetzt bzw. aktiviert werden. Es sollte nicht auf „true“ gesetzt werden, bevor die Eingabevalidierung durchgeführt oder das Formular übermittelt wurde. Das Setzen von „aria-invalid“ auf „false“ entspricht dem vollständigen Fehlen des Attributs für das Formularsteuerelement. Verständlicherweise wird den Nutzern in diesem Fall durch assistive Technologien keine Information vermittelt.
Wenn es erforderlich ist, das Feld, bei dem die Validierung fehlgeschlagen ist, zusammen mit einer eindeutigen Fehlerbeschreibung zu identifizieren, ist die Einstellung von „aria-invalid“ auf „true“ überflüssig und trägt aus Sicht der Barrierefreiheit kaum zur Einhaltung der Anforderungen bei. In einem solchen Fall werden die Anforderungen von SC 3.3.1 und SC 1.3.1 erfüllt, wenn mitgeteilt wird, dass ein Fehler aufgetreten ist, und die detaillierte Fehlermeldung programmgesteuert mit dem entsprechenden Feld verknüpft wird.
Wenn dem Nutzer der Vorschlag zur Behebung des Fehlers angezeigt wird (um die Anforderung SC 3.3.3, Stufe AA, zu erfüllen), kann dieser so formuliert sein, dass er gleichzeitig den Fehler beschreibt. Auch hier ist „aria-invalid=“true““ überflüssig.
In Beispiel 1 wird „aria-invalid“ verwendet, wenn die persönliche Identifikationsnummer (PIN), die E-Mail-Adresse oder das Startdatum nicht dem erwarteten Format entsprechen. Eine Fehlermeldung wird dem Feld mithilfe von „aria-describedby“ zugeordnet, wenn in den ersten drei Feldern keine Eingabe vorliegt oder das angegebene Startdatum in der Vergangenheit liegt.
In Beispiel 2 wurde „aria-invalid“ für Pflichtfelder verwendet, die keine Eingabe enthalten.
Quelle:
- Unterstützte Zustände und Eigenschaften: WAI-ARIA 1.1
- Aria-required=true: Einhaltung der WCAG 2 im Vergleich zu bewährten Verfahren
Sailesh Panchang
Leitender Berater für Barrierefreiheit, Deque Systems