Trilha de aprendizado · Nível 6 · Tutorial 7

Facilitar o preenchimento com autocomplete e inputmode

Ao concluir, você poderá informar ao navegador a finalidade dos campos e sugerir teclados virtuais adequados, reduzindo o esforço de preenchimento sem confundir essas dicas com validação.

  • Nível: Intermediário
  • Duração: 11 min
  • 6 passos
Facilitar o preenchimento com autocomplete e inputmode

Passo 1 de 6

Separar a finalidade do campo do nome de envio

Identifique o que autocomplete informa ao navegador e por que seu valor não precisa coincidir com o de name.

Uma dica de finalidade para o navegador

O atributo autocomplete indica ao navegador a finalidade do campo para apoiar o preenchimento automático. Neste campo já estruturado, acrescentamos autocomplete="email" para indicar que a informação solicitada é um endereço de e-mail.

Campo com a finalidade indicada

html
<label for="email-contato">E-mail</label>
<input
  type="email"
  id="email-contato"
  name="contato"
  autocomplete="email"
>

Aqui, autocomplete="email" comunica a finalidade; name="contato" mantém a chave esperada no envio. Os valores não precisam ser iguais: cada atributo tem uma função.

Separe as duas funções

Finalidade e envio

Um campo usa name="contato" e autocomplete="email". Qual é a interpretação correta?

O token não acompanha o idioma da interface

Valores padronizados

Os valores de autocomplete que identificam finalidades são chamados de tokens. Eles são padronizados e não devem ser traduzidos.

Para e-mail, use email, sem hífen, mesmo em uma interface em português. Não substitua por e-mail nem por correio_eletronico.

Dica

Padronizado não significa tudo igual

Já o valor de name segue o nome esperado no envio. Por isso, name="correio_eletronico" pode coexistir com autocomplete="email".

Complete sem mudar o envio

Campo a completar

html
<label for="email-principal">E-mail principal</label>
<input
  type="email"
  id="email-principal"
  name="email_principal"
  autocomplete="____"
>

Qual token falta?

O sistema espera a chave email_principal no envio. Preencha a lacuna de autocomplete com o token adequado, sem alterar name. Digite apenas o token.

Passo 2 de 6

Escolher tokens para dados pessoais e endereço

Escolha o token de autocomplete pela informação solicitada: nome, contato, endereço de rua ou CEP.

Nome e contato

Nome completo ou campos separados?

Escolha o valor de autocomplete conforme o que o campo pede:

  • name: nome completo.
  • given-name: nome, em um formulário que separa nome e sobrenome.
  • family-name: sobrenome, nessa mesma organização.

Não é preciso dividir um campo de nome completo só para usar os tokens separados.

Telefone não é e-mail

Para telefone, use tel; para e-mail, use email.

html
<label for="telefone">Telefone</label>
<input type="tel" id="telefone" name="fone" autocomplete="tel">

<label for="email">E-mail</label>
<input type="email" id="email" name="contato" autocomplete="email">

Associe cada finalidade

Qual token atende ao campo?

Relacione a informação solicitada ao valor de autocomplete.

Toque em um item e depois no par correspondente.

Endereço de rua e CEP

Duas finalidades diferentes

  • street-address: endereço de rua, incluindo logradouro, número e complemento quando reunidos no campo.
  • postal-code: código postal, como o CEP brasileiro.

Um campo de CEP não pede o endereço de rua: ele tem seu próprio token.

Endereço reunido em um campo

html
<label for="endereco">Endereço (logradouro, número e complemento)</label>
<textarea id="endereco" name="local_entrega"
  autocomplete="street-address"></textarea>

Dica

A finalidade decide

Esse endereço também poderia ser solicitado em um input de uma linha. Escolha o token pelo dado pedido, não pela aparência do controle nem pelo valor de name.

Complete os campos

Endereço em uma linha

Complete apenas o token de autocomplete para este campo que reúne logradouro, número e complemento:

<label for="local">Endereço (logradouro, número e complemento)</label>
<input type="text" id="local" name="local_entrega"
  autocomplete="____">

Agora, somente o CEP

Complete apenas o token de autocomplete, mantendo o nome de envio fornecido:

<label for="cep">CEP</label>
<input type="text" id="cep" name="codigo_entrega"
  autocomplete="____">

Passo 3 de 6

Configurar o formulário sem prometer o preenchimento

Combine a configuração geral de autocomplete com indicações nos campos e reconheça os limites dessas dicas.

Configuração geral e ajustes por campo

Qual configuração prevalece?

No form, use autocomplete="on" ou autocomplete="off" como configuração geral para os controles associados que não tenham uma configuração própria.

  • on: permite o preenchimento automático, sem indicar uma finalidade específica.
  • off: solicita que o preenchimento automático não seja realizado.

Se o controle declarar seu próprio autocomplete, essa configuração prevalece sobre a do formulário.

Uma configuração específica

O campo de nome segue o off do formulário. Já o campo de e-mail usa sua própria indicação: email.

html
<form autocomplete="off">
  <label for="nome">Nome completo</label>
  <input type="text" id="nome" name="nome_completo">

  <label for="email">E-mail</label>
  <input type="email" id="email" name="contato"
         autocomplete="email">
</form>

Leia a configuração declarada

Qual indicação vale para o campo?

Associe cada combinação à configuração resultante. Considere o que o HTML declara, não o que o navegador necessariamente fará.

Toque em um item e depois no par correspondente.

A indicação não é uma promessa

O navegador também decide

Mesmo com on ou um token específico, o campo pode continuar vazio. O preenchimento depende do navegador, das preferências do usuário e dos dados disponíveis.

Atenção

off não é uma medida de segurança

Navegadores e gerenciadores de senhas podem desconsiderar off, especialmente em campos de acesso. Não conte com esse valor para impedir todo preenchimento automático ou proteger dados.

Explique sem prometer

Qual explicação está correta?

Ao revisar um formulário, como você deve descrever on e off?

Passo 4 de 6

Diferenciar senha atual de nova senha

Escolha o token de autocomplete para senhas existentes e senhas que serão criadas, mantendo type="password".

Mesmo tipo, finalidades diferentes

Qual senha o campo pede?

Os campos continuam usando type="password". O que muda é a finalidade informada por autocomplete:

  • autocomplete="current-password": senha já existente, como no acesso a uma conta.
  • autocomplete="new-password": senha que será criada, como no cadastro ou na alteração de senha.

Complete: acesso e cadastro

Digite somente o token de autocomplete, sem aspas. Não digite senhas reais.

Entrar na conta

O campo pede a senha que o usuário já cadastrou. Complete:

<label>
  Senha
  <input type="password" name="senha"
         autocomplete="_____">
</label>

Cadastrar uma conta

O campo pede que o usuário crie uma senha. Complete:

<label>
  Crie sua senha
  <input type="password" name="senha"
         autocomplete="_____">
</label>

Na alteração, avalie cada campo

Uma tela de alteração de senha pode pedir a senha atual e a nova senha. Não escolha um único token para toda a tela: configure cada campo conforme a senha que ele solicita.

Dica

Indicar não é implementar

Esses tokens ajudam o navegador e o gerenciador de senhas a interpretar os campos. Eles não implementam autenticação, não criam uma conta e não definem regras de senha.

Configure a alteração de senha

Quais tokens completam A e B?

Escolha a combinação para estes campos:

<label>
  Senha atual
  <input type="password" name="senha_atual"
         autocomplete="A">
</label>

<label>
  Nova senha
  <input type="password" name="senha_nova"
         autocomplete="B">
</label>

Passo 5 de 6

Sugerir o teclado com inputmode

Escolha entre numeric e decimal para facilitar a digitação, mantendo o tipo do campo e sem confundir teclado sugerido com validação.

Uma dica para a digitação

Finalidade e teclado são dicas diferentes

Enquanto autocomplete informa a finalidade do campo, inputmode sugere um teclado virtual para facilitar a digitação no celular. Um atributo não substitui o outro.

Exemplo

Escolha conforme a digitação esperada

  • inputmode="numeric": favorece a digitação de dígitos, como os de um CEP.
  • inputmode="decimal": sugere um teclado com dígitos e separador decimal, útil quando a digitação inclui uma parte decimal.

Dica

O teclado pode variar

O navegador e o dispositivo decidem qual teclado oferecer. Em decimal, o separador pode aparecer como vírgula ou ponto, conforme a localidade e o dispositivo. Não há garantia de uma disposição específica de teclas.

Associe intenção e configuração

Qual configuração atende a cada intenção?

Associe cada intenção ao atributo e ao valor adequados.

Toque em um item e depois no par correspondente.

CEP textual, teclado numérico

Combine as dicas sem trocar o tipo

O CEP continua sendo um identificador textual, não uma quantidade. Mantenha type="text" e acrescente inputmode="numeric": não é necessário mudar para type="number" para sugerir um teclado numérico.

As duas dicas no mesmo campo

html
<label for="cep">CEP</label>
<input
  type="text"
  id="cep"
  name="cep_entrega"
  autocomplete="postal-code"
  inputmode="numeric"
>

Atenção

Sugerir não é restringir

inputmode não bloqueia caracteres nem valida o conteúdo. Colagem, teclado físico e outras formas de entrada continuam possíveis. A dica facilita a digitação, mas não garante que o valor seja um CEP válido.

Além do teclado virtual

E se o usuário colar texto?

No campo de CEP mostrado, o atributo inputmode="numeric", por si só, impede que o usuário cole ABC.

Passo 6 de 6

Aplicar as dicas em um formulário completo

Aprimore um cadastro com autocomplete e inputmode, preserve sua estrutura e explique os limites dessas indicações.

Aprimore o cadastro

Acrescente dicas, preserve a estrutura

Configure autocomplete="on" no form, acrescente um token específico a cada campo e sugira um teclado para digitar os dígitos do CEP. Preserve os nomes de envio, os tipos e os rótulos. O destino deste formulário é ilustrativo: não envie dados.

Formulário fornecido

html
<form action="/cadastro" method="post">
  <label for="nome">Nome completo</label>
  <input type="text" id="nome" name="nome_cliente">

  <label for="email">E-mail</label>
  <input type="email" id="email" name="email_contato">

  <label for="telefone">Telefone</label>
  <input type="tel" id="telefone" name="telefone_contato">

  <label for="endereco">Endereço (logradouro, número e complemento)</label>
  <textarea id="endereco" name="endereco_entrega"></textarea>

  <label for="cep">CEP</label>
  <input type="text" id="cep" name="cep_entrega">

  <label for="senha">Crie uma senha</label>
  <input type="password" id="senha" name="senha_cadastro">

  <button type="submit">Cadastrar</button>
</form>

Quais atributos você acrescentaria?

Liste as adições ao form e aos seis controles, identificando cada controle pelo seu name. Não precisa reescrever todo o HTML. Depois, justifique suas escolhas para o CEP e a criação de senha.

Confira as responsabilidades

Quatro atributos, quatro funções

No campo de CEP:

  • name="cep_entrega" mantém a chave de envio.
  • type="text" mantém o controle textual.
  • autocomplete="postal-code" informa a finalidade.
  • inputmode="numeric" sugere o teclado.

No form, on é a configuração geral; as configurações explícitas nos controles prevalecem.

Dica

Conferência opcional no celular

Se tiver um celular disponível, abra sua versão ajustada no ambiente de prática e observe as sugestões e o teclado do CEP, sem enviar o formulário. O acerto não depende de aparecerem sugestões nem de uma disposição específica das teclas.

Interprete o resultado

Isso demonstra um erro?

Após os ajustes, o navegador não oferece preenchimento automático. No CEP, o usuário consegue colar letras, mesmo com inputmode="numeric". Qual conclusão é correta?

Revisão final

Resumo

Antes de concluir, confira

  • Os tokens correspondem aos dados solicitados, sem alterar os nomes de envio.
  • O CEP continua textual, com postal-code e numeric; a senha de cadastro usa new-password.
  • As configurações facilitam o preenchimento, mas não garantem sugestões nem validam os dados.

Facilitar o preenchimento com autocomplete e inputmode

Parabéns! Você concluiu: Facilitar o preenchimento com autocomplete e inputmode

Tutorial concluído! Você praticou como comunicar finalidades e sugerir teclados. No próximo tutorial, verá como aplicar restrições de preenchimento com instruções claras.

Baixe o Aplicativo agora para ter acesso a + de 5000 cursos gratuitos, exercícios, certificado e muito conteúdo sem pagar nada!

  • Cursos online 100% gratuitos do início ao fim

    Milhares de cursos online em vídeo, ebooks e áudiobooks.

  • Mais de 60 mil exercícios gratuitos

    Para testar seus conhecimentos no decorrer dos cursos online

  • Certificado Digital gratuito válido em todo o Brasil

    Gerado diretamente na galeria de fotos do seu celular e enviado ao seu e-mail

Aplicativo Cursa na tela de ebook, na tela de curso em vídeo e na tela de exercícios do curso, mais o certificado de conclusão de curso