Abertura de impacto
Dados sem estrutura são ruído
Uma tabela bem construída permite que humanos, motores de busca e tecnologias assistivas
entendam informações complexas em segundos. O Mestre não usa tabela para desenhar tela;
usa tabela para honrar dados tabulares.
Promessa da aula:
Você vai dominar table, tr, td, th,
caption, thead, tbody, tfoot e
scope para criar tabelas semânticas e acessíveis.
Anatomia da tabela
table, tr, td e th
- table: contêiner principal da tabela.
- tr: linha da tabela.
- td: célula comum de dado.
- th: célula de cabeçalho, usada para contexto.
<table>
<tr>
<th>Produto</th>
<th>Preço</th>
</tr>
<tr>
<td>Café</td>
<td>R$ 15,00</td>
</tr>
</table>
Erro de iniciante:
Usar div para simular tabela ou colocar td solto fora de uma
tr. Toda célula deve morar dentro de uma linha.
Organização profissional
caption, thead, tbody e tfoot
Uma tabela profissional separa contexto, cabeçalho, corpo e resumo. Essa separação melhora
manutenção, leitura, SEO e acessibilidade.
<table>
<caption>Relatório Trimestral de Vendas - 2024</caption>
<thead>
<tr>
<th scope="col">Produto</th>
<th scope="col">Quantidade</th>
<th scope="col">Preço Unitário</th>
<th scope="col">Total</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Notebook Mestre</th>
<td>10</td>
<td>R$ 4.500</td>
<td>R$ 45.000</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="3">Venda Total Bruta</td>
<td>R$ 45.000</td>
</tr>
</tfoot>
</table>
Exemplo visual: Controle de Estudos HTML5
| Aula |
Tema |
Status |
Evidência |
| Aula 20 |
Tabelas em HTML |
Concluída |
Tabela profissional |
| Aula 21 |
Linhas, colunas e células |
Próxima |
Manipulação avançada |
| Total de aulas neste bloco |
2 |
Acessibilidade
scope dá voz aos dados
Leitores de tela relacionam cada dado ao cabeçalho correto. O atributo
scope informa se o cabeçalho pertence a uma coluna ou linha.
scope="col": cabeçalho de coluna.
scope="row": cabeçalho de linha.
Erro eliminatório:
Tabela sem th, sem caption e sem scope em tabela
complexa vira uma massa de dados sem orientação para usuários de tecnologias assistivas.
Boas práticas
Tabelas sem amadorismo
- Use tabela somente para dados tabulares.
- Nunca use tabela para layout visual.
- Use
caption quando a tabela precisar de contexto.
- Use
th para cabeçalhos, não td com negrito.
- Use
thead, tbody e tfoot em tabelas profissionais.
- Use
scope para fortalecer acessibilidade.
- Mantenha consistência no número de células por linha.
- Evite tabelas gigantes sem planejamento.
- Use CSS para aparência, não para corrigir HTML ruim.
Desafio Mestre
Tabela Profissional de Dados HTML
Missão: criar o arquivo tabela-dados-html.html
como evidência real de domínio em dados tabulares, semântica e acessibilidade.
Requisitos obrigatórios
- Doctype HTML5.
html lang="pt-BR".
- Head completo com charset, viewport, title e meta description.
- Body com header, main e footer.
- H1 com “Tabela Profissional de Dados HTML”.
- Section introdutória explicando quando usar tabelas.
- Uma tabela com
caption.
thead com pelo menos 4 cabeçalhos usando th scope="col".
tbody com pelo menos 5 linhas de dados.
tfoot com linha de resumo ou total.
- Pelo menos uma linha com
th scope="row".
- Explicação clara da diferença entre
td e th.
- Lista com pelo menos 5 boas práticas para tabelas.
- Footer com nome do aluno, ano e link para voltar ao topo.
Erros que reprovam:
- Usar tabela para layout.
- Fazer tabela só com
td, sem th.
- Colocar
td fora de tr.
- Omitir
caption em tabela complexa.
- Criar linhas com número inconsistente de células sem justificativa.
Quiz com gabarito
15 perguntas para provar domínio
- Função da tag table? Iniciar e finalizar uma estrutura de dados tabulares.
- O que representa tr? Uma linha da tabela.
- Diferença entre th e td? th é cabeçalho/contexto; td é dado comum.
- Por que usar thead, tbody e tfoot? Para separar seções lógicas da tabela.
- Onde fica caption? Logo após a abertura da table.
- Para que serve scope? Indicar se o cabeçalho se refere a coluna ou linha.
- Por que não usar tabela para layout? Porque compromete semântica, SEO e acessibilidade.
- O que é tabela aninhada? Uma tabela dentro de uma célula de outra tabela.
- Tag do rodapé da tabela? tfoot.
- Como leitores de tela usam tabelas? Relacionam dados aos cabeçalhos.
- Tabelas ajudam SEO? Sim, quando organizam dados comparativos.
- td fora de tr é válido? Não.
- Uma tabela pode ter múltiplos tbody? Sim, para agrupar conjuntos de dados.
- Células aceitam links e imagens? Sim.
- Quando usar lista no lugar de tabela? Quando os dados não são bidimensionais.
GitHub
Registre sua tabela profissional
git status
git add .
git commit -m "aula-20: cria tabela profissional de dados html"
git push
- git status: verifica arquivos modificados.
- git add .: adiciona as mudanças à área de preparação.
- git commit: cria o marco histórico da aula.
- git push: envia seu avanço para o repositório remoto.
Resumo Mestre
Tabelas são para dados, não para layout
O Mestre usa th para contexto, td para dados,
caption para identificação e thead/tbody/tfoot
para organização lógica. A acessibilidade é o diferencial que separa código amador de código profissional.
Nota final: 10/10 Supremo.
Esta aula está no nível Mestre dos Mestres porque transforma tabelas em engenharia de dados tabulares:
semântica, acessibilidade, SEO, mercado e evidência real de portfólio.