HTML und XHTML
Dieser Fehler bezieht sich auf:
Formulare werden häufig so gestaltet, dass sie automatisch abgesendet werden, wenn der Benutzer alle Felder ausgefüllt hat oder wenn der Fokus das letzte Feld verlässt. Bei dieser Vorgehensweise gibt es zwei Probleme. Erstens kann es sein, dass ein behinderter Benutzer, der mehr Kontext benötigt, den Fokus möglicherweise von dem Feld weg zu den Anweisungen, wie man das Formular ausfüllt oder zu anderem Text bewegt und damit versehentlich das Formular absendet. Das zweite ist, dass sich bei manchen Formular-Elementen der Wert des Feldes ändert während per Tastatur zu jedem Punkt navigiert wird und auch hierbei versehentlich das Formular abgesendet wird. Es ist besser, sich auf das Standard-Formularverhalten der Absenden-Schaltfläche und der Eingabetaste zu stützen.
Dieses Fehlerbeispiel sendet ein Formular ab, wenn der Benutzer das letzte Feld eines drei Felder großen Telefonnummer-Formulars verlässt. Das Formular wird abgesendet, wenn der Benutzer das Feld nach dessen Bearbeitung verlässt, sogar dann, wenn er in der Tab-Reihenfolge rückwärts navigiert. Entwickler sollten nicht diese Methode zum Absenden eines Formulars benutzen, sondern sie sollten stattdessen eine Absenden-Schaltfläche benutzen oder sich auf das Standardverhalten des Formulars verlassen, und zwar dem Absenden, wenn der Benutzer in einem Textfeld die Eingabetaste drückt.
Code-Beispiel:
<form method="get" id="form1">
<input type="text" name="text1" size="3" maxlength="3"> -
<input type="text" name="text2" size="3" maxlength="3"> -
<input type="text" name="text3" size="4" maxlength="4" onchange="form1.submit();">
</form>
Dies ist ein Beispiel, in dem ein Formular abgesendet wird, wenn der Benutzer eine Option aus dem Menü wählt und es vorab keine Warnung über dieses Verhalten gibt. Das Formular wird abgesendet, sobald ein Punkt aus dem Menü ausgewählt wird. Ein Benutzer, der eine Tastatur benutzt, wird nicht in der Lage sein, über den ersten Punkt im Menü hinaus zu navigieren. Blinde Benutzer und Benutzer mit Hand-Tremor können leicht einen Fehler dabei machen, welchen Punkt sie im Aufklappmenü auswählen sollen und sie werden zu einem falschen Ziel gebracht, bevor sie diesen korrigieren können.
Code-Beispiel:
<form method="get" id="form2">
<input type="text" name="text1">
<select name="select1" onchange="form2.submit();">
<option>one</option>
<option>two</option>
<option>three</option>
<option>four</option>
</select>
</form>
Ressourcen sind nur zu Informationszwecken und keine offizielle Empfehlung.
Geben Sie in allen Feldern einer Seite Daten ein, wobei Sie von oben beginnen.
Geben Sie Daten in das letzte Feld ein und verlassen Sie es (gehen Sie per Tabulator raus).
Prüfen Sie, ob das Verlassen des letzten Feldes zu einer Änderung des Kontextes führt.
Wenn Schritt #3 wahr ist, dann gilt diese Fehlersituation und der Inhalt scheitert am Erfolgskriterium.