3.2.2 - Bei Eingabe
A 2.0
Umsetzung
Ziel
Sicherstellen, dass Benutzereingaben nicht zu unerwarteten Änderungen des Kontextes führen, außer der Benutzer wurde vorher darüber informiert.
Beschreibung
- Die Bedienung eines Formularsteuerelements darf nicht automatisch zu einem Kontextwechsel führen, wie z. B. dem Öffnen eines neuen Fensters oder dem Absenden eines Formulars, ohne dass der Benutzer darauf vorbereitet wurde.
- Änderungen des Inhalts, die nicht als Kontextwechsel wahrgenommen werden (z. B. das Einblenden von zusätzlichen Feldern in einem Formular), sind zulässig.
- Kontextänderungen durch Benutzerinteraktion wie das Aktivieren von Schaltflächen oder Links sind erlaubt, da dies erwartetes Verhalten ist.
- Bei komplexen Formularen oder Steuerelementen, die sich durch Eingaben verändern, sollte eine klare Anweisung bereitgestellt werden, die den Benutzer über das Verhalten informiert.
Anforderungen
- Gestaltungselemente so anordnen, dass Benutzerinteraktionen vorhersehbar sind.
- Hinweise oder Labels verwenden, um auf mögliche Änderungen des Kontextes hinzuweisen.
- Schaltflächen für explizite Aktionen wie „Absenden“ oder „Bestätigen“ einsetzen.
- Automatische Kontextwechsel durch Ereignisse wie onchange vermeiden.
- Änderungen im DOM ausschließlich im bestehenden Kontext durchführen, ohne die Navigation oder Interaktion unerwartet zu beeinflussen.
- Warnungen oder Hinweise programmieren, wenn ein Kontextwechsel erforderlich ist.
- Prüfung, ob Änderungen des Kontextes nur bei expliziten Aktionen erfolgen.
- Sicherstellen, dass Hinweise und Anweisungen zur Änderung des Kontextes korrekt formuliert und sichtbar sind.
- Test mit Tastatur- und assistiven Technologien, um die Benutzererfahrung zu bewerten.
Code-Beispiele
Vermeidung automatischer Kontextwechsel durch onchange:
<select id="country" onchange="showWarning()"> <option value="none">Auswahl treffen</option> <option value="de">Deutschland</option> <option value="us">USA</option></select><script> function showWarning() { console.log('Der Kontext wird erst nach Bestätigung geändert.'); }</script>Eindeutige Interaktion durch Schaltflächen:
<form action="/submit-form" method="post"> <label for="language">Sprache auswählen:</label> <select id="language" name="language"> <option value="de">Deutsch</option> <option value="en">Englisch</option> </select> <button type="submit">Bestätigen</button></form>