Trilha de aprendizado · Nível 5 · Tutorial 1

Criar tabelas simples com cabeçalhos e título

Identificar dados tabulares e construir uma tabela simples com título descritivo e cabeçalhos associados às linhas e colunas, sem usar tabelas para organizar o layout da página.

  • Nível: Iniciante
  • Duração: 22 min
  • 6 passos
Criar tabelas simples com cabeçalhos e título

O que você vai percorrer

  1. Quando usar uma tabela Escolha entre tabela, lista e parágrafo conforme o significado do conteúdo e reconheça por que table não deve organizar o layout. 3 min
  2. Montar linhas e células de dados Construa a estrutura inicial de uma tabela com table, tr e td, mantendo a quantidade e a ordem das células em cada linha. 4 min
  3. Identificar cabeçalhos com th Diferencie cabeçalhos de coluna, cabeçalhos de linha e dados, escolhendo th ou td pela função de cada célula. 3 min
  4. Dar um título à tabela com caption Escolha um título descritivo e insira caption no lugar correto para identificar o conjunto de dados da tabela. 3 min
  5. Associar cabeçalhos aos dados com scope Aplique scope="col" e scope="row" em cabeçalhos e interprete o contexto que eles fornecem a uma célula de dados. 4 min
  6. Criar e revisar uma tabela completa Construa uma tabela a partir de dados, revise sua estrutura e explique como os cabeçalhos dão significado às células. 5 min

O que você vai aprender

  • Distinguir dados que dependem de relações entre linhas e colunas de conteúdos mais adequados a listas ou parágrafos.
  • Construir uma tabela com table, tr, td e th, mantendo uma quantidade coerente de células por linha.
  • Identificar a tabela com um caption descritivo.
  • Associar cabeçalhos simples às células de dados usando scope="row" e scope="col".
  • Explicar por que uma tabela de dados não deve ser usada para posicionar regiões da página.

Antes de começar

  • Elementos, atributos e aninhamento em HTML
  • Listas ordenadas, não ordenadas e de descrição
  • Escolher elementos pelo significado do conteúdo, e não pela aparência.

Passo 1 de 6

Quando usar uma tabela

Escolha entre tabela, lista e parágrafo conforme o significado do conteúdo e reconheça por que table não deve organizar o layout.

O significado está no cruzamento

Quando os dados se relacionam

Use uma tabela quando as informações fizerem sentido pela relação entre linhas e colunas. Cada célula é uma informação nesse cruzamento. Em HTML, o elemento table representa esse tipo de dado.

Exemplo

Comparar produtos

| Produto | Preço (R$) | Estoque (unidades) |
| --- | --- | --- |
| Caderno | 18,00 | 12 |
| Caneta | 3,00 | 40 |

O número 12 sozinho diz pouco. Na linha do Caderno e na coluna Estoque (unidades), ele significa que há 12 cadernos em estoque, não que o preço seja R$ 12.

Dica

Compare a finalidade

Comparar itens pelos mesmos atributos favorece uma tabela. Apenas enumerar itens favorece uma lista; desenvolver uma explicação favorece um parágrafo.

Escolha pelo conteúdo

Qual formato atende melhor?

Associe cada situação ao formato mais adequado para apresentar o conteúdo.

Toque em um item e depois no par correspondente.

Tabela não é ferramenta de layout

Estar lado a lado não basta

Usar table para colocar um menu à esquerda e uma notícia à direita não é uma escolha adequada. Menu e notícia são regiões da página, não itens comparados por atributos comuns. A intenção é apenas posicionar conteúdo visualmente — isto é, montar o layout.

Atenção

Relações sem significado atrapalham

Uma tabela usada para layout cria relações entre linhas e colunas que não correspondem ao conteúdo. Isso pode dificultar a compreensão, inclusive por quem usa leitores de tela. Uma página visualmente organizada não é necessariamente bem estruturada.

Justifique a decisão

“Mas fica tudo alinhado!”

Uma pessoa propõe usar table para alinhar o menu ao lado do conteúdo principal da página. Como você explicaria por que essa escolha não é adequada? Cite o significado das relações entre linhas e colunas e um possível efeito na compreensão.

Escreva pelo menos 20 caracteres (0/20).

Passo 2 de 6

Montar linhas e células de dados

Construa a estrutura inicial de uma tabela com table, tr e td, mantendo a quantidade e a ordem das células em cada linha.

Da tabela às células

Três elementos para começar

Vamos montar a estrutura inicial de uma tabela:

  • <table> é o contêiner da tabela.
  • <tr> representa uma linha dentro da tabela.
  • <td> representa uma célula de dados dentro da linha.

No código abaixo, cada linha reúne um produto, sua cor e sua quantidade.

Duas linhas, três células por linha

html
<table>
  <tr>
    <td>Caderno</td>
    <td>Azul</td>
    <td>12</td>
  </tr>
  <tr>
    <td>Pasta</td>
    <td>Verde</td>
    <td>8</td>
  </tr>
</table>

Dica

Conte os elementos

Os dois elementos tr formam duas linhas. Dentro de cada um, há três elementos td. Esta é apenas a estrutura inicial, que será complementada nos próximos passos.

Monte a estrutura

O que fica dentro de quê?

Ordene os blocos para montar uma tabela com uma linha. Nela, coloque as células nesta ordem: Caderno, Azul e 12. Use todos os blocos.

  1. <td>Azul</td>
  2. </tr>
  3. <td>Caderno</td>
  4. <tr>
  5. <table>
  6. </table>
  7. <td>12</td>

A posição forma as colunas

Repita a ordem das informações

Nesta estrutura, as colunas se formam pela posição das células: a primeira célula de cada linha pertence à primeira coluna, a segunda à segunda coluna, e assim por diante. Não usamos uma tag de coluna.

Para manter a correspondência nesta tabela simples, todas as linhas devem ter a mesma quantidade de células e seguir a ordem produto → cor → quantidade.

Problema: a célula da cor foi omitida

Veja o que acontece se a linha da pasta ficar assim:

html
<tr>
  <td>Pasta</td>
  <td>8</td>
</tr>

Atenção

O dado seguinte ocupa a posição errada

Sem a célula da cor, 8 passa a ser a segunda célula: ocupa a posição da cor, não a da quantidade. Para corrigir, insira <td>Verde</td> entre Pasta e 8. Não basta ter três células: elas também precisam seguir a mesma ordem das outras linhas.

Complete a célula que falta

Preserve as três posições

A tabela deve apresentar produto → cor → quantidade. Os dados da segunda linha são: Estojo, Preto e 5. Complete a lacuna para manter a quantidade e a ordem das células.

Tabela em construção

html
<table>
  <tr>
    <td>Caderno</td>
    <td>Azul</td>
    <td>12</td>
  </tr>
  <tr>
    <td>Estojo</td>
    ____
    <td>5</td>
  </tr>
</table>

Qual célula entra na lacuna?

Digite a célula completa que substitui ____, incluindo as tags de abertura e fechamento.

Passo 3 de 6

Identificar cabeçalhos com th

Diferencie cabeçalhos de coluna, cabeçalhos de linha e dados, escolhendo th ou td pela função de cada célula.

Cabeçalhos identificam os dados

th ou td?

Use th para uma célula de cabeçalho e td para uma célula de dados.

  • Cabeçalho de coluna: identifica o tipo de informação da coluna, como “Quantidade”.
  • Cabeçalho de linha: identifica o item ao qual os demais dados da linha pertencem, como “Caderno”.

Nesta tabela, os nomes dos produtos funcionam como cabeçalhos de linha:

Cabeçalhos de coluna e de linha

html
<table>
  <tr>
    <th>Produto</th>
    <th>Quantidade</th>
    <th>Local</th>
  </tr>
  <tr>
    <th>Caderno</th>
    <td>12</td>
    <td>Prateleira A</td>
  </tr>
  <tr>
    <th>Lápis</th>
    <td>20</td>
    <td>Gaveta C</td>
  </tr>
</table>

Qual é a função de cada célula?

Associe função e elemento

Na tabela de produtos, “Quantidade” identifica uma coluna, “Caderno” identifica uma linha e “Prateleira A” informa onde esse produto está guardado. Associe cada conteúdo à sua função e ao elemento adequado.

Toque em um item e depois no par correspondente.

Uma linha pode misturar th e td

Uma linha da tabela

html
<tr>
  <th>Caderno</th>
  <td>12</td>
  <td>Prateleira A</td>
</tr>

th também conta como uma célula

Essa linha tem três células: um th e dois td. O cabeçalho ocupa a posição do produto na mesma grade; ele não cria uma célula extra.

Não é preciso escolher um único tipo de célula para a linha inteira. Cada célula recebe o elemento que corresponde à sua função.

Dica

Cabeçalho não é um efeito visual

O navegador costuma exibir th em negrito e centralizado, mas essa aparência não define sua função. Não use th apenas para destacar um valor. Um cabeçalho continua sendo cabeçalho mesmo que tenha a mesma aparência dos dados.

Escreva uma nova linha

Escolha as células pela função

A tabela mantém as colunas Produto, Quantidade e Local, nessa ordem.

Escreva apenas o trecho <tr>...</tr> para adicionar:

  • Produto: Caneta
  • Quantidade: 30
  • Local: Gaveta B

O nome do produto deve ser o cabeçalho da linha. Considere que todas as células terão a mesma aparência: escolha os elementos pelo significado, sem adicionar estilos.

Escreva pelo menos 20 caracteres (0/20).

Passo 4 de 6

Dar um título à tabela com caption

Escolha um título descritivo e insira caption no lugar correto para identificar o conjunto de dados da tabela.

Um título para o conjunto

Identifique o assunto da tabela

O elemento caption dá um título descritivo à tabela inteira. Esse título deve informar o assunto dos dados e, quando relevante, seu recorte: período, local ou grupo representado.

Exemplo

De genérico a descritivo

Pouco informativo: “Dados”.

Descritivo: “Empréstimos de livros por turma — março de 2026”.

O segundo título informa o que está sendo comparado e a qual período os dados se referem.

Escolha um título informativo

Qual caption usar?

Uma tabela apresenta os horários de abertura e fechamento da Biblioteca Central aos sábados e domingos. Qual título identifica melhor o assunto, o local e o recorte dos dados?

Coloque caption antes das linhas

Um único título, diretamente em table

Use um único caption como primeiro elemento filho de table, antes das linhas. Ele fica diretamente dentro de table, nunca dentro de tr, th ou td.

Tabela com título e cabeçalhos

html
<table>
  <caption>Horários da Biblioteca Central — fim de semana</caption>
  <tr>
    <th>Dia</th>
    <th>Abertura</th>
    <th>Fechamento</th>
  </tr>
  <tr>
    <th>Sábado</th>
    <td>9h</td>
    <td>16h</td>
  </tr>
  <tr>
    <th>Domingo</th>
    <td>9h</td>
    <td>12h</td>
  </tr>
</table>

Dica

Caption e th se complementam

caption identifica o conjunto; th identifica uma linha ou coluna, como “Sábado” ou “Abertura”. O título não substitui os cabeçalhos e não conta como uma célula da grade.

Complete a marcação

Código a completar

html
<table>
  ____
  <tr>
    <th>Oficina</th>
    <th>Vagas</th>
  </tr>
  <tr>
    <th>Desenho</th>
    <td>12</td>
  </tr>
  <tr>
    <th>Escrita</th>
    <td>8</td>
  </tr>
</table>

Qual elemento falta?

Substitua ____ pelo elemento completo que dá título à tabela, incluindo as tags de abertura e fechamento. Use exatamente o título “Vagas nas oficinas da biblioteca”.

Passo 5 de 6

Associar cabeçalhos aos dados com scope

Aplique scope="col" e scope="row" em cabeçalhos e interprete o contexto que eles fornecem a uma célula de dados.

Declare o alcance do cabeçalho

Quais células esse cabeçalho identifica?

O atributo scope, usado em th, indica explicitamente o alcance do cabeçalho:

  • scope="col": identifica as células de uma coluna.
  • scope="row": identifica as células de uma linha.

Escolha o valor pela relação do cabeçalho com os dados, não apenas pela posição visual da célula.

Cabeçalhos com associações explícitas

“Quantidade (unidades)” identifica o tipo de dado da coluna. “Lápis” identifica o produto ao qual pertencem os dados da linha.

html
<table>
  <caption>Estoque da papelaria</caption>
  <tr>
    <th scope="col">Produto</th>
    <th scope="col">Quantidade (unidades)</th>
  </tr>
  <tr>
    <th scope="row">Lápis</th>
    <td>30</td>
  </tr>
</table>

Dica

O atributo fica no cabeçalho

Adicione scope ao th que identifica os dados, não ao td que recebe esse contexto.

Complete as associações

Uma tabela de estoque tem as colunas “Produto” e “Quantidade (unidades)”. Cada linha reúne os dados de um produto. Complete as lacunas com row ou col, sem aspas.

Identificar o tipo de informação

<th scope="___">Quantidade (unidades)</th>

Esse cabeçalho identifica as quantidades dos diferentes produtos na mesma coluna.

Identificar o produto

<th scope="___">Caneta</th>

Esse cabeçalho identifica o produto ao qual pertencem os dados daquela linha.

Um dado, dois cabeçalhos

O número sozinho não basta

Uma célula de dados pode receber contexto tanto de um cabeçalho de linha quanto de um cabeçalho de coluna. Juntos, eles ajudam a responder: de qual item estamos falando e que informação é essa?

Exemplo

Interpretando o valor 30

No exemplo do estoque:

  • Lápis, com scope="row", identifica o produto.
  • Quantidade (unidades), com scope="col", identifica o que está sendo medido e a unidade.

Assim, <td>30</td> significa 30 unidades de lápis em estoque, não um preço ou um código.

Dica

Semântica, não efeito visual

Essas associações apoiam a interpretação da tabela por leitores de tela. Por si só, scope não muda a aparência nem garante uma sequência fixa de anúncio. A leitura pode variar conforme o leitor de tela, o navegador e as configurações.

Explique o contexto de uma célula

Observe a célula com o valor 90

html
<table>
  <caption>Vagas e duração das oficinas de julho</caption>
  <tr>
    <th scope="col">Oficina</th>
    <th scope="col">Vagas</th>
    <th scope="col">Duração (min)</th>
  </tr>
  <tr>
    <th scope="row">Desenho</th>
    <td>12</td>
    <td>60</td>
  </tr>
  <tr>
    <th scope="row">Cerâmica</th>
    <td>8</td>
    <td>90</td>
  </tr>
</table>

O que significa 90?

Identifique os dois cabeçalhos que contextualizam <td>90</td> e o valor de scope de cada um. Explique o significado de 90 usando a relação com os dados, sem se limitar a dizer “acima” ou “à esquerda”.

Escreva pelo menos 35 caracteres (0/35).

Passo 6 de 6

Criar e revisar uma tabela completa

Construa uma tabela a partir de dados, revise sua estrutura e explique como os cabeçalhos dão significado às células.

Construa a partir dos dados

Vagas nas oficinas

Um centro cultural quer apresentar as vagas disponíveis em julho de 2026:

  • Cerâmica: 12 vagas pela manhã e 8 à tarde.
  • Fotografia: 10 vagas pela manhã e 6 à tarde.

A tabela deve permitir comparar as oficinas e os turnos.

Escreva o HTML

Crie a tabela com as colunas Oficina, Manhã e Tarde, nessa ordem.

Inclua um título descritivo, use os nomes das oficinas como cabeçalhos de linha e indique o alcance de cada cabeçalho com scope. Mantenha a grade regular.

Escreva apenas o trecho da tabela, sem o restante da página.

Escreva pelo menos 80 caracteres (0/80).

Revise além da contagem

Uma versão para conferir

Em outra versão da mesma tabela, a linha de Fotografia foi escrita assim. Revise a estrutura e a relação do cabeçalho com os dados.

Trecho em revisão

html
<tr>
  <th scope="col">Fotografia</th>
  <td>10</td>
  <td>6</td>
</tr>

A revisão está concluída?

Nessa linha, tanto a quantidade de células quanto o alcance do cabeçalho estão corretos.

Explique o significado dos dados

O que significa o número 8?

Considere a tabela completa de vagas e responda brevemente:

  1. Quais cabeçalhos de linha e de coluna contextualizam o valor 8? O que esse valor representa?
  2. Por que uma tabela é adequada para esses dados, mas não para posicionar o menu e o conteúdo de uma página?

Escreva pelo menos 40 caracteres (0/40).

Sua revisão final

Resumo

Checklist da tabela simples

Use estes critérios para revisar a tabela que você produziu e as próximas:

  • Formato: os dados têm relações entre linhas e colunas. A tabela não está sendo usada para montar o layout.
  • Estrutura: tr fica dentro de table; th e td ficam dentro de tr. Nesta grade simples, todas as linhas têm a mesma quantidade de células e mantêm a ordem das informações.
  • Título: há um único caption descritivo como primeiro elemento filho de table, identificando o conjunto de dados.
  • Cabeçalhos: th marca cabeçalhos, não apenas uma aparência. scope="col" indica alcance na coluna; scope="row", na linha.
  • Significado: cada valor está na coluna correta e pode ser compreendido com seus cabeçalhos e o contexto do título.

Tutorial concluído!

Parabéns! Você concluiu: Criar tabelas simples com cabeçalhos e título

Tabela para relacionar dados; caption para identificar o conjunto; cabeçalhos para dar contexto às células.

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