Monte uma página pequena
Um site completo de uma página para a padaria do bairro cabe em umas 50 linhas de HTML, e todos os elementos dele vêm das nove unidades anteriores.
Planeje antes de digitar
Antes de escrever qualquer HTML, anote o que a página precisa dizer, em palavras simples e em ordem. Para uma pequena padaria, isso pode ser: o nome, um pequeno menu de links, o que sai do forno hoje, o horário de funcionamento, uma foto do pão, um jeito de se inscrever para receber novidades e o endereço. Cada item sugere um elemento: o nome é um <h1> num <header>, os links vão num <nav>, o horário é uma tabela, a lista de pães é um <ul>, a inscrição é um formulário e o endereço vai no <footer>. Planejar o conteúdo primeiro é o que as equipes profissionais também fazem; o HTML vem a partir dele.
A estrutura pronta
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Corner Bakery</title>
</head>
<body>
<header>
<h1>Corner Bakery</h1>
<nav>
<ul>
<li><a href="#today">Today</a></li>
<li><a href="#hours">Hours</a></li>
<li><a href="#news">News</a></li>
</ul>
</nav>
</header>
<main>
<section id="today">
<h2>Baked today</h2>
<ul>...</ul>
</section>
<section id="hours">
<h2>Opening hours</h2>
<table>...</table>
</section>
<section id="news">
<h2>Get our news</h2>
<form>...</form>
</section>
</main>
<footer>
<p>12 Mill Street, Springfield</p>
</footer>
</body>
</html>Duas linhas no head são novidade. <meta name="viewport" content="width=device-width, initial-scale=1"> diz aos celulares para usarem a largura real da tela em vez de fingirem ser uma tela de computador e encolherem a página; o curso de CSS explica isso na unidade de design responsivo. O menu é uma lista de links dentro de <nav>, que os leitores de tela anunciam como navegação, lista, 3 itens. Cada link do menu aponta para o id de uma seção, então a página funciona como um único documento rolável.
Revise como um avaliador
Com a página escrita, percorra-a como faria um avaliador cuidadoso. Leia só os títulos: eles contam a história da página? Aperte Tab a partir do topo: dá para alcançar todos os links e campos do formulário, numa ordem coerente, e dá para ver onde está o foco? Olhe cada imagem: o texto alternativo diz o que se perderia sem ela, ou está vazio porque a imagem é decoração? Clique em cada label: ele põe o foco no seu campo? Por fim, cole a página no W3C Markup Validation Service, em validator.w3.org, que lista erros como elementos não fechados ou ids repetidos.
A página vai parecer simples: texto preto no branco, links azuis, as fontes padrão do navegador. Tudo bem, e isso até ajuda. Uma página com bom HTML já é legível em qualquer aparelho, funciona com teclado e com leitor de tela e pode ser impressa. O curso de CSS parte exatamente desse tipo de página e acrescenta cor, espaçamento e layout por cima, sem mudar uma linha do HTML.
Monte em passos pequenos
Escreva a página em passos pequenos e olhe o resultado depois de cada um: primeiro o esqueleto, depois o cabeçalho e o menu, depois uma seção de cada vez. Se algo parecer errado, você só tem algumas linhas novas para conferir. No seu computador, salve o arquivo como index.html e abra-o com um clique duplo; o navegador o mostra direto do disco. Para publicá-lo, você envia o mesmo arquivo para um serviço de hospedagem, e o servidor o manda para quem pedir o endereço, do mesmo jeito que começou a primeira unidade.
| meta viewport | Diz aos celulares para usarem a largura real da tela |
| validador | validator.w3.org lista erros de HTML |
| foco | O elemento que recebe a entrada do teclado agora |
| conteúdo primeiro | Planeje o que a página diz e depois escolha os elementos |
| site de uma página | Os links do menu apontam para ids de seções na mesma página |
- O horário de funcionamento da padaria fica bem em
- a table
- a nav
- an aside
- Onde fica o nome da padaria?
- Num h1 dentro de header
- Num p dentro de footer
- No alt de uma imagem
- Um link do menu aponta para #hours. O que precisa existir na página?
- Um elemento com id="hours"
- Um arquivo chamado hours.html
- Uma classe chamada hours
- O que a meta tag viewport faz?
- Faz os celulares usarem a largura real da tela
- Acrescenta um menu
- Define o idioma
- Qual tecla você aperta várias vezes para testar o acesso pelo teclado?
- Tab
- Esc
- Delete
- Qual serviço lista erros de HTML como ids repetidos?
- validator.w3.org
- caniuse.com
- example.com
- Uma caixa de inscrição para receber novidades deve ser
- um form com um input de e-mail com label
- um parágrafo dizendo mande um e-mail
- uma tabela
- Ordene de fora para dentro: body, main, section, h2
- A página parece simples sem CSS. Isso é um problema?
- Não, ela é legível e acessível; o CSS acrescenta a aparência
- Sim, o HTML está errado
- Sim, os navegadores precisam de CSS para mostrar texto
- Planeje o conteúdo em ordem e depois escolha um elemento para cada parte.
- Esqueleto, header com nav, main com seções, footer.
- Revise com os títulos, Tab, texto alternativo, labels e o validador do W3C.
Fontes deste curso (10)
- WHATWG, HTML Living Standard (html.spec.whatwg.org, checked 2026-10-17)
- MDN Web Docs, Learn web development: Structuring content with HTML, and the HTML element reference (developer.mozilla.org/en-US/docs/Learn_web_development/Core/Structuring_content and developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements, checked 2026-10-17)
- MDN, HTML images (alt text guidance, checked 2026-10-17)
- W3C WAI, Images tutorial and alt decision tree (w3.org/WAI/tutorials/images/decision-tree, checked 2026-10-17)
- CERN, A short history of the Web (home.cern/science/computing/the-birth-of-the-web/short-history-web/, checked 2026-10-17)
- W3C and WHATWG memorandum of understanding, 28 May 2019 (w3.org/2019/04/WHATWG-W3C-MOU.html, checked 2026-10-17)
- W3C, Using ARIA, first rule of ARIA use (w3.org/TR/using-aria/, checked 2026-10-17)
- W3C Markup Validation Service (validator.w3.org, checked 2026-10-17)
- MDN, Viewport meta element (checked 2026-10-17)
- Every code exercise was checked with a Playwright probe against a reference solution.
Data de verificação: 2026-10-17