Abertura de impacto
De tags isoladas para sistema integrado
Saber criar uma tabela é útil. Saber criar um formulário é essencial.
Mas integrar os dois em uma interface única é o que separa o estudante de HTML
do desenvolvedor que entende fluxo de dados.
Promessa da aula:
Você vai construir a lógica de um painel administrativo: uma área de cadastro para entrada
de dados e uma área de relatório para visualização tabular, com semântica e acessibilidade.
Arquitetura
Como organizar o painel administrativo
O projeto precisa de contexto, divisão funcional e navegação interna.
Use header para apresentar o sistema, main para o conteúdo central,
section para separar cadastro, relatório e resumo, e footer para fechar.
<header>
<h1>Painel Administrativo HTML com Tabela e Formulário</h1>
<nav>
<a href="#cadastro">Cadastro</a>
<a href="#relatorio">Relatório</a>
<a href="#resumo">Resumo</a>
</nav>
</header>
<main>
<section id="cadastro"></section>
<section id="relatorio"></section>
<section id="resumo"></section>
</main>
Erro eliminatório:
Jogar formulário e tabela soltos no body. Um sistema precisa de hierarquia,
contexto e blocos funcionais claros.
Entrada de dados
Como montar o formulário do sistema
O formulário é a porta por onde novos dados entram. Cada campo precisa de
label, id e name. O id conecta a interface;
o name identifica o dado enviado.
<form action="#" method="post">
<label for="nome">Nome</label>
<input type="text" id="nome" name="nome" required>
<label for="email">E-mail</label>
<input type="email" id="email" name="email" required>
<label for="categoria">Categoria</label>
<select id="categoria" name="categoria" required>
<option value="">Selecione</option>
<option value="aluno">Aluno</option>
<option value="mentor">Mentor</option>
</select>
<button type="submit">Cadastrar Novo Registro</button>
</form>
- text: nome ou título do registro.
- email: contato validado pelo navegador.
- number: quantidade, idade, nota ou valor.
- textarea: observações longas.
- select: categoria ou status padronizado.
- radio: prioridade única.
- checkbox: confirmação ou aceite.
Relatório
Como montar a tabela de relatório
A tabela exibe os dados existentes. Ela precisa de caption, thead,
tbody, tfoot, th scope="col" e, quando fizer sentido,
th scope="row".
<table>
<caption>Registros cadastrados no painel administrativo</caption>
<thead>
<tr>
<th scope="col">ID</th>
<th scope="col">Nome</th>
<th scope="col">E-mail</th>
<th scope="col">Categoria</th>
<th scope="col">Status</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">001</th>
<td>Ana Silva</td>
<td>ana@email.com</td>
<td>Aluno</td>
<td>Ativo</td>
</tr>
</tbody>
<tfoot>
<tr>
<th scope="row" colspan="4">Total de registros</th>
<td>1</td>
</tr>
</tfoot>
</table>
Erro grave:
Tabela sem caption e sem th. O usuário vê dados, mas tecnologias
assistivas perdem o contexto.
Integração
Boas práticas para telas administrativas
- Use
section para separar cadastro, relatório e resumo.
- Use nav interno para facilitar navegação no painel.
- Explique o objetivo de cada bloco com parágrafos claros.
- Conecte toda
label ao respectivo campo.
- Garanta
name em todos os campos enviados.
- Use
caption para contextualizar tabelas.
- Use
th e scope para acessibilidade tabular.
- Use botões com textos específicos.
- Não use tabela como ferramenta de layout.
- Evite excesso de
div quando existe tag semântica melhor.
- Inclua link para voltar ao topo.
- Mantenha coerência entre campos coletados e colunas exibidas.
Desafio Mestre
Painel Administrativo HTML com Tabela e Formulário
Missão: criar o arquivo painel-admin-tabelas-formularios.html
simulando um sistema real de entrada e visualização de dados.
Registros simulados do painel administrativo
| ID |
Nome |
E-mail |
Categoria |
Prioridade |
Status |
| 001 |
Ana Silva |
ana@email.com |
Aluno |
Média |
Ativo |
| 002 |
Bruno Costa |
bruno@email.com |
Mentor |
Alta |
Ativo |
| 003 |
Carla Mendes |
carla@email.com |
Aluno |
Baixa |
Pendente |
| 004 |
Diego Lima |
diego@email.com |
Admin |
Alta |
Ativo |
| 005 |
Elisa Rocha |
elisa@email.com |
Aluno |
Média |
Revisão |
| Total de registros simulados |
5 |
Requisitos obrigatórios
- Arquivo
painel-admin-tabelas-formularios.html.
- Doctype HTML5 e
html lang="pt-BR".
- Head completo com charset, viewport, title e meta description.
- Body com header, main e footer.
- H1 com “Painel Administrativo HTML com Tabela e Formulário”.
- Nav interno com links para Cadastro, Relatório e Resumo.
- Formulário com pelo menos 8 campos usando input, textarea e select.
- Labels conectadas corretamente aos campos.
- Uso correto de id e name.
- Campo text, email, number, textarea, select, checkbox e radio.
- Required nos campos essenciais.
- Botões submit, reset e button comum.
- Tabela com caption, thead, tbody e tfoot.
- Thead com pelo menos 5 cabeçalhos usando th scope="col".
- Tbody com pelo menos 5 linhas simuladas.
- Pelo menos uma linha usando th scope="row".
- Resumo explicando como formulário e tabela se complementam.
- Lista com pelo menos 10 boas práticas aprendidas.
Quiz com gabarito
15 perguntas para provar domínio
- Para que serve
th scope="row"? Identificar o cabeçalho de uma linha específica.
- O que acontece se
action="#"? O formulário simula o envio para a própria página.
- Qual função do
tfoot? Agrupar resumo ou total da tabela.
- Como agrupar radios? Usando o mesmo atributo name.
- O que o
caption faz? Fornece título acessível para a tabela.
readonly envia o dado? Sim.
- Qual atributo mescla colunas? colspan.
- Qual atributo mescla linhas? rowspan.
- Placeholder substitui label? Não.
- Para que serve
method="post"? Enviar dados no corpo da requisição.
- O que o
thead organiza? O cabeçalho da tabela.
- O que é o atributo
for no label? O elo com o id do campo.
- Diferença entre
th e td? th é cabeçalho; td é dado comum.
- O que o
textarea permite? Inserção de múltiplas linhas de texto.
- Por que usar
required? Para exigir preenchimento antes do envio.
GitHub
Registre seu painel administrativo
git status
git add .
git commit -m "aula-27: cria painel administrativo com tabela e formulario"
git push
- git status: valida os arquivos alterados.
- git add .: prepara o painel para versionamento.
- git commit: documenta a entrega final da unidade.
- git push: publica a evidência no GitHub.
Resumo Mestre
Tabelas exibem. Formulários coletam. Sistemas unem.
Este desafio prova que você entende o ciclo de vida da informação na web:
o formulário captura novos dados, a tabela organiza registros existentes e a estrutura semântica
torna tudo acessível, legível e pronto para evoluir.
Nota final: 10/10 Supremo.
Esta aula está no nível Mestre dos Mestres porque exige construção de sistema lógico integrado,
não apenas repetição de tags. É uma evidência real de mercado.