- Stufe
- AA
- Seit
- WCAG 2.2
3.3.8 Barrierefreie Authentifizierung (Minimum)
Die Anmeldung darf nicht davon abhängen, sich etwas zu merken, abzuschreiben oder zu lösen, außer es gibt einen anderen Weg, Hilfe wie Passwortmanager oder Einfügen, oder der Test besteht im Erkennen von Objekten oder eigenen Inhalten.
/ Was es verlangt
Ein kognitiver Funktionstest ist eine Aufgabe, bei der Nutzende Informationen behalten, verarbeiten oder abschreiben müssen: sich an ein Passwort erinnern, Zeichen aus einem verzerrten Bild abtippen, einen Code von Hand übertragen, ein Rätsel lösen oder rechnen. Menschen mit Beeinträchtigungen des Gedächtnisses, des Lesens oder der Informationsverarbeitung kann ein solcher Test den Zugang zum eigenen Konto versperren. Das Kriterium verbietet, ihn für irgendeinen Schritt eines Authentifizierungsprozesses vorauszusetzen, es sei denn, der Schritt bietet eine alternative Methode ohne solchen Test oder einen Mechanismus, der bei der Lösung hilft. Die üblichen Kennungen Name, E-Mail-Adresse und Telefonnummer gelten nicht als kognitive Funktionstests.
W3C nennt die üblichen Mechanismen: Unterstützung für Passwortmanager, die die Felder ausfüllen, und Kopieren und Einfügen, damit niemand etwas abtippen muss. Ein Passwortfeld besteht also, wenn es sich automatisch füllen oder per Einfügen belegen lässt. Auf Stufe AA sind zudem zwei Arten von Test erlaubt: Objekte erkennen, etwa die Bilder mit einem Auto auswählen, und Nicht-Text-Inhalte erkennen, die die Nutzenden der Website selbst gegeben haben, etwa das eigene Foto. Ein Bestätigungscode, der von Hand abgetippt werden muss, besteht nicht; er muss sich mindestens einfügen lassen. Das AAA-Kriterium 3.3.9 streicht die Ausnahmen für Objekte und persönliche Inhalte.
Dieses Kriterium ist neu in WCAG 2.2 und nicht Teil von WCAG 2.0 oder 2.1.
/ Woran Seiten scheitern
- Das Passwortfeld blockiert das Einfügen per Skript, sodass ein aus dem Passwortmanager kopiertes Passwort nicht eingegeben werden kann.
- Das Anmeldeformular nutzt eine eigene Bildschirmtastatur, die Passwortmanager nicht ausfüllen können, und bietet keinen anderen Weg der Anmeldung.
- Ein sechsstelliger Code aus einer SMS muss in sechs einzelne Felder, und das Einfügen des Codes füllt nur das erste.
- Ein CAPTCHA verlangt, verzerrte Zeichen abzutippen, und auch die Audioversion muss abgeschrieben werden.
- Eine Bank fragt die erste, dritte und fünfte Ziffer einer Geheimzahl ab, die kein Passwortmanager ausfüllen und niemand einfügen kann.
/ So prüfen Sie es selbst
- Listen Sie jeden Schritt der Anmeldung, der Registrierung, sofern sie authentifiziert, des Zurücksetzens eines Passworts und der Bestätigung eines zweiten Faktors auf.
- Lassen Sie bei jedem Schritt, der etwas Gemerktes oder Abgeschriebenes verlangt, einen Passwortmanager das Feld ausfüllen. Kopieren Sie dann einen Wert und fügen Sie ihn mit Strg+V und über das Kontextmenü ein.
- Suchen Sie in den Entwicklerwerkzeugen nach Listenern für das paste-Ereignis an Anmelde- und Codefeldern und prüfen Sie, ob die Felder dort, wo es passt, autocomplete="username", "current-password" oder "one-time-code" tragen.
- Fügen Sie bei einem Einmalcode, der auf mehrere Felder verteilt ist, den ganzen Code in das erste Feld ein und prüfen Sie, ob sich alle Teile füllen.
- Prüfen Sie bei jedem CAPTCHA oder Rätsel, ob es eine Alternative ohne Erinnern, Abschreiben oder Rechnen gibt, oder ob der Test im Erkennen von Objekten oder eigenen Inhalten der Nutzenden besteht.
/ So beheben Sie es
- Entfernen Sie jeden Handler, der das Einfügen in Anmelde- und Codefeldern verhindert.
- Verwenden Sie normale input-Elemente innerhalb eines form-Elements mit autocomplete="username" und autocomplete="current-password", damit Browser und Passwortmanager sie ausfüllen können.
- Nehmen Sie einen Einmalcode in einem Feld mit autocomplete="one-time-code" und inputmode="numeric" entgegen, oder verteilen Sie, wenn das Design ihn aufteilt, eine eingefügte Zeichenfolge auf alle Teile.
- Bieten Sie eine Methode ganz ohne Test an: einen per E-Mail gesendeten Anmeldelink, WebAuthn oder die Anmeldung über einen Drittanbieter.
- Ersetzen Sie ein CAPTCHA mit Abschreiben durch eine Prüfung ohne kognitiven Funktionstest oder durch eine auf Objekterkennung beruhende, und stellen Sie sicher, dass eine Audiooption nicht verlangt, das Gehörte einzutippen.
/ Was unser Scanner prüft
Keine automatische Prüfung in unserem Scan deckt dies ab. Der Website-Scan besucht Seiten als anonymer Gast und meldet sich nie an, und keine unserer Regeln probiert einen Passwortmanager aus, fügt einen Wert ein oder sucht nach Skripten, die das Einfügen blockieren. Ob ein Schritt der Anmeldung einen Gedächtnis- oder Abschreibtest verlangt, prüft ein Mensch mit einem Testkonto in der manuellen Prüfung.
/ Wer es verletzt, nach unseren eigenen Messungen
Der wöchentliche Index hat für dieses Kriterium keine Zahlen, weil keine Prüfung des Website-Scans es testen kann. Ein Mensch beurteilt es, und genau dafür gibt es ein manuelles Audit.
Eine Seite je Stelle, automatisch im Wochenrhythmus gemessen. Behebungen seit dem letzten Durchlauf erscheinen beim nächsten, und jede Eintragsseite bietet ein Recht auf Gegendarstellung.
/ Fragen zu diesem Kriterium
Verstößt eine Anmeldung mit Passwort gegen WCAG 2.2 3.3.8?
Nicht, wenn ein Passwortmanager das Passwort ausfüllen oder man es einfügen kann. W3C nennt beides als Mechanismen, die das Kriterium erfüllen. Eine Anmeldung verstößt dagegen, wenn sie Einfügen oder automatisches Ausfüllen blockiert und keine andere Methode anbietet, denn dann bleibt den Nutzenden nur, sich das Passwort ohne Hilfe zu merken und einzutippen.
Ist ein CAPTCHA unter Barrierefreie Authentifizierung (Minimum) erlaubt?
Ein CAPTCHA, das verzerrte Zeichen abtippen lässt, ist ein kognitiver Funktionstest und braucht eine Alternative, die keiner ist. Eine Audioversion zählt nur, wenn Nutzende sie nicht abschreiben müssen. Ein Test zur Objekterkennung, etwa die Bilder mit einem Fahrrad auswählen, ist auf Stufe AA ausgenommen, auf AAA nicht.
Sind SMS-Bestätigungscodes nach 3.3.8 erlaubt?
Ja, wenn sie sich einfügen lassen. W3C schreibt, dass ein Dienst, der das manuelle Abtippen eines Bestätigungscodes verlangt, nicht konform ist, und dass Nutzende den Code mindestens einfügen können müssen. Ein Codefeld, das Einfügen zulässt, am besten mit autocomplete="one-time-code", erfüllt dieses Kriterium der Stufe AA, das neu in WCAG 2.2 ist.
