Formulários HTML acessíveis: campos, rótulos e validação

Construa formulários com labels associados, tipos de campo corretos, agrupamentos, autocomplete e mensagens de erro compreensíveis.

Compartilhe

Formulário HTML acessível com campos e controles

HTML moderno: estrutura, semântica e acessibilidade

Estrutura semântica de uma página HTML moderna

HTML moderno: fundamentos e como a Web é estruturada

Editor e navegador conectados por um documento HTML

Seu primeiro documento HTML: do arquivo ao navegador

Árvore de elementos e sintaxe HTML

Elementos e sintaxe HTML: tags, conteúdo e aninhamento

Controles e propriedades de atributos HTML

Atributos HTML: propriedades, valores e boas práticas

Hierarquia visual de cabeçalhos HTML

Cabeçalhos HTML: hierarquia clara para pessoas e buscadores

Blocos estruturados de parágrafos e conteúdo pré-formatado

Parágrafos HTML: texto, quebras e conteúdo pré-formatado

Navegação entre páginas por links e âncoras

Links HTML: navegação acessível, URLs e segurança

Elementos semânticos de texto HTML

Semântica de texto HTML: ênfase, citações e código

Camadas de estrutura HTML e apresentação CSS

CSS no HTML: como conectar estrutura e apresentação

Imagem adaptada a telas de diferentes tamanhos

Imagens responsivas em HTML: desempenho e acessibilidade

Tabela de dados HTML com cabeçalhos acessíveis

Tabelas HTML acessíveis: estrutura para dados

Listas ordenadas, não ordenadas e de descrição

Listas HTML: ul, ol, dl e estruturas aninhadas

Formulário HTML acessível com campos e controles

Formulários HTML acessíveis: campos, rótulos e validação

Conteúdo externo protegido em um iframe

Iframes em HTML: incorporação segura e acessível

Atributos globais aplicados a um elemento HTML

Atributos globais HTML: idioma, dados, foco e identidade

Biblioteca organizada de elementos HTML modernos

Referência de elementos HTML: guia atual e semântico

Interface HTML moderna com modal, popover e painel expansível em tons de azul e ciano

HTML moderno sem frameworks: dialog, details e Popover API na prática

Um formulário acessível começa no HTML nativo. Rótulos associados, tipos de entrada adequados e instruções claras melhoram a experiência para teclado, toque, preenchimento automático e tecnologias assistivas. JavaScript deve complementar, não substituir, essa base.

Todo campo precisa de nome acessível

Associe label e controle usando for e id, ou envolva o controle com o rótulo. Placeholder não substitui label: desaparece durante a digitação e pode ter baixo contraste.

<form action="/contato" method="post">n  <label for="email">E-mail</label>n  <input id="email" name="email" type="email" autocomplete="email" required>n  <button type="submit">Enviar</button>n</form>

Escolha tipos e autocomplete

Tipos como email, tel, date e number podem ativar teclados e validações adequadas. Nem todo valor numérico deve ser number: CEP, CPF e cartão são identificadores, não quantidades. Use tokens de autocomplete para ajudar o preenchimento.

Grupos, ajuda e erros

Agrupe radios ou checkboxes relacionados com fieldset e legend. Instruções e mensagens de erro devem identificar o problema e como corrigi-lo, estar associadas ao campo e não depender apenas de cor. Leve o foco ao resumo de erros quando o envio falhar.

Checklist de qualidade

  • É possível concluir o formulário apenas com teclado?
  • Cada campo tem label persistente e instruções suficientes?
  • Erros são específicos, associados e anunciados?

Pratique agora

Crie um cadastro com nome, e-mail e preferência de contato. Teste Tab, preenchimento automático e envio com campos vazios.

Referências atualizadas

HTML moderno: estrutura, semântica e acessibilidade

Listas HTML: ul, ol, dl e estruturas aninhadas Iframes em HTML: incorporação segura e acessível