Readme

HTML

Convenções de HTML seguindo os mesmos princípios do resto do guia: escolher o elemento que descreve o papel do conteúdo, dar nomes que revelam propósito e tratar acessibilidade como parte da marcação desde a primeira linha.

Referência rápida: elementos semânticos, atributos e checklist

Setup

TópicoConceitos
Base do projetoTemplate inicial, ordem do <head>, charset e viewport
JavaScript sem frameworktype="module", seleção, delegação de evento e fetch
jQueryLegado 3.7.1 e 4.0.0: seleção, delegação, encadeamento e AJAX

Fundamentos

TópicoConceitos
Estrutura do documentoElementos semânticos, regiões da página e hierarquia de títulos
Nomes em HTMLid, classe, data-* e kebab-case semântico
FormataçãoIndentação, ordem dos atributos e aspas duplas
Densidade visualRespiro entre blocos, atributos longos e aninhamento
Referência rápidaElementos semânticos, atributos e checklist

Avançados

TópicoConceitos
Acessibilidadealt, ARIA, foco, papéis e a escolha entre botão e link
Formulários<label>, <fieldset>, tipos de input e validação nativa
Performancedefer, async, carregamento tardio, preload e preconnect
SEO<title>, meta description, Open Graph, canonical e JSON-LD

Princípios

Estrutura: semântica e hierarquia

PrincípioDescrição
Elemento semântico no lugar de divO elemento certo já carrega o significado, sem classe extra
Hierarquia de títulosh1h2h3, sem pular nível
Nomes que revelam propósitoO id e a classe descrevem o papel do elemento na tela
data-* para comportamentoO JavaScript lê o data-*, e a classe fica só com o estilo

Acessibilidade: legível por todos

PrincípioDescrição
alt em toda imagemDescritivo quando a imagem informa, vazio quando ela só decora
Label associado ao campoTodo input tem <label> própria, e o placeholder some ao digitar
Botão para ação, link para navegação<button> executa, <a> leva a outro endereço
lang no htmlO lang correto dá ao leitor de tela a pronúncia do idioma

Performance e SEO: produção

PrincípioDescrição
defer nos scriptsScript com defer no <head>, sem travar a leitura da página
Carregamento tardio de imagemImagem abaixo da dobra com loading="lazy"
Title e description própriosCada página com o próprio <title> e a própria descrição

DoDocs v3.7.0 · Desenvolvido por @thiagocajadev · Baseado no trabalho de pmndrs/docs · Poimandres.