Curso de HTML / Organizar um formulário com fieldset, legend e autocomplete
Use fieldset para agrupar os controles de formulário relacionados e legend para indicar a pergunta do grupo. Para campos como nome ou e-mail de uma pessoa, um token autocomplete apropriado pode informar ao navegador quais informações o campo solicita.
Agrupe uma pergunta com fieldset e legend
Os rótulos individuais dos botões de opção descrevem as respostas, mas os usuários também precisam da pergunta à qual essas respostas pertencem. legend fornece esse nome de grupo. Compare as entradas de rádio e caixas de seleção, incluindo os controles não selecionados, em Escolher os tipos de entrada para e-mails, números, datas e escolhas.
<fieldset>
<legend>Como entrar em contato?</legend>
<label><input type="radio" name="contact" value="email"> E-mail</label>
<label><input type="radio" name="contact" value="phone"> Telefone</label>
</fieldset>
Abra o exemplo em um navegador: uma borda e uma legenda podem aparecer por padrão. O CSS pode alterar essa exibição sem remover a relação. As duas entradas de rádio compartilham name="contact", então escolher uma apaga a outra. Use um fieldset separado para uma pergunta distinta e um nome de grupo de rádio diferente; caso contrário, selecionar uma resposta em uma pergunta pode apagar uma resposta em outra.
Descreva o objetivo de uma entrada com preenchimento automático
<form action="/contact" method="post">
<fieldset>
<legend>Informações de contato</legend>
<label for="full-name">Nome completo</label>
<input id="full-name" name="full_name" autocomplete="name">
<label for="email">Endereço de e-mail</label>
<input id="email" name="email" type="email" autocomplete="email">
</fieldset>
<button type="submit">Enviar</button>
</form>
autocomplete="name" e autocomplete="email" descrevem os objetivos dos campos. Eles não definem um valor fixo nem enviam informações em nome do usuário. A presença de uma sugestão depende das configurações do navegador e das informações armazenadas. O atributo name é a chave do lado do servidor; o token autocomplete é uma indicação do uso pretendido da entrada. /contact é um caminho ilustrativo e requer um manipulador do lado do servidor. Um objetivo de preenchimento automático não substitui a associação de rótulo e ID descrita em Associe corretamente label e input.
Testar grupos independentes e objetivos de entrada
Salve como groups.html e selecione E-mail e Manhã. Ambas as seleções devem coexistir, pois os grupos usam valores diferentes do atributo name.
<!doctype html>
<html lang="pt-BR">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Exercício sobre os grupos</title>
</head>
<body>
<h1>Responder a duas perguntas independentes</h1>
<form id="groups-form" method="get">
<fieldset>
<legend>Meio de contato</legend>
<label><input type="radio" name="contact" value="email" required> E-mail</label>
<label><input type="radio" name="contact" value="phone"> Telefone</label>
</fieldset>
<fieldset>
<legend>Momento da visita</legend>
<label><input type="radio" name="visit" value="morning" required> Manhã</label>
<label><input type="radio" name="visit" value="afternoon"> Tarde</label>
</fieldset>
<button type="submit">Verificar as duas respostas</button>
</form>
</body>
</html>
Substitua temporariamente name="visit" por name="contact" nos dois botões de rádio do grupo de visita. Escolher uma resposta desmarca a resposta da outra pergunta: é o mesmo name que define o grupo de rádio. Restaure name="visit" após a comparação.
| Token autocomplete | Objetivo da entrada | Campo de exemplo |
|---|---|---|
name |
Nome completo | Nome completo |
given-name |
Primeiro nome | Um campo de primeiro nome separado |
family-name |
Sobrenome | Um campo de sobrenome separado |
| Endereço de e-mail | type="email" |
|
tel |
Número de telefone | type="tel" |
postal-code |
Código postal | type="text" |
Escolha um token correspondente às informações solicitadas. autocomplete="postal-code" não valida o formato do código postal, e um navegador sem informações salvas pode não mostrar nenhuma sugestão.
Verificar agrupamento e preenchimento automático
Não coloque perguntas sem relação em um mesmo fieldset, e não espalhe uma pergunta de múltipla escolha sem um nome de grupo. Use os tokens autocomplete definidos em vez de palavras arbitrárias. Teste dois grupos de botões de rádio independentes: se a escolha de uma resposta no segundo limpar a do primeiro, os valores name provavelmente correspondem por engano. O preenchimento automático não valida as informações do usuário, e formulários que coletam dados pessoais sempre requerem práticas apropriadas de segurança e privacidade. Consulte a referência MDN autocomplete e a referência fieldset.




