Punti chiave

  • Verifica che il cambio di paese aggiorni insieme etichette, requisiti e formati
  • Separa input non elaborati, valori normalizzati e risultati del server
  • Configura token di completamento automatico semantico ed etichette visibili localizzate
  • Conserva l'input dopo un errore e sposta l'attenzione su un errore utile

Autore e revisione

Principi editoriali
Scritto da
Team editoriale del generatore di indirizzi casuali
Revisionato da
Team di revisione moduli e QA
Ultimo aggiornamento sostanziale
Aggiunto cambio di paese, campi dinamici, token di completamento automatico e una matrice di test a più livelli.

Livello uno: stato di cambio paese

Selezionando un Paese è possibile rietichettare Città, cambiare Stato in Provincia o Prefettura, nascondere una regione e sostituire il suggerimento del codice postale. Dichiarare che l'interfaccia utente e API derivano dalla stessa configurazione del paese.

Non cancellare mai silenziosamente il testo inserito quando si cambia Paese. Conferma prima o conserva le bozze per paese, quindi blocca tale comportamento nei test di regressione.

PaeseEtichette localizzateComportamento chiave
Stati UnitiStato/CAPStato di due lettere e CAP di cinque cifre
CanadaProvincia/Codice PostaleA1A 1A1 con spazio
Regno UnitoPost Town/Codice postalecontea normalmente facoltativa
GiapponePrefettura/Codice postaleCodice a sette cifre e livelli multipli
AustraliaSobborgo/Stato/Codice postaleCodice postale di quattro cifre

Livello due: HTML semantico e compilazione automatica

nome, etichetta e completamento automatico hanno lavori distinti. Le etichette spiegano il significato locale; il nome segue il contratto API; il completamento automatico utilizza token standardizzati come paese, address-line1, address-level1, address-level2 e postal-code.

Non combinare l'indirizzo con address-line1 e address-line2 per la stessa rappresentazione dell'indirizzo.

<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" />

Livello tre: convalida, normalizzazione e verifica

La convalida chiede se la forma dell'input è accettabile. La normalizzazione standardizza maiuscole/minuscole e separatori. La verifica viene confrontata con i dati di riferimento. Fornisci loro stati e messaggi separati.

Evitare di riscrivere ad ogni pressione di un tasto. Normalizza sulla sfocatura o invia e mostra la modifica risultante.

  • Distinguere gli errori vuoti, troppo lunghi e con caratteri non validi
  • Conservare rawValue prima della normalizzazione
  • Non cancellare il modulo dopo un timeout di ricerca
  • Non etichettare mai una corrispondenza regex come consegnabile

Livello quattro: ripristino degli errori e accessibilità

Dopo un errore, evidenzia un riepilogo degli errori o il primo campo non valido. Collega i messaggi con aria-describedby, non fare mai affidamento solo sul colore e conserva i valori degli altri campi.

Selezioni del paese per il test della tastiera, elenchi di suggerimenti, collegamenti di errore e focus post-invio. Individua i test automatizzati in base a etichette o ruoli anziché a segnaposto specifici per paese.

Livello cinque: verificare il payload reale dell’API

Cattura la richiesta inviata e afferma countryCode, regionCode, postalCode, rawAddress e normalizedAddress. Rileggere il record per rilevare errori di codifica e conversione null.

Un'asserzione solo UI può mancare una selezione di provincia che visualizza correttamente l'Ontario ma invia Ontario anziché ON. Può anche mancare una seconda riga cancellata che lascia in memoria il valore precedente. Esegui un record tramite creazione, modifica, riapertura ed esportazione in modo che il test dimostri un percorso di andata e ritorno completo anziché uno stato di schermata riuscito.

Esercita un comportamento di ricerca di terze parti con risposte lente, limitazione della velocità, errori del server, nessun suggerimento e diversi suggerimenti plausibili. Un errore di rete non deve essere formulato in quanto il tuo indirizzo è sbagliato. L'indisponibilità del sistema e l'input inaccettabile sono stati diversi con rimedi diversi.

Versione della configurazione del paese utilizzata dal test. Quando le regole postali o i requisiti del prodotto cambiano, un errore dovrebbe identificare se è cambiata l'applicazione o lo snapshot di riferimento.

  • Snapshot della richiesta finale JSON
  • Conferma che la cancellazione di un campo facoltativo rimuove il suo vecchio valore
  • Simula timeout, 429, 500, nessun risultato e risultati multipli
  • Copia separata degli errori di sistema dalla copia input-error

Domande frequenti

Ogni paese dovrebbe mostrare un campo Stato?

No. Rietichettalo Provincia, Prefettura o Regione dove appropriato e nascondilo dove il Paese non richiede quel livello.

Il completamento automatico può sostituire un'etichetta visibile?

No. Il completamento automatico serve il browser; le etichette sono al servizio delle persone e delle tecnologie assistive.

Una ricerca non riuscita può cancellare il modulo?

Non dovrebbe. Conserva l'input, identifica il campo e consenti all'utente di correggerlo sul posto.

Fonti e letture

  1. MDN: attributo di completamento automatico HTML
  2. WHATWG: nomi dei campi di compilazione automatica degli indirizzi