Encontrar problemas em formulários com o Chrome DevTools

A equipe do Chrome DevTools está criando novos recursos para ajudar você a encontrar problemas nos formulários e depurar o preenchimento automático.

No Chrome Canary, estamos testando novos recursos no DevTools para ajudar os desenvolvedores a entender como o preenchimento automático de formulários funciona e por que ele às vezes falha:

  • Como o preenchimento automático do navegador mapeia valores armazenados para campos de formulário?
  • Quais critérios são usados pelo preenchimento automático para preencher um campo de formulário?
  • Quais campos não foram preenchidos pelo preenchimento automático?
  • Por que um campo de formulário não é preenchido pelo preenchimento automático?

Este artigo descreve os novos recursos do Chrome DevTools, explica como testá-los e enviar feedback.

O que é o preenchimento automático?

O Chrome ajuda os usuários a gerenciar informações de endereço, pagamento e login, armazenando conjuntos de dados com segurança e oferecendo o preenchimento de campos de formulários sem que o usuário precise inserir texto. Isso é conhecido como preenchimento automático.

O Chrome se oferece para salvar dados do preenchimento automático quando você envia um formulário. Em dispositivos móveis, faça o seguinte:

Três capturas de tela
do Android: um formulário de endereço no Chrome, a opção de preenchimento automático do Chrome para salvar o endereço e a
caixa de diálogo para editar a nova entrada do recurso.

Em seguida, o Chrome oferece o preenchimento automático de formulários com os dados salvos.

Em dispositivos móveis, faça o seguinte:

No computador:

Chrome oferecendo o preenchimento automático de um formulário de endereço no computador

Você pode gerenciar seus dados de preenchimento automático nas configurações do Chrome.

Em dispositivos móveis, faça o seguinte:

Configurações do Chrome no
Android: como editar um endereço

No computador:

Página chrome://settings/addresses, mostrando dois exemplos de endereço

Talvez o Chrome ofereça sugestões para campos de entrada não relacionados a endereço, cartão de crédito ou dados de login. Além de oferecer o preenchimento automático para conjuntos de dados estruturados, como endereços e detalhes de pagamento, o Chrome ajuda os usuários a evitar a reinserção de dados para campos únicos de formulário que não podem ser processados pelo preenchimento automático. Quando um formulário tem um campo com um atributo de nome que o Chrome encontrou antes, o navegador pode sugerir valores para que você não precise inserir dados novamente.

Veja um exemplo simples:

O Chrome oferece sugestões
de dados não estruturados em um único campo de formulário

O Chrome DevTools mostra que o campo do formulário não tem atributos significativos para o navegador. Em vez disso, é apenas um atributo name de n300.

O Chrome DevTools
mostra informações sobre os dados não estruturados em um formulário, como mostrado no exemplo anterior: uma
única entrada que só tem os atributos type=text e name=n300.

O campo não corresponde a um valor em um conjunto de dados estruturados que o tornaria apropriado para o preenchimento automático do Chrome, mas o Chrome ainda pode ajudar o usuário caso encontre um campo com esse nome no futuro.

Testar os novos recursos de preenchimento automático do Chrome DevTools

O Chrome está testando novos recursos para o painel Issues do DevTools para ajudar a depurar falhas de preenchimento automático.

Você pode testar esses novos recursos no Chrome Canary. Verifique Configurações. Configurações > Experimentos > Caixa de seleção. Realça um nó ou atributo de violação na árvore DOM do painel Elementos no DevTools e recarregue o DevTools quando solicitado.

Página de configurações
do Chrome DevTools, mostrando "Realça um nó violado ..."

Como alternativa, execute o Chrome Canary na linha de comando com a sinalização AutofillEnableDevtoolsIssues:

  • Windows: shell start chrome --restart --flag-switches-begin --enable-features=AutofillEnableDevtoolsIssues
  • Mac: shell open -a "Google Chrome Canary" --args --restart --flag-switches-begin --enable-features=AutofillEnableDevtoolsIssues

Para verificar se há problemas, abra o painel Issues do DevTools em uma página que tenha um formulário. form-problems.glitch.me é um bom ponto de partida.

Chrome DevTools
mostrando um problema com o atributo for de um elemento de formulário.

Como você pode ver, este formulário é uma bagunça! Eis alguns:

  • Campos de entrada sem um atributo id ou name.
  • Elementos com IDs duplicados.
  • Uma <label> com um atributo for que não corresponde a um ID de elemento.
  • Um campo com um atributo autocomplete vazio.

Passe o cursor sobre um elemento destacado na árvore do DOM e clique em Ver problema para saber mais.

Problema expandido no
Chrome DevTools: uso incorreto do rótulo para o atributo.

Clique em Nó com violações para conferir os recursos afetados em cada problema. Este formulário tem oito rótulos com um atributo for que não corresponde ao id de um campo de formulário.

Usar o DevTools para melhorar a acessibilidade do formulário

O DevTools também pode destacar problemas de acessibilidade de preenchimento automático, como um campo de formulário que não tem um atributo aria-labelledby ou um <label> associado.

Painel &quot;Acessibilidade&quot; do Chrome DevTools, mostrando que um rótulo foi encontrado para um elemento de entrada em um formulário.

Neste exemplo, um elemento <input> tem um rótulo correspondente. Isso significa que os dispositivos assistivos podem anunciar a finalidade do elemento. No entanto, no exemplo a seguir, nenhum rótulo ou atributo aria-labelledby correspondente foi encontrado.

Painel de acessibilidade
do Chrome DevTools, mostrando que nenhum rótulo correspondente ou atributo aria-labelledby foi encontrado para um
elemento de entrada em um formulário.

Enviar feedback sobre os novos recursos de preenchimento automático no DevTools

Use as opções a seguir para discutir os novos recursos e mudanças na postagem ou qualquer outra coisa relacionada ao DevTools:

Saiba mais

  • Aprender Formulários: um curso sobre formulários HTML para ajudar você a melhorar sua experiência como desenvolvedor da Web. Ideal para iniciantes em formulários e preenchimento automático.
  • web.dev/tags/forms: orientações, práticas recomendadas e codelabs para formulários de pagamento, login e endereço.