HTML5 Mestre dos Mestres • Aula Suprema 40

Boas Práticas e Publicação

O projeto não termina quando aparece no navegador. Ele termina quando está limpo, validado, responsivo, acessível, versionado, confiável e pronto para ser mostrado ao mundo.

NARRAÇÃO MESTRE

Narrador Mestre

Ouça a aula, revise blocos e estude com foco.

Pronto para narrar. As vozes disponíveis dependem do navegador e do sistema.

Abertura de impacto

Fazer aparecer é básico. Entregar profissionalmente é domínio.

Boas práticas em HTML unem semântica, acessibilidade, SEO, performance, organização, validação e manutenção. Publicar profissionalmente não é jogar arquivos na internet: é entregar um site testado, versionado, validado e confiável.

Regra Mestre:

O navegador tenta perdoar erros. O mercado não. Código precisa ser legível para máquinas, usuários, recrutadores, equipes e para seu eu do futuro.

  • Semântica: tag certa para o significado certo.
  • Acessibilidade: todos conseguem usar.
  • SEO: buscadores entendem.
  • Performance: carrega rápido.
  • Organização: fácil de manter.
  • Validação: sem erros estruturais graves.
  • Publicação: versionado e online com confiança.
Checklist estrutural

Qualidade HTML antes de publicar

O documento final precisa ter estrutura semântica clara, títulos em hierarquia correta, links seguros, imagens com alternativas textuais e formulários com labels associados.

<header>
  <nav aria-label="Navegação principal">
    <a href="#conteudo">Ir para o conteúdo</a>
  </nav>
</header>

<main id="conteudo">
  <section aria-labelledby="titulo-secao">
    <h2 id="titulo-secao">Seção temática</h2>
    <article>
      <h3>Artigo interno</h3>
      <p>Conteúdo independente dentro da seção.</p>
    </article>
  </section>

  <aside>Conteúdo complementar.</aside>
</main>

<footer>Encerramento da página.</footer>
  • Use apenas um main por página.
  • Use um h1 soberano e hierarquia lógica com h2 e h3.
  • Não use section sem tema claro.
  • Use links externos com target="_blank" e rel="noopener noreferrer".
  • Use alt descritivo em imagem de conteúdo.
  • Use alt="" em imagem puramente decorativa.
  • Associe label ao input com for e id.
<a href="https://developer.mozilla.org/" target="_blank" rel="noopener noreferrer">
  Acessar documentação MDN
</a>

<img src="images/grafico-html5.png" alt="Gráfico de progresso do módulo HTML5">
<img src="images/divisor-decorativo.svg" alt="">

<label for="email">E-mail</label>
<input id="email" name="email" type="email">
Acessibilidade final

Checklist de acessibilidade antes de publicar

Um site só está pronto quando pode ser usado por teclado, leitores de tela, usuários com baixa visão e pessoas que não dependem de mouse ou percepção perfeita de cores.

  • A navegação por teclado funciona com Tab.
  • O foco visível não foi removido.
  • O contraste entre texto e fundo é suficiente.
  • Imagens informativas têm alt útil.
  • Formulários têm labels conectados.
  • Mensagens dinâmicas usam aria-live.
  • Erros não dependem apenas de cor vermelha.
  • Botões têm texto ou aria-label.
<button type="button" aria-label="Fechar menu">×</button>

<a href="edital.pdf">Baixar edital de matrícula em PDF</a>

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

<p id="feedback" aria-live="polite">
  Aguardando preenchimento do formulário.
</p>
Erros que reprovam acessibilidade:
  • Remover outline sem alternativa de foco.
  • Botão apenas com ícone e sem nome acessível.
  • Campo sem label.
  • Mensagem dinâmica invisível para leitor de tela.
  • Indicar erro apenas com cor.
SEO técnico

Head profissional antes da publicação

SEO técnico começa no head, mas também depende de URLs limpas, nomes de arquivos profissionais, canonical correto, Open Graph e dados estruturados.

<title>Projeto Final HTML5 Publicável | Mateus Ernandes</title>
<meta name="description" content="Projeto final HTML5 com semântica, acessibilidade, SEO técnico, performance, organização e publicação profissional.">
<meta name="robots" content="index, follow">
<link rel="canonical" href="https://seusite.com/projeto-final-html5-publicavel.html">

<meta property="og:title" content="Projeto Final HTML5 Publicável">
<meta property="og:description" content="Página final com HTML5 profissional, acessível, otimizada e pronta para publicação.">
<meta property="og:image" content="https://seusite.com/assets/og-projeto-final.jpg">
<meta property="og:url" content="https://seusite.com/projeto-final-html5-publicavel.html">

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebPage",
  "name": "Projeto Final HTML5 Publicável"
}
</script>
Erros comuns de SEO:
  • Title duplicado.
  • Description vazia.
  • Robots noindex por engano.
  • Canonical apontando para página errada.
  • Arquivo com nome Página Final.html.
  • URL quebrada ou com espaços.
Organização e performance

Pastas, arquivos, imagens, scripts e validação

Um projeto publicável precisa de pastas claras, nomes sem espaços e sem acentos, CSS e JavaScript externos, imagens otimizadas, scripts com defer, teste no DevTools, validação HTML e teste responsivo.

meu-projeto/
  index.html
  assets/
    styles/
      style.css
    scripts/
      app.js
    images/
      logo-dev-mestre.png

<link rel="stylesheet" href="assets/styles/style.css">
<script src="assets/scripts/app.js" defer></script>

Checklist pré-publicação

  • Arquivos organizados por função.
  • Nomes em minúsculas, sem acentos e com hífens.
  • CSS não está gigante dentro do HTML sem necessidade.
  • JavaScript não está gigante dentro do HTML.
  • Imagens estão otimizadas.
  • Scripts não bloqueiam o carregamento.
  • Layout foi testado em mobile.
  • HTML foi validado.
  • Console do DevTools está sem erros vermelhos.
  • Links e imagens não estão quebrados.
git status
git add .
git commit -m "aula-40: cria pagina final html5 publicavel"
git push
Desafio Mestre

Projeto Final HTML5 Publicável

Missão: criar o arquivo projeto-final-html5-publicavel.html provando domínio total de semântica, acessibilidade, SEO, performance, organização, validação, GitHub e publicação.

Requisitos obrigatórios

  • Doctype HTML5.
  • html lang="pt-BR".
  • Head completo com charset, viewport, title, meta description, author, robots e canonical.
  • Open Graph básico com og:title, og:description, og:image e og:url.
  • Script type="application/ld+json" com Schema WebPage.
  • Body com header, nav, main, section, article, aside e footer.
  • H1 com “Projeto Final HTML5 Publicável”.
  • Nav interno com links para pelo menos 5 seções.
  • Pelo menos 5 sections com h2.
  • Uso correto de texto, links, imagens, listas, tabela, formulário e mídia incorporada.
  • Pelo menos uma imagem com alt descritivo.
  • Pelo menos uma imagem decorativa com alt vazio.
  • Formulário com label associado a cada campo.
  • Mensagem de feedback com aria-live.
  • Links externos com target="_blank" e rel="noopener noreferrer".
  • Explicação visível do que foi aprendido no módulo HTML5.
  • Checklist de acessibilidade.
  • Checklist de SEO.
  • Checklist de performance.
  • Checklist de publicação.
  • Footer com nome do aluno, ano e link para voltar ao topo.
Checklist final do módulo HTML5
Área Critério de aprovação
Semântica Tags estruturais usadas pelo significado, não pela aparência.
Acessibilidade Alt, labels, foco visível, teclado e feedback acessível.
SEO Head profissional, canonical, Open Graph e Schema WebPage.
Performance Arquivos organizados, imagens otimizadas e scripts sem bloqueio.
Publicação GitHub, commit, push e página pronta para GitHub Pages.
Erros que reprovam:
  • Imagem de conteúdo sem alt.
  • Main duplicado.
  • Formulário sem labels.
  • Title e description ausentes.
  • Robots noindex por engano.
  • Arquivos com espaços ou acentos.
  • Links quebrados.
  • Publicar com erros vermelhos no console.
Quiz final

15 perguntas com gabarito

  1. O que significa HTML? Linguagem de Marcação de Hipertexto.
  2. Quem criou o HTML? Tim Berners-Lee.
  3. Qual a função do Doctype? Informar o modo HTML5 ao navegador.
  4. Onde ficam os metadados? No head.
  5. Diferença entre div e span? Div é bloco; span é inline.
  6. Para que serve alt? Acessibilidade e descrição de imagem.
  7. O que faz target="_blank"? Abre link em nova aba.
  8. Qual tag define o conteúdo principal? main.
  9. Diferença entre b e strong? b é visual; strong indica importância.
  10. Para que serve viewport? Responsividade em dispositivos móveis.
  11. O que é Schema.org? Vocabulário para dados estruturados.
  12. Como associar label a input? Com for no label e id no input.
  13. O que é FTP? Protocolo de transferência de arquivos.
  14. HTML é linguagem de programação? Não, é linguagem de marcação.
  15. Como indicar URL oficial? Com link rel="canonical".
GitHub

Registre a conclusão da Aula 40

git status
git add .
git commit -m "aula-40: cria pagina final html5 publicavel"
git push
  • git status: verifica os arquivos alterados.
  • git add .: prepara a aula final para versionamento.
  • git commit: registra o marco de conclusão do HTML5.
  • git push: envia a evidência para o repositório remoto.
Registro oficial

Módulo HTML5 Mestre dos Mestres concluído

O HTML5 é a fundação da web. Um Mestre domina estrutura, semântica, acessibilidade, SEO, metadados, dados estruturados, mídia, formulários, tabelas, performance e publicação.

Nota final: 10/10 Supremo.

Esta aula está no nível Mestre dos Mestres porque exige a integração total das 40 aulas anteriores, transformando teoria em produto digital profissional, validado e pronto para mercado.

  • Aula 40 concluída.
  • Módulo HTML5 Mestre dos Mestres concluído.
  • Aluno apto para avançar ao Projeto Final HTML5 ou ao Módulo CSS Mestre.