Digite o CEP primeiro
(zipcodefirst.com)- Embora seja possível identificar automaticamente cidade, estado e país apenas com o ZIP code de 5 dígitos dos EUA, a maioria dos sites ainda não aproveita isso
- Os usuários ainda precisam preencher manualmente endereço, cidade, estado e país, passando por menus suspensos ineficientes, especialmente ao selecionar estado e país
- Só com o ZIP code já seria possível fazer autocompletar; com uma área de busca menor, velocidade e precisão melhoram, e a qualidade dos dados também
- Mesmo podendo ser implementado com APIs gratuitas e apenas algumas linhas de código, muitos sites ainda usam formulários ultrapassados
- O texto destaca que desenvolvedores e responsáveis por produto precisam corrigir a ineficiência dos formulários de endereço
- No topo do texto aparece a seguinte frase
Então você veio da Coreia. A Coreia reformulou completamente seu sistema de códigos postais em 2015 e agora ele é realmente excelente. Nós ainda usamos códigos postais da época do governo Kennedy.
Eficiência do ZIP code e o problema levantado
- O ZIP code é composto por 5 dígitos e, com ele, é possível identificar cidade, estado e país
- Por exemplo, ao inserir
90210, o sistema pode determinar automaticamente Beverly Hills, California, United States
- Por exemplo, ao inserir
- A maioria dos sites ainda é projetada para que o usuário preencha na ordem endereço → cidade → estado → ZIP → país
- Ao escolher o estado, é preciso encontrar um entre 50 itens; ao escolher o país, existe a ineficiência de rolar uma lista com mais de 200 opções
- O texto critica esse UX anacrônico com a ideia de “estamos em 2026 e ainda fazemos isso?”
Vantagens do autocompletar baseado em ZIP code
- Apenas com o ZIP code é possível preencher automaticamente 3 campos (cidade, estado e país)
- Depois do autocompletar, a área de busca do endereço cai para alguns milhares de possibilidades, melhorando velocidade e precisão
- O usuário digita menos, e o provedor do serviço consegue dados mais limpos
- Isso não é uma tecnologia nova e pode ser implementado facilmente com uma API gratuita
- No código de exemplo, a chamada
https://api.zippopotam.us/us/${zip}preenche automaticamente cidade e estado
- No código de exemplo, a chamada
Tipos de formulários mal projetados
- Etapa 1: colocar o ZIP no fim — grandes sites como Amazon, Target e Walmart se enquadram aqui
- Etapa 2: coletar o ZIP e não fazer nada com ele — apenas armazenam no banco de dados e não o utilizam
- Etapa 3: rolagem no dropdown de país — é preciso percorrer 240 países sem busca, e às vezes os Estados Unidos aparecem na letra “T”
- Etapa 4: formulário resetado ao voltar — após uma falha no pagamento, todos os dados somem, gerando frustração para o usuário
Sugestões adicionais de melhoria
- Otimização do campo numérico: ao digitar o ZIP code, usar
inputmode="numeric"para exibir o teclado numérico no mobile - Aproveitar o autocompletar do navegador: é preciso definir corretamente os atributos
autocomplete(postal-code,address-line1,country) - Permitir selecionar o país antes: como códigos postais podem se repetir globalmente, também é possível definir primeiro o país com base no IP e depois pedir o ZIP
Conclusão e chamado à ação
- A melhor estrutura é pedir primeiro o ZIP code, preencher automaticamente cidade, estado e país e só depois solicitar o endereço da rua
- Esse problema já tem solução técnica e pode ser resolvido com 5 linhas de código
- O motivo de isso ainda não ter sido corrigido é a inércia de continuar usando templates antigos
- O texto termina com a pergunta “por que o ZIP code fica lá embaixo?”, reforçando que todo designer de formulários deveria corrigir isso
1 comentários
Comentários no Hacker News
A alegação de que dá para descobrir cidade, estado e país apenas com os 5 dígitos do ZIP code dos EUA é uma premissa errada
ZIP codes podem abranger várias cidades ou até cruzar fronteiras estaduais
Também há casos de códigos que se sobrepõem entre países, então tentar fazer autocomplete com base nisso corre o risco de virar uma UX desastrosa
É muito melhor projetar o site para aproveitar o recurso de autofill do navegador
Mesmo quando um ZIP cobre várias cidades, o USPS processa endereços com base no ZIP, então os limites administrativos não têm importância
Por isso, o usuário pode acabar vendo um nome de cidade diferente daquele em que mora sendo preenchido automaticamente
Para verificar o nome da cidade de cada ZIP, consulte o USPS ZIP Code Lookup
No fim, o mais seguro é pedir cidade, estado e ZIP separadamente
Como os casos excepcionais podem ser preenchidos manualmente, ainda acho eficiente uma estrutura em que o ZIP seja informado primeiro
Mas é preciso permitir entrada livre para que o usuário possa corrigir manualmente
<FORM>e os recursos básicos do HTML, eram melhoresOs formulários web de hoje prejudicam a usabilidade com JavaScript desnecessário e dropdowns
É uma abordagem centrada nos EUA
Ao digitar um código postal do México, ele foi interpretado como sendo do estado do Maine, nos EUA
Presumir o país apenas pelo ZIP code é uma premissa totalmente errada
Códigos postais da Noruega têm 4 dígitos, mas exigem 5, ou rejeitam letras norueguesas como ø, å, æ como se fossem caracteres especiais
Esse tipo de problema acontece com frequência, embora o sistema postal norueguês permita algumas grafias alternativas
Ao inserir o código postal, bastaria ordenar os países possíveis no topo e deixar todos os campos editáveis
Mas, se também fosse usada a geolocalização do cliente, isso provavelmente funcionaria com 99% de precisão, exceto em casos como usuários com VPN
Casos assim surgem da postura de empresas americanas que assumem que o mundo é igual a elas
Alguns países oferecem serviços de autocomplete baseados em bancos de dados do próprio sistema postal,
mas eles ainda não funcionam para endereços sem código postal
Pedir o ZIP code primeiro é incômodo para mais de 95% da população mundial
Quando inseri meu código postal, ele foi interpretado como se fosse dos EUA
Quando inseri meu ZIP code, apareceu Wisconsin, e nem sequer foi possível mudar o país para Grécia
A ideia de melhorar a UX é boa, mas não dá para esquecer dos outros 95% do planeta
Fora dos EUA, muitas regiões não têm ZIP code, usam outro formato ou têm códigos sobrepostos
Portanto, o correto é selecionar primeiro o país e só depois inserir o código postal
Mesmo em países como a Alemanha, que usam PLZ de 5 dígitos, é difícil identificar a cidade com precisão apenas pelo código postal
Para quem mora fora dos EUA, inserir o ZIP pode gerar um resultado aleatório e obrigar a apagar tudo de novo
Por isso, na prática, quase nunca é necessário digitar o endereço manualmente
Um equívoco comum sobre endereços entre desenvolvedores americanos é agir como se “não existissem países fora dos EUA”
É problemático criar um sistema que não funciona em mais de 90% do mundo e nem sequer testá-lo
A ideia de inserir o ZIP code primeiro não se aplica a usuários fora dos EUA
Em países como o Turcomenistão, onde não há ZIP, fica a dúvida de como essas pessoas fariam cadastro
ZIP code não é um padrão internacional, então regras americanas não funcionam globalmente
O ZIP code se parece mais com uma espécie de checksum para validar a consistência do endereço do que com algo que identifique perfeitamente a cidade
Por isso, acho mais realista apresentar ZIP, cidade e estado em forma de autocomplete ou sugestão
Quando inseri um ZIP code alemão, ele foi interpretado como sendo de outro país
Na Alemanha, várias localidades compartilham o mesmo ZIP, então não dá para saber a cidade exata só pelo código postal
No fim, é uma abordagem que não funciona em escala global