Stufe
AA
Seit
WCAG 2.1
Einträge
12 / 193
/ WCAG-Kriterium

1.3.5 Eingabezweck bestimmen

Ein Formularfeld, das nach den eigenen Daten der Person fragt, die es ausfüllt, muss im Code angeben, welche Angabe es erwartet, damit der Browser sie eintragen kann.

/ Was es verlangt

Fragt ein Formular nach Name, E-Mail-Adresse, Telefonnummer, Anschrift oder Kartendaten der Person, die es ausfüllt, muss der Code angeben, wofür jedes Feld gedacht ist. In HTML leistet das das Attribut autocomplete mit einem Wert aus einer festen Liste, etwa email oder postal-code. Der Browser kann das Feld dann aus einem gespeicherten Profil füllen, was Menschen mit motorischen Einschränkungen oder Gedächtnisproblemen das Tippen erspart, und andere Werkzeuge können ein vertrautes Symbol daneben einblenden.

Erfasst sind nur Felder, die Angaben über die ausfüllende Person sammeln, und nur die Zwecke auf der Liste in WCAG 2.1, die aus den Autofill-Werten von HTML stammt. Ein Suchfeld, ein Nachrichtenfeld oder die Anschrift eines Geschenkempfängers liegen außerhalb. Ein Feld für die eigene E-Mail-Adresse ohne autocomplete besteht nicht, ebenso wenig dasselbe Feld mit dem Wert off oder einem erfundenen Wert wie phone. Das Kriterium gilt überall, wo die Technik die Angabe des Zwecks unterstützt, und HTML tut das.

/ Woran Seiten scheitern

  • Ein Feld für Name, E-Mail, Telefon oder Anschrift hat kein autocomplete-Attribut.
  • Das Attribut steht auf off, obwohl das Feld eigene Daten der Person sammelt, meist um die Vorschläge des Browsers abzuschalten.
  • Der Wert ist kein gültiger Autofill-Wert, zum Beispiel phone statt tel oder zip statt postal-code.
  • Der Wert passt nicht zum Feld, etwa autocomplete="name" auf einem E-Mail-Feld.
  • Ein eigenes Widget aus div-Elementen sammelt persönliche Daten und kann gar kein autocomplete-Attribut tragen.

/ So prüfen Sie es selbst

  1. Listen Sie alle Felder auf, die nach eigenen Daten der Besucher fragen: in Registrierung, Anmeldung, Kasse, Kontaktformular und Kundenkonto.
  2. Untersuchen Sie jedes Feld in den Entwicklerwerkzeugen und lesen Sie das autocomplete-Attribut. Vergleichen Sie den Wert mit der Liste der Eingabezwecke in WCAG 2.1 oder mit den Autofill-Werten im HTML-Standard.
  3. Speichern Sie in den Autofill-Einstellungen des Browsers eine Testadresse und eine Testkarte, laden Sie das Formular neu und sehen Sie nach, welche Felder der Browser füllen will und ob der richtige Wert im richtigen Feld landet.
  4. Prüfen Sie die Passwortfelder: Das Anmeldefeld sollte current-password tragen, ein Feld in der Registrierung new-password.

/ So beheben Sie es

  • Ergänzen Sie an jedem input, select und textarea den passenden Wert: given-name, family-name, email, tel, street-address, postal-code, country, bday.
  • In Zahlungsformularen verwenden Sie cc-name, cc-number, cc-exp und cc-csc.
  • Entfernen Sie autocomplete="off" von Feldern, die eigene Daten der Person sammeln.
  • Stehen zwei Anschriften auf einer Seite, stellen Sie den Werten shipping oder billing voran, zum Beispiel autocomplete="shipping postal-code".
  • Bauen Sie diese Felder aus nativen input-Elementen und setzen Sie einen passenden Typ wie type="email" oder type="tel".

/ Was unser Scanner prüft

Der Durchlauf auf der gerenderten Seite betrachtet sichtbare Textfelder, Auswahllisten und textarea-Elemente ohne autocomplete-Attribut und meldet jene, deren name oder id ein Wort für persönliche Daten enthält, etwa name, email, phone, address, city, postal, country, card oder birth. Die Beschriftung liest er nicht, ein Feld mit neutralem Namen wird also übersehen. Auch den Wert prüft er nicht: Jedes autocomplete, auch off oder ein falscher Wert, besteht.

/ Wer es verletzt, nach unseren eigenen Messungen

Gemessene Stellen, die dieses Kriterium verletzen, meiste Vorkommen zuerst
StelleSektorVorkommenWert
Bostoncity · US26
Chicago Transit Authoritytransport · US24
Szczecincity · PL22
Bundesnetzagenturgovernment · DE19
Bundeszentrale für politische Bildunggovernment · DE110
Elblągcity · PL120
Gliwicecity · PL113
Komisja Nadzoru Finansowegogovernment · PL117
Münchencity · DE122
Polski Instytut Sztuki Filmowejculture · PL17
Prezydent RPgovernment · PL115
Wrocławcity · PL12

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

Welche Formularfelder brauchen das autocomplete-Attribut?

Felder, die Angaben über die ausfüllende Person sammeln, sofern ihr Zweck auf der Liste der Eingabezwecke in WCAG 2.1 steht: Namen, E-Mail, Telefon, Teile der Postanschrift, Geburtstag, Benutzername, Passwörter, Zahlungskartendaten und einige weitere. Felder für alles andere, etwa einen Suchbegriff, eine Nachricht oder Daten über eine andere Person, fallen nicht unter 1.3.5.

Verstößt autocomplete="off" gegen WCAG?

Bei einem Feld, das eigene Daten der Person für einen gelisteten Zweck sammelt, ja: Der Zweck lässt sich dann nicht mehr aus dem Code bestimmen, und genau das verlangt 1.3.5. Bei anderen Feldern ist es keine WCAG-Frage. Browser ignorieren off in Anmeldefeldern ohnehin häufig, der Wert erreicht also selten, wofür er gesetzt wurde. Ein konkreter Wert ist die sicherere Wahl.

Welche autocomplete-Werte sind für Name, E-Mail und Telefon richtig?

Für den vollständigen Namen verwenden Sie name, für getrennte Felder given-name und family-name. Eine E-Mail-Adresse ist email, eine Telefonnummer tel und nicht phone. Die Postleitzahl ist postal-code, die Straße street-address oder address-line1, der Ort address-level2 und das Land country oder country-name. Die vollständige Liste steht im HTML-Standard, im Abschnitt zu Autofill.