Trilha de aprendizado · Nível 6 · Tutorial 1

Criar campos de texto com rótulos acessíveis

Ao concluir, você poderá criar campos de uma ou várias linhas e associar rótulos visíveis que identifiquem corretamente cada controle.

  • Nível: Iniciante
  • Duração: 13 min
  • 6 passos
Criar campos de texto com rótulos acessíveis

Passo 1 de 6

Escolher entre uma linha e várias linhas

Escolha o controle de texto adequado e escreva a estrutura HTML de campos de uma ou várias linhas.

Uma linha ou várias?

Use input com type="text" para um campo de texto de uma linha.

Use textarea quando o usuário precisar escrever em várias linhas, com a possibilidade de inserir quebras de linha.

Dica

O tamanho do texto não decide sozinho

Um texto comprido pode ser escrito em uma única linha. Mesmo um recado curto pode precisar de quebras de linha. Escolha conforme a necessidade de edição.

Escolha conforme a necessidade

O título de um projeto pode ser comprido, mas deve ser editado em uma única linha, sem quebras de linha. Qual controle atende a essa necessidade?

Escreva e teste os controles

A estrutura de cada elemento

input é um elemento vazio: não recebe tag de fechamento.

textarea tem tag de abertura e tag de fechamento. Para criar um campo vazio, escreva <textarea></textarea>.

Dois campos vazios

html
<input type="text">
<textarea></textarea>

Experimente no navegador

Coloque o trecho no body de um arquivo HTML de prática, salve e atualize a página.

  1. No primeiro campo, digite algumas palavras e pressione Enter: nenhuma quebra de linha é inserida.
  2. No segundo, digite, pressione Enter e continue: você começa outra linha.

Por enquanto, são controles isolados apenas para testar a digitação.

Confira a estrutura

Tanto input quanto textarea precisam de uma tag de fechamento.

Passo 2 de 6

Associar um rótulo a cada campo

Crie rótulos visíveis e associe cada um ao campo correto usando for e id.

Um rótulo visível e associado

Identifique a finalidade do campo

O elemento label apresenta um rótulo visível para o campo. Quando associado ao controle, seu texto fornece o nome acessível: a identificação usada por tecnologias assistivas, como leitores de tela.

Rótulo para um campo de nome

html
<label for="nome-completo">Nome completo</label>
<input type="text" id="nome-completo">

A ligação está no código

O for do label aponta para o id do controle. Os valores devem ser exatamente iguais, inclusive nas letras maiúsculas e minúsculas, e sem acrescentar #.

Apenas colocar um texto perto do campo não estabelece essa associação.

Complete a associação

Qual é o destino do rótulo?

html
<label for="____">Cidade de residência</label>
<input type="text" id="cidade-residencia">

Digite apenas o valor que completa for, sem as aspas.

Um rótulo para cada controle

A mesma associação vale para textarea

Use um id exclusivo no documento para cada controle e faça cada label apontar para o campo correspondente.

Escolha textos claros e específicos: “Assunto da solicitação” e “Detalhes da solicitação” informam melhor a finalidade dos campos do que um rótulo genérico como “Dados”.

Dois controles, duas associações

html
<label for="assunto">Assunto da solicitação</label>
<input type="text" id="assunto">

<label for="detalhes">Detalhes da solicitação</label>
<textarea id="detalhes"></textarea>

Complete sem duplicar identificadores

Campos de um projeto

html
<label for="nome-projeto">Nome do projeto</label>
<input type="text" id="nome-projeto">

<label for="descricao-projeto">Descrição do projeto</label>
<textarea id="____"></textarea>

Qual valor completa o id da textarea, associando-a ao rótulo “Descrição do projeto” sem repetir o id do input?

Passo 3 de 6

Conferir a associação pelo foco

Teste o destino do foco ao clicar nos rótulos e corrija referências que apontam para o campo errado.

Do clique à digitação

Clique no rótulo, não no campo

Ao clicar em um label associado, o navegador direciona o foco ao campo correspondente. Observe o cursor de inserção — a barrinha dentro do campo — e digite algumas letras. Elas devem aparecer no controle identificado pelo rótulo.

Dica

Se o resultado não for o esperado

Se nenhum campo receber foco ou outro campo receber, compare o for do rótulo com o id do controle pretendido.

Encontre e corrija o destino

Teste uma associação incorreta

Insira este trecho no body do seu arquivo de prática. Salve, atualize a página e clique no rótulo “Mensagem”. Observe o cursor de inserção e digite algumas letras.

Trecho com erro de associação

html
<p>
  <label for="nome">Nome</label>
  <input type="text" id="nome">
</p>
<p>
  <label for="nome">Mensagem</label>
  <textarea id="mensagem"></textarea>
</p>

Qual foi o destino?

Qual campo recebeu o foco ao clicar em “Mensagem”? Mantendo os controles e seus valores de id, escreva a linha do rótulo “Mensagem” corrigida.

Escreva pelo menos 15 caracteres (0/15).

Confirme após corrigir

Repita o teste nos dois rótulos

Aplique a correção, salve e atualize a página.

  1. Clique em “Nome” e digite algumas letras: elas devem aparecer no campo de uma linha.
  2. Clique em “Mensagem” e digite: agora o cursor e as letras devem estar na caixa de várias linhas.

Atenção

Uma verificação pontual

O teste de clique ajuda a conferir a associação entre rótulo e campo. Passar nesse teste não garante, sozinho, a acessibilidade completa da página.

Passo 4 de 6

Definir o texto inicial dos campos

Preencha input e textarea com textos iniciais editáveis, usando a sintaxe adequada para cada controle.

Texto inicial no input

Um campo pode começar preenchido. No input do tipo text, use o atributo value para definir esse texto inicial.

Um campo que começa com Ana

html
<label for="nome">Nome de exibição</label>
<input type="text" id="nome" value="Ana">

Exemplo

Rótulo e valor têm funções diferentes

“Nome de exibição” identifica o campo. “Ana” é o conteúdo inicial: o usuário pode trocar por “Bia” ou apagar tudo. Essa edição não altera o rótulo.

Complete o input

Qual atributo falta?

Preencha a lacuna com o atributo que faz o campo começar com o texto “Recife”.

<label for="cidade">Cidade</label>
<input type="text" id="cidade" ____="Recife">

Texto inicial no textarea

No textarea, escreva o texto inicial entre a tag de abertura e a de fechamento. Esse conteúdo também poderá ser editado pelo usuário.

Conteúdo inicial em duas linhas

html
<label for="apresentacao">Apresentação</label>
<textarea id="apresentacao">Gosto de desenhar.
Quero aprender HTML.</textarea>

Atenção

Não use value no textarea

Em HTML, o atributo value não define o valor inicial de um textarea. Use value no input; no textarea, coloque o conteúdo entre as tags.

Corrija o textarea

Código com problema

html
<label for="apresentacao">Apresentação</label>
<textarea id="apresentacao" value="Estudo à noite."></textarea>

Escolha a correção

O campo deveria começar com “Estudo à noite.”. Qual trecho corrige o problema e mantém o rótulo “Apresentação”?

Passo 5 de 6

Usar placeholder sem substituir o rótulo

Diferencie o rótulo permanente, o conteúdo preenchido e a dica temporária de um campo.

Uma dica enquanto o campo está vazio

Use o atributo placeholder para oferecer uma dica breve e opcional em input type="text" ou textarea. Mantenha o label visível e associado: a dica não o substitui.

Dicas nos dois controles

html
<label for="assunto">Assunto</label>
<input type="text" id="assunto"
       placeholder="Ex.: Horário de atendimento">

<label for="mensagem">Mensagem</label>
<textarea id="mensagem"
          placeholder="Ex.: Vocês abrem aos sábados?"></textarea>

Exemplo

O que aparece no navegador

Os dois campos estão vazios: os exemplos são dicas, não valores preenchidos. Ao digitar, a dica desaparece; ao apagar todo o conteúdo, ela volta. O rótulo permanece visível.

A dica pode substituir o rótulo?

Analise este trecho

html
<input type="text" id="nome-completo"
       placeholder="Nome completo">

O placeholder “Nome completo” dispensa um label visível e associado a esse campo.

Rótulo, valor e dica têm funções diferentes

Um valor inicial já preenche o campo. Por isso, enquanto houver esse conteúdo, o placeholder não aparece.

Um campo que começa preenchido

html
<label for="cidade-destino">Cidade de destino</label>
<input type="text" id="cidade-destino"
       value="Recife" placeholder="Ex.: Salvador">

Exemplo

Leia cada função

  • “Cidade de destino” identifica o campo e permanece visível.
  • “Recife” é o conteúdo inicial, que pode ser editado.
  • “Ex.: Salvador” é a dica, oculta enquanto houver conteúdo.

Depois de apagar o conteúdo

No exemplo anterior, a pessoa apaga “Recife” por completo. Sem digitar nada, como fica o campo?

Passo 6 de 6

Aplicar e revisar os campos criados

Monte dois campos com rótulos associados, valores iniciais e uma dica opcional. Depois, confira o comportamento no navegador.

Monte os dois campos

Um pequeno perfil

Escreva um trecho HTML com estes requisitos:

  • Nome de exibição: campo de uma linha, com o valor inicial “Lia Costa”.
  • Apresentação pessoal: campo que permita inserir quebras de linha, com o valor inicial “Gosto de desenhar.”.
  • Use os nomes acima como rótulos visíveis, associados explicitamente aos campos. Escolha um id exclusivo para cada controle.
  • Na apresentação, acrescente a dica opcional Ex.: interesses e projetos, sem substituir o rótulo.

Use somente os elementos e atributos necessários para esses dois campos.

Escreva pelo menos 30 caracteres (0/30).

Confira no navegador

Teste o que você montou

Coloque seu trecho no body de um arquivo HTML de prática, salve e abra no navegador.

  1. Confira se os dois valores iniciais aparecem nos campos.
  2. Clique em cada rótulo e digite um caractere: ele deve entrar no campo correspondente.
  3. Na apresentação, pressione Enter e continue digitando. Deve ser possível inserir uma quebra de linha.
  4. Apague todo o conteúdo da apresentação: a dica deve aparecer. Digite novamente: a dica deve desaparecer, mas o rótulo deve continuar visível.

Dica

O alcance dessa conferência

O clique no rótulo verifica pontualmente a associação com o campo. Esse teste, sozinho, não garante a acessibilidade de toda a página.

Diagnostique uma falha

O cursor foi para outro campo

Ao testar uma versão do trecho, você clica em “Apresentação pessoal”, mas a digitação entra no campo “Nome de exibição”. O que deve revisar?

Sua revisão final

Resumo

Critérios para levar à prática

  • Escolha input com type="text" para uma linha e textarea quando for necessário inserir quebras de linha.
  • Mantenha um label claro e visível para cada campo. A associação por for e id fornece seu nome acessível.
  • Use ids exclusivos e correspondências exatas, sem #. Confira o destino do foco ao clicar nos rótulos.
  • Defina o valor inicial em value no input e entre as tags no textarea.
  • Use placeholder apenas como dica opcional: ele não é um valor preenchido nem substitui o rótulo.

Criar campos de texto com rótulos acessíveis

Parabéns! Você concluiu: Criar campos de texto com rótulos acessíveis

Tutorial concluído! Você praticou a criação e a revisão de campos de texto com rótulos associados. No próximo tutorial, verá como configurar o envio de dados.

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