Kernaussagen

  • Testen Sie, ob beim Länderwechsel Etiketten, Anforderungen und Formate gemeinsam aktualisiert werden
  • Trennen Sie Roheingaben, normalisierte Werte und Serverergebnisse
  • Konfigurieren Sie semantische Autovervollständigungs-Tokens und lokalisierte sichtbare Beschriftungen
  • Behalten Sie die Eingabe nach einem Fehler bei und verschieben Sie den Fokus auf einen nützlichen Fehler

Autorenschaft und Prüfung

Redaktionsgrundsätze
Verfasst von
Redaktionsteam des Zufallsadressengenerators
Geprüft von
Formular- und QA-Überprüfungsteam
Letzte wesentliche Aktualisierung
Länderumschaltung, dynamische Felder, Token zur automatischen Vervollständigung und eine mehrschichtige Testmatrix hinzugefügt.

Schicht eins: Länderwechselstatus

Wenn Sie ein Land auswählen, können Sie die Stadt umbenennen, das Bundesland in Provinz oder Präfektur ändern, eine Region ausblenden und den Hinweis auf die Postleitzahl ersetzen. Stellen Sie sicher, dass die Benutzeroberfläche und API von derselben Länderkonfiguration abgeleitet sind.

Löschen Sie bei einem Länderwechsel niemals stillschweigend eingegebenen Text. Bestätigen Sie zuerst oder behalten Sie länderspezifische Entwürfe bei und sperren Sie dieses Verhalten dann in Regressionstests.

LandLokalisierte EtikettenSchlüsselverhalten
Vereinigte StaatenBundesland/PostleitzahlZweibuchstabiger Bundesstaat und fünfstellige Postleitzahl
KanadaProvinz/PostleitzahlA1A 1A1 mit Platz
Vereinigtes KönigreichPostort/PostleitzahlCounty ist normalerweise optional
JapanPräfektur / PostleitzahlSiebenstelliger Code und mehrere Ebenen
AustralienVorort/Bundesland/PostleitzahlVierstellige Postleitzahl

Schicht zwei: semantisches HTML und automatisches Ausfüllen

Name, Bezeichnung und Autovervollständigung haben unterschiedliche Aufgaben. Etiketten erklären die lokale Bedeutung; Name folgt dem API-Vertrag; Autocomplete verwendet standardisierte Token wie Land, address-line1, address-level1, address-level2 und postal-code.

Kombinieren Sie street-address nicht mit address-line1 und address-line2 für dieselbe Adressdarstellung.

<input name="addressLine1" autocomplete="shipping address-line1" />
<input name="locality" autocomplete="shipping address-level2" />
<input name="region" autocomplete="shipping address-level1" />
<input name="postalCode" autocomplete="shipping postal-code" />

Schicht drei: Validierung, Normalisierung und Verifizierung

Bei der Validierung wird gefragt, ob die Eingabeform akzeptabel ist. Durch die Normalisierung werden Groß- und Kleinschreibung und Trennzeichen standardisiert. Die Verifizierung vergleicht mit Referenzdaten. Geben Sie ihnen separate Zustände und Nachrichten.

Vermeiden Sie es, bei jedem Tastendruck neu zu schreiben. Bei Unschärfe normalisieren oder senden und die resultierende Änderung anzeigen.

  • Unterscheiden Sie zwischen leeren, zu langen und ungültigen Zeichenfehlern
  • Behalten Sie rawValue vor der Normalisierung bei
  • Löschen Sie das Formular nicht nach einem Zeitlimit für die Suche
  • Kennzeichnen Sie eine Regex-Übereinstimmung niemals als lieferbar

Schicht vier: Fehlerbeseitigung und Zugänglichkeit

Konzentrieren Sie sich nach einem Fehler auf eine Fehlerzusammenfassung oder auf das erste ungültige Feld. Verbinden Sie Nachrichten mit aria-describedby, verlassen Sie sich nie nur auf die Farbe und behalten Sie andere Feldwerte bei.

Länderauswahl für Tastaturtests, Vorschlagslisten, Fehlerlinks und Fokus nach der Übermittlung. Suchen Sie automatisierte Tests nach Labels oder Rollen statt nach länderspezifischen Platzhaltern.

Schicht fünf: Bestätigen Sie die echte API-Nutzlast

Erfassen Sie die übermittelte Anfrage und bestätigen Sie countryCode, regionCode, postalCode, rawAddress und normalizedAddress. Lesen Sie den Datensatz zurück, um Codierungs- und Nullkonvertierungsfehler zu erkennen.

Bei einer reinen UI-Behauptung kann eine Provinzauswahl fehlen, die Ontario korrekt anzeigt, aber Ontario anstelle von ON übergibt. Es kann auch eine gelöschte zweite Zeile fehlen, die den vorherigen Wert im Speicher belässt. Führen Sie einen Datensatz durch, um ihn zu erstellen, zu bearbeiten, erneut zu öffnen und zu exportieren, sodass der Test einen vollständigen Roundtrip und nicht nur einen erfolgreichen Bildschirmstatus nachweist.

Üben Sie das Suchverhalten von Drittanbietern mit langsamen Antworten, Ratenbegrenzung, Serverfehlern, keinen Vorschlägen und mehreren plausiblen Vorschlägen aus. Ein Netzwerkfehler darf nicht so formuliert werden, dass Ihre Adresse falsch ist. Systemunverfügbarkeit und inakzeptable Eingabe sind unterschiedliche Zustände mit unterschiedlichen Abhilfemaßnahmen.

Version der vom Test verwendeten Länderkonfiguration. Wenn sich Postregeln oder Produktanforderungen ändern, sollte ein Fehler erkennen lassen, ob sich die Anwendung oder der Referenz-Snapshot geändert hat.

  • Snapshot der letzten Anfrage JSON
  • Bestätigen Sie, dass durch das Löschen eines optionalen Felds dessen alter Wert entfernt wird
  • Simulieren Sie Timeout, 429, 500, kein Ergebnis und mehrere Ergebnisse
  • Trennen Sie die Systemfehlerkopie von der input-error-Kopie

Häufige Fragen

Sollte jedes Land ein Bundesland-Feld anzeigen?

Nein. Benennen Sie es ggf. in „Provinz“, „Präfektur“ oder „Region“ um und verstecken Sie es dort, wo das Land diese Ebene nicht erfordert.

Kann die automatische Vervollständigung ein sichtbares Etikett ersetzen?

Nein. Autocomplete dient dem Browser; Etiketten dienen Menschen und unterstützender Technologie.

Kann eine fehlgeschlagene Suche das Formular löschen?

Das sollte nicht der Fall sein. Behalten Sie Eingaben bei, identifizieren Sie das Feld und lassen Sie den Benutzer es direkt korrigieren.

Quellen und weiterführende Literatur

  1. MDN: HTML-Autovervollständigungsattribut
  2. WHATWG: Feldnamen für das automatische Ausfüllen von Adressen