- Stufe
- A
- Seit
- WCAG 2.0
- Einträge
- 37 / 193
3.2.2 Bei Eingabe
Das Ändern einer Einstellung, etwa die Auswahl einer Option aus einer Liste oder das Ankreuzen eines Kästchens, darf einen Menschen nicht von selbst woandershin führen, außer er wurde vorher darauf hingewiesen.
/ Was es verlangt
Einen Wert zu wählen ist nicht dasselbe, wie etwas auszulösen. Das Kriterium besagt, dass das Ändern der Einstellung eines Bedienelements, also das Auswählen einer Option, das Ankreuzen eines Kontrollkästchens oder das Tippen in ein Feld, nicht automatisch einen Kontextwechsel bewirken darf. Ein Kontextwechsel ist eine größere Veränderung: Eine neue Seite lädt, ein neues Fenster öffnet sich, der Fokus springt an eine andere Stelle, oder der Inhalt wird so umgebaut, dass die Seite etwas anderes bedeutet. Wer nicht den ganzen Bildschirm sieht, verliert dabei die Orientierung.
Die Grenze verläuft zwischen dem Ändern eines Werts und dem Auslösen eines Bedienelements. Eine Schaltfläche zu drücken oder einem Link zu folgen darf alles bewirken, weil die Person darum gebeten hat. Einen Teil der Seite nach einer Auswahl zu aktualisieren, etwa weitere Felder einzublenden oder eine Liste zu filtern, ist kein Kontextwechsel, solange der Fokus bleibt, wo er ist, und die Seite ihre Bedeutung behält. Das Kriterium lässt einen Ausweg: Das Verhalten ist erlaubt, wenn die Person vor der Benutzung des Bedienelements darüber informiert wurde.
/ Woran Seiten scheitern
- Ein select-Element lädt eine andere Seite, sobald eine Option gewählt ist, und es gibt keine Schaltfläche zum Bestätigen der Auswahl.
- Ein Formular schickt sich selbst ab, wenn das letzte Feld ausgefüllt oder ein Kontrollkästchen angekreuzt wird.
- Der Fokus springt nach einer festen Zahl von Zeichen ins nächste Feld, etwa zwischen den Teilen einer Telefonnummer, und nichts auf der Seite sagt das an.
- Die Auswahl eines Optionsfelds öffnet ein neues Fenster.
- Eine Auswahlliste für Sprache oder Land lädt die ganze Seite in einer anderen Version neu, sobald sich ihr Wert ändert.
/ So prüfen Sie es selbst
- Gehen Sie mit der Tabulatortaste zu jedem select-Element und ändern Sie den Wert nur mit den Pfeiltasten. Beobachten Sie, ob die Seite navigiert, das Formular abschickt oder den Fokus verschiebt, bevor Sie die Eingabetaste drücken.
- Kreuzen Sie jedes Kontrollkästchen an und wählen Sie jedes Optionsfeld mit Leertaste und Pfeiltasten, und achten Sie auf dieselben drei Dinge.
- Tippen Sie in die Textfelder, auch in Felder, die auf mehrere Kästchen verteilt sind, und notieren Sie jede Stelle, an der der Fokus wandert, ohne dass Sie die Tabulatortaste drücken.
- Suchen Sie im Quelltext nach onchange-Handlern, die submit() aufrufen oder location setzen, denn das ist die übliche Ursache.
- Wo eine Eingabe tatsächlich einen Kontextwechsel auslöst, prüfen Sie, ob ein sichtbarer Hinweis vor dem Bedienelement ihn ankündigt.
/ So beheben Sie es
- Setzen Sie neben das select-Element ein button-Element vom Typ submit und navigieren Sie beim Absenden des Formulars, nicht beim change-Ereignis.
- Entfernen Sie Aufrufe von form.submit() aus change- und blur-Handlern und lassen Sie die Person das Formular mit einer Schaltfläche absenden.
- Öffnen Sie neue Fenster nur über Links und Schaltflächen, niemals beim Ändern eines Optionsfelds, Kontrollkästchens oder einer Auswahlliste.
- Muss eine Auswahl die Seite aktualisieren, ändern Sie den Inhalt hinter dem Bedienelement an Ort und Stelle und lassen Sie den Fokus, wo er ist.
- Muss ein automatisches Verhalten bleiben, beschreiben Sie es in einem Text vor dem Bedienelement, damit er gelesen wird, bevor das Bedienelement erreicht ist.
/ Was unser Scanner prüft
Die einzige automatische Regel hier, H32.2 aus HTML_CodeSniffer, meldet ein form-Element ohne Absendeschaltfläche: kein input vom Typ submit oder image, kein button, der absendet, und keine äußere Schaltfläche, die über das form-Attribut zugeordnet ist. Das deutet darauf hin, dass ein Formular bei einer Änderung absenden könnte, und beweist nichts. Die Prüfung bedient nie ein Bedienelement, deshalb bleibt eine Auswahlliste, die bei einer Änderung navigiert, unentdeckt.
/ Wer es verletzt, nach unseren eigenen Messungen
| Stelle | Sektor | Vorkommen | Wert |
|---|---|---|---|
| Nürnberg | city · DE | 5 | 2 |
| Gliwice | city · PL | 2 | 13 |
| Harris County | government · US | 2 | 19 |
| Phoenix | city · US | 2 | 1 |
| Uniwersytet Łódzki | education · PL | 2 | 9 |
| Warszawski Uniwersytet Medyczny | education · PL | 2 | 13 |
| Austin | city · US | 1 | 20 |
| Baltimore | city · US | 1 | 7 |
| Boston | city · US | 1 | 6 |
| Bundesministerium der Finanzen | government · DE | 1 | 13 |
| Dallas | city · US | 1 | 23 |
| Gdańsk | city · PL | 1 | 2 |
| Houston | city · US | 1 | 7 |
| Indianapolis | city · US | 1 | 18 |
| Katowice | city · PL | 1 | 10 |
| King County | government · US | 1 | 15 |
| Krajowa Administracja Skarbowa | government · PL | 1 | 5 |
| Köln | city · DE | 1 | 16 |
| Las Vegas | city · US | 1 | 8 |
| Miami-Dade County | government · US | 1 | 20 |
| Narodowy Instytut Zdrowia Publicznego | health · PL | 1 | 25 |
| Nashville | city · US | 1 | 12 |
| New Orleans | city · US | 1 | 7 |
| Państwowa Inspekcja Pracy | government · PL | 1 | 50 |
| Philadelphia | city · US | 1 | 8 |
| Politechnika Wrocławska | education · PL | 1 | 17 |
| Polski Instytut Sztuki Filmowej | culture · PL | 1 | 7 |
| Poznań | city · PL | 1 | 1 |
| Radom | city · PL | 1 | 2 |
| Rzeszów | city · PL | 1 | 8 |
| Seattle | city · US | 1 | 12 |
| State of Florida | government · US | 1 | 8 |
| State of Pennsylvania | government · US | 1 | 21 |
| Technische Universität München | education · DE | 1 | 14 |
| Uniwersytet Jagielloński | education · PL | 1 | 1 |
| Uniwersytet Warszawski | education · PL | 1 | 4 |
| Veterans Affairs | government · US | 1 | 33 |
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
Was gilt in den WCAG als Kontextwechsel?
Die WCAG definieren ihn als größere Veränderung, die Menschen desorientieren kann, die nicht die ganze Seite auf einmal sehen: einen Wechsel des Benutzeragenten, des Viewports, des Fokus oder von Inhalt, der die Bedeutung der Seite verändert. Beispiele sind das Öffnen eines neuen Fensters, das Laden einer anderen Seite und das Verschieben des Fokus. Eine bloße Inhaltsänderung ist nicht immer ein Kontextwechsel.
Darf ein Dropdown bei der Auswahl einer Option auf eine andere Seite führen?
Nicht ohne Vorwarnung. Ein select-Element, das bei einer Änderung eine neue Seite lädt, erfüllt dieses Kriterium nicht, und am stärksten trifft es Tastaturnutzer, weil das Durchgehen der Optionen mit den Pfeiltasten den Sprung schon bei der ersten auslösen kann. Ergänzen Sie eine Schaltfläche, die die Navigation ausführt, oder schreiben Sie vor das Bedienelement, dass die Auswahl einer Option eine neue Seite öffnet.
Verstößt das Filtern einer Liste beim Ankreuzen eines Kästchens gegen Bei Eingabe?
Meist nicht. Weitere Felder einzublenden, einen Preis zu aktualisieren oder Ergebnisse unter dem Bedienelement zu filtern ändert Inhalt und ist kein Kontextwechsel, sofern der Fokus auf dem Bedienelement bleibt und die Seite ihre Bedeutung behält. Zum Fehler wird es, wenn die Aktualisierung den Fokus verschiebt, die ganze Seite ersetzt oder das Formular absendet. Solche Änderungen für Screenreader anzusagen gehört zu 4.1.3 Statusmeldungen.
