Fundamentos de HTML

Aprenda a escrever o HTML que dá estrutura a toda página web. Comece pelos elementos, atributos e pela estrutura básica de um documento, incluindo seu idioma, codificação de caracteres e título. Depois, organize textos com títulos, parágrafos, ênfases e listas, conecte páginas com links claros e menus de navegação, adicione imagens com textos alternativos úteis e legendas, e divida uma página em regiões com significado, como cabeçalho, conteúdo principal e rodapé. A unidade termina com uma página completa e válida, pronta para ser estilizada com CSS.

BásicoAula 2 de 8 do curso Curso de Noções básicas de desenvolvimento web

O que você vai aprender

  1. Leia e escreva elementos e atributos HTML, monte um documento completo com idioma, codificação e metadados e verifique se há erros na marcação.
    • Leia e escreva elementos, tags e atributos
      Reconheça as partes de um elemento, escreva atributos corretamente, aninhe elementos de forma adequada e saiba como o navegador trata espaços e comentários.
    • Monte a estrutura básica do documento e seu cabeçalho
      Escreva o doctype, os elementos html, head e body e os metadados necessários a cada página, e salve os arquivos com nomes adequados à web.
    • Declare o idioma e a codificação de caracteres
      Use o atributo lang para declarar o idioma de uma página e de trechos dentro dela e use UTF-8 para que letras acentuadas e outras escritas sejam exibidas corretamente.
    • Verifique e corrija sua marcação
      Encontre e corrija erros de HTML com um validador e as ferramentas do desenvolvedor do navegador, e reconheça os erros mais frequentes de iniciantes.
  2. Organize o texto em uma hierarquia clara de títulos e parágrafos, marque o significado dentro das frases e apresente itens no tipo adequado de lista.
    • Organize o texto com títulos e parágrafos
      Use os seis níveis de título para criar um esquema lógico, escreva parágrafos e use quebras de linha e quebras temáticas somente onde o conteúdo precisar delas.
    • Marque ênfases, citações e código no texto
      Escolha o elemento de nível de texto que corresponde ao significado de uma palavra ou expressão: ênfase, importância, citações, abreviações, código, datas e mais.
    • Crie listas não ordenadas, ordenadas e de descrições
      Escolha entre listas não ordenadas, ordenadas e de descrições pelo significado, aninhe listas corretamente e controle a numeração das listas ordenadas.
  3. Crie links para outros sites, para páginas do seu próprio site e para pontos dentro de uma página, escreva textos de link que façam sentido e crie menus de navegação claros.
    • Crie links com URLs absolutas e relativas
      Escreva o elemento de âncora, escolha entre endereços absolutos, relativos e relativos à raiz e crie links para seções, endereços de e-mail e números de telefone.
    • Escreva textos de link claros e controle como os links são abertos
      Escreva textos de link que indiquem o destino, crie links para downloads e imagens e decida quando um link deve abrir em uma nova aba.
    • Crie menus de navegação e links internos da página
      Escreva a marcação de menus de site, sumários, trilhas de navegação e links para pular blocos de conteúdo, e mantenha a navegação consistente entre as páginas de um site.
  4. Insira imagens em uma página com arquivo, tamanho e formato adequados e dê a cada uma uma alternativa textual e, quando útil, uma legenda.
    • Insira imagens com o elemento img
      Adicione imagens com img, escolha um formato de arquivo adequado, informe a largura e a altura e mantenha os arquivos em tamanhos razoáveis.
    • Escreva textos alternativos e adicione legendas às figuras
      Escreva textos alternativos adequados à finalidade de cada imagem, marque imagens decorativas corretamente e use figure e figcaption para legendas.
  5. Divida uma página em regiões com significado, escolha o elemento adequado para cada bloco de conteúdo e combine tudo em uma página completa e bem estruturada.
    • Marque as principais regiões da página
      Use header, nav, main, aside e footer para marcar as regiões de uma página e entenda como elas se tornam regiões de referência para a tecnologia assistiva.
    • Escolha entre article, section, div e span
      Decida se um bloco de conteúdo é um artigo, uma seção ou apenas um contêiner para estilização, e aninhe esses elementos e seus títulos corretamente.
    • Planeje e escreva a marcação de uma página completa
      Planeje a estrutura de uma página antes de escrever código e combine metadados, títulos, texto, listas, links, imagens e regiões da página em uma página válida.

Guia de estudo de HTML

5 capítulos

1

Escreva documentos HTML bem formados

Toda página começa com texto que o navegador transforma em uma árvore de elementos. Aprenda a ler essa estrutura, adicionar atributos e criar um documento com os metadados adequados. As configurações de idioma e codificação ajudam a mesma página a lidar com diferentes tipos de texto. Você também comparará seu código-fonte com o resultado analisado pelo navegador e usará um verificador de HTML para encontrar erros que a visualização normal da página pode ocultar.

1.1 Elementos, atributos e aninhamento

O HTML identifica as partes de uma página para que o navegador possa construir sua estrutura. Um título, um parágrafo e um link têm significados diferentes, mesmo antes de você adicionar qualquer estilo. O HTML descreve o conteúdo; o CSS controla sua aparência e o JavaScript acrescenta comportamento.

Leia um elemento

Em <p>The workshop opens at noon.</p>, <p> é a tag de abertura, a frase é o conteúdo e </p> é a tag de fechamento. O conjunto é um elemento de parágrafo. A barra marca a tag de fechamento. Use nomes de elementos em minúsculas para manter a consistência do código-fonte, embora o HTML também aceite nomes em maiúsculas.

Um atributo acrescenta informação dentro de uma tag de abertura:

<a href="hours.html" title="Workshop opening hours">Opening hours</a>

Aqui, href fornece o destino e title fornece texto informativo. Separe atributos com espaços e coloque seus valores entre aspas retas. A ordem deles não altera seu significado. As aspas mantêm um valor unido: class="intro note" fornece dois nomes de classe, enquanto class=intro note é lido como um valor de classe e um atributo separado chamado note.

Coloque elementos uns dentro dos outros

Um parágrafo pode conter uma expressão com importância acentuada:

<p>Bring your <strong>booking number</strong>.</p>

Abra o parágrafo, abra o elemento strong, feche o elemento strong e depois feche o parágrafo. Feche primeiro o elemento aberto mais recentemente. O parágrafo é o pai, e o elemento strong é seu filho. Os filhos e tudo o que está dentro deles são descendentes. O navegador organiza essas relações no DOM, uma árvore do conteúdo da página.

Nem todo elemento pode ficar dentro de qualquer outro. Por exemplo, uma lista não pode ficar dentro de um parágrafo. A indentação ajuda a visualizar o aninhamento, mas acrescentar espaços não torna válida uma relação inválida entre pai e filho.

Reconheça tipos especiais de elementos e atributos

Elementos vazios não têm conteúdo nem tag de fechamento. Exemplos são <img>, <br>, <hr>, <meta> e <link>. Escreva <br>, sem </br>. Uma barra ao final em <br /> não tem efeito em HTML.

Um atributo booleano está ativado quando está presente. Em uma lista ordenada, reversed faz a numeração contar em ordem decrescente. Escrever reversed="false" ainda deixa o atributo presente, então a contagem continua decrescente. Remova o atributo para desativá-lo.

Alguns atributos funcionam em diferentes elementos:

AtributoSignificado
idUm identificador único na página, sem espaços
classUm ou mais nomes separados por espaços que os elementos podem compartilhar
langO idioma do conteúdo do elemento
titleTexto informativo, frequentemente mostrado como dica ao passar o mouse
hiddenMarca conteúdo que não está sendo exibido no momento
Leia espaços e comentários no código-fonte

Em texto comum, vários espaços, tabulações ou quebras de linha no código-fonte são reduzidos a um espaço. Escrever um parágrafo em três linhas do código-fonte ainda resulta em um parágrafo na tela. Use elementos para expressar a estrutura e indentação no código-fonte para facilitar a leitura.

Um comentário tem esta forma: <!-- Menu starts here -->. Ele fica oculto na página exibida, mas visível no código-fonte. Nunca coloque senhas ou informações privadas em comentários. Comentários não podem ser aninhados: o primeiro --> encerra o comentário.

Principais conclusões

  • Um elemento inclui suas tags e seu conteúdo; os atributos ficam na tag de abertura.
  • Coloque valores de atributos entre aspas e feche elementos aninhados de dentro para fora.
  • Elementos vazios não têm tag de fechamento.
  • Um atributo booleano é ativado por sua presença, mesmo que seu valor diga “false”.
  • Use ids únicos e nomes de classe compartilhados; espaços em branco comuns do código-fonte são reduzidos.

1.2 A estrutura básica do documento e as informações da página

Uma página completa separa as informações sobre o documento do conteúdo que as pessoas leem. Comece com uma estrutura básica pequena e consistente e depois adicione o título e o conteúdo do corpo próprios da página.

Monte a estrutura básica
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Opening Hours – Harbor Café</title>
  </head>
  <body>
    <h1>Harbor Café</h1>
    <p>Open every day except Monday.</p>
  </body>
</html>

<!DOCTYPE html> diz ao navegador para usar o modo de padrões, suas regras normais e modernas de renderização. É uma declaração, não um elemento. Omiti-la pode ativar o modo de compatibilidade, que imita o comportamento de navegadores antigos e pode alterar o layout e o dimensionamento.

<html> é o elemento raiz. Seus dois elementos filhos são <head> e <body>. O head contém metadados, informações sobre a página. O body contém o conteúdo visível. Um <h1> pertence ao body, mesmo que o navegador pareça se recuperar quando você o coloca no head.

Dê identidade à página

O <title> aparece na aba do navegador, nos favoritos e no histórico. Mecanismos de busca também podem usá-lo como título de um resultado. Dê a cada página normal exatamente um título, dentro do head. Coloque o assunto específico primeiro, seguido do nome do site, como em “Horário de funcionamento do Café do Porto”. O <h1> visível e o título do documento são elementos separados com funções diferentes.

Coloque <meta charset="utf-8"> primeiro no head. A declaração inteira deve estar nos primeiros 1.024 bytes do arquivo. Uma declaração no início permite que o navegador descubra como decodificar o texto antes de ter lido grande parte da página.

A linha da área de visualização solicita aos navegadores móveis que usem a largura do dispositivo para o layout e um zoom inicial de 1. Sem ela, muitos usam uma área de visualização virtual larga, como a de um computador, e reduzem o resultado, fazendo o texto parecer pequeno. Essa linha prepara o documento para o layout em dispositivos móveis; os estilos da página ainda determinam como seu conteúdo se ajusta.

Conecte outros recursos da página

Adições comuns ao head incluem:

<meta name="description" content="Fresh bread, coffee and lunch by the harbor.">
<link rel="icon" href="favicon.png">
<link rel="stylesheet" href="styles.css">
<script src="app.js" defer></script>

A descrição resume a página e pode aparecer nos resultados de busca. O ícone fornece a imagem da aba. O link da folha de estilo conecta um arquivo CSS. O elemento script conecta JavaScript; defer adia sua execução até que o documento tenha sido analisado. Diferentemente de <link> e <meta>, <script> precisa de uma tag de fechamento mesmo quando seu conteúdo está vazio.

Salve um arquivo de página web

Salve texto simples em um editor de código com a extensão .html. Um processador de texto pode adicionar formatação que não pertence a um arquivo de código-fonte HTML. A página padrão de uma pasta é convencionalmente index.html; a maioria dos servidores web a envia quando alguém solicita o endereço da pasta.

Escolha nomes em minúsculas com hífens, como opening-hours.html. Espaços se tornam %20 nas URLs, e muitos servidores diferenciam maiúsculas de minúsculas. Verifique se o editor não salvou sua página como index.html.txt. Depois de salvar, abra o arquivo HTML no navegador e atualize a página quando fizer uma alteração.

Principais conclusões

  • Coloque o doctype primeiro, os metadados em <head> e o conteúdo da página em <body>.
  • Use um <title> específico e coloque a declaração UTF-8 no início.
  • Inclua o elemento meta da área de visualização para dispositivos móveis.
  • <script> precisa de uma tag de fechamento; <meta> e <link> não precisam.
  • Salve arquivos .html de texto simples com nomes consistentes em minúsculas; index.html é a página padrão usual de uma pasta.

1.3 Idiomas, UTF-8 e caracteres especiais

O idioma do texto e a forma como seus caracteres são armazenados respondem a perguntas diferentes. Um navegador precisa de ambos para apresentar a página corretamente, especialmente quando o conteúdo inclui acentos ou mais de um sistema de escrita.

Identifique o idioma do conteúdo

Escreva o idioma principal no elemento raiz: <html lang="en">. Leitores de tela podem escolher a pronúncia com essa informação, e navegadores podem usá-la para tradução e verificação ortográfica. Uma etiqueta de idioma começa com um código de idioma. Uma segunda parte opcional pode indicar uma região ou escrita.

EtiquetaIdioma do conteúdo
enInglês
en-USInglês usado nos Estados Unidos
en-GBInglês britânico
fr-CAFrancês usado no Canadá
zh-HansChinês em caracteres simplificados

A etiqueta descreve o conteúdo, não a localização do visitante. uk significa ucraniano, então não é a etiqueta para o inglês do Reino Unido.

Marque uma mudança de idioma no elemento adequado mais próximo:

<p>Our host said <span lang="fr">bon appétit</span>.</p>

Somente a expressão em francês recebe pronúncia francesa. Para uma citação inteira, o idioma pode ser indicado em seu <blockquote>. Uma página da direita para a esquerda também precisa da direção base do texto, por exemplo <html lang="ar" dir="rtl">. Letras árabes continuam da direita para a esquerda sem esse atributo, mas a direção base afeta o alinhamento dos parágrafos, a pontuação e o texto com direções misturadas.

Faça os bytes salvos corresponderem à declaração

Uma codificação de caracteres associa caracteres a bytes armazenados. UTF-8 pode representar todos os caracteres Unicode, incluindo letras acentuadas, outras escritas e emojis. Documentos HTML usam UTF-8.

Há duas etapas: salvar o arquivo como UTF-8 no editor e declarar <meta charset="utf-8"> no início do head. A declaração diz ao navegador como ler os bytes; ela não converte um arquivo salvo em outra codificação. Uma declaração de codificação do servidor no cabeçalho Content-Type tem precedência sobre o elemento meta.

Uma incompatibilidade de codificação frequentemente deixa uma pista. O texto UTF-8 “Café” lido como Windows-1252 pode se tornar “Café” porque os dois bytes de “é” são interpretados separadamente. Um arquivo Windows-1252 lido como UTF-8 pode mostrar “Caf�” porque o byte é inválido em UTF-8. Verifique a codificação do editor e as informações do documento recebido pelo navegador antes de substituir letras individualmente.

Exiba caracteres que o HTML usa como sintaxe

Para mostrar texto literal que se parece com uma tag, escreva referências de caracteres:

<p>Use &lt;p&gt; for paragraphs.</p>

A página exibe uma instrução para usar

em parágrafos. O < deve ser representado como &lt; para que o navegador não inicie uma tag. Cada referência nomeada começa com & e termina com ;.

ReferênciaCaractere ou efeito exibido
&lt; e &gt;Sinais de menor e maior
&amp;E comercial
&quot;Aspas duplas, úteis dentro de um atributo entre aspas
&nbsp;Um espaço que impede uma quebra de linha
&copy;Símbolo de direitos autorais

Por exemplo, 10&nbsp;km mantém o número e a unidade na mesma linha. Caracteres acentuados comuns podem ser digitados diretamente em um arquivo UTF-8; você não precisa de uma referência separada para cada acento.

Principais conclusões

  • lang identifica o idioma do conteúdo; dir define a direção base do texto.
  • Marque uma mudança de idioma no elemento que contém o trecho.
  • Salve o arquivo como UTF-8 e declare UTF-8; uma declaração não converte os bytes armazenados.
  • Use referências de caracteres quando um caractere literal puder ser confundido com sintaxe HTML.

1.4 Como encontrar e corrigir erros de marcação

Um navegador tenta exibir uma página mesmo quando seu HTML está errado. Essa recuperação útil pode ocultar erros, então verificar uma página significa examinar tanto o código-fonte que você escreveu quanto a estrutura que o navegador construiu.

Compare o código-fonte com o DOM

Exibir código-fonte da página mostra o HTML recebido pelo navegador. O painel Elementos ou Inspetor nas ferramentas do desenvolvedor mostra o DOM, a árvore analisada que o navegador está usando. O navegador pode ter fechado um elemento antes do esperado ou movido conteúdo para outro lugar durante a análise sintática.

Abra o inspetor clicando com o botão direito na página e escolhendo Inspecionar, ou use o atalho das ferramentas do desenvolvedor do seu navegador. Selecione um elemento exibido e observe seu pai e seus filhos. Depois, encontre a mesma área no código-fonte. Diferenças podem explicar espaçamentos inesperados, links que se estendem demais ou estilos aplicados aos elementos errados.

Acompanhe um reparo automático

Suponha que você escreva:

<p>Our soups:
  <ul>
    <li>Tomato</li>
    <li>Lentil</li>
  </ul>
</p>

Um parágrafo aceita conteúdo de nível de texto, não uma lista. Ao chegar a <ul>, o navegador fecha o parágrafo. A lista se torna um bloco separado. O </p> final não tem um parágrafo aberto para fechar, então a análise sintática pode criar um parágrafo vazio extra.

O reparo necessário deve ser feito no código-fonte:

<p>Our soups:</p>
<ul>
  <li>Tomato</li>
  <li>Lentil</li>
</ul>

Mova a tag de fechamento do parágrafo para antes da lista. Agora o DOM pode expressar a relação pretendida sem recuperação de erros.

Use um verificador de HTML

O W3C Nu Html Checker aceita o endereço de uma página, um arquivo enviado ou HTML colado. Ele informa erros e avisos com suas localizações. Comece pelo primeiro erro, corrija-o e execute o verificador novamente. Uma única aspa ausente pode causar muitas mensagens posteriores, então editar todas as linhas informadas de uma vez pode desperdiçar esforço.

Por exemplo, falta a aspa de fechamento em <a href="about.html>. O navegador pode tratar a marcação seguinte como parte do valor do atributo. Corrigir a aspa pode eliminar vários erros posteriores. Da mesma forma, um </a> ausente pode fazer texto não relacionado se juntar ao link.

Procure especialmente por:

  • Elementos fechados na ordem errada ou nomes escritos incorretamente, como <pargraph>.
  • O mesmo id usado duas vezes em uma página.
  • Um <li> fora de sua lista.
  • Uma imagem sem atributo alt.
  • Conteúdo visível colocado no head.
Verifique o significado além da sintaxe

Um resultado sem erros no verificador informa que a marcação testada segue suas regras. Ele não pode decidir se “Clique aqui” é um texto de link útil ou se o texto alternativo de uma imagem fornece a informação adequada. Leia a página em ordem e verifique essas escolhas por conta própria.

Antes de finalizar uma página, verifique o doctype, o idioma do documento, a declaração UTF-8 no início e um título específico. Revise os níveis de título, ids únicos, alternativas de imagem e destinos dos links. Abra a página em pelo menos dois navegadores e siga seus links. Um caminho relativo válido ainda pode apontar para um arquivo ausente, o que uma verificação apenas de sintaxe não descobrirá.

Principais conclusões

  • A recuperação do navegador pode fazer HTML inválido parecer funcionar.
  • Compare o código-fonte recebido com o DOM analisado para encontrar reparos.
  • Corrija o primeiro erro do verificador e verifique novamente antes de investigar as mensagens posteriores.
  • Verifique por conta própria o significado do conteúdo, as imagens e os destinos após verificar a sintaxe.
2

Estruture o texto com títulos, parágrafos e listas

Uma estrutura clara do texto ajuda as pessoas a examinar rapidamente uma página e entender como suas ideias se relacionam. Títulos e parágrafos criam o esquema; elementos de nível de texto acrescentam significado dentro dele. Listas agrupam itens e sequências sem depender do espaçamento visual. Considere a finalidade do conteúdo ao escolher um elemento, inclusive quando o negrito, os marcadores ou as quebras de linha padrão do navegador fazem escolhas diferentes parecerem semelhantes.

2.1 Títulos, parágrafos e quebras

Títulos dão aos leitores um mapa da página. Parágrafos contêm frases relacionadas dentro desse mapa. Escolha os elementos de acordo com a estrutura do conteúdo e deixe que o CSS defina sua aparência.

Crie um esquema de títulos

O HTML tem seis níveis de título, de <h1> a <h6>. Use um <h1> para o assunto principal da página, <h2> para suas seções principais e <h3> para partes dentro de uma seção <h2>. A maioria das páginas precisa de apenas alguns níveis.

<h1>Growing Basil at Home</h1>
<p>Basil grows well on a sunny windowsill.</p>
<h2>Planting</h2>
<p>Sow the seeds 0.5 cm deep in moist soil.</p>
<h2>Care</h2>
<h3>Watering</h3>
<p>Water when the top of the soil feels dry.</p>
<h3>Harvesting</h3>
<p>Pick the top leaves first.</p>

Leia apenas os títulos. “Planting” e “Care” são seções principais de mesmo nível. “Watering” e “Harvesting” pertencem a “Care”. Esse esquema continua útil quando um leitor de tela lista os títulos ou quando uma pessoa examina rapidamente a página.

Um título pode descer apenas um nível em relação ao título anterior: depois de <h1>, use <h2>, não <h3>. Ao voltar para cima, é possível pular vários níveis. Um <h2> depois de um <h4> inicia uma nova seção principal. Os níveis de título seguem o documento inteiro, incluindo conteúdo dentro de seções e artigos.

O padrão HTML permite vários títulos de nível principal, mas um único <h1> principal é o padrão comum e claro. Não escolha <h4> apenas porque seu texto padrão é menor. Um parágrafo em negrito pode parecer um título, mas não aparecerá na lista de títulos de um leitor de tela.

Separe um subtítulo de uma seção

Uma frase de destaque descreve o título ao lado dela; não introduz uma nova seção. Agrupe um título e um subtítulo em <hgroup>:

<hgroup>
  <h1>Harbor Café</h1>
  <p>Fresh bread every morning</p>
</hgroup>

O parágrafo continua sendo um subtítulo. Transformá-lo em <h2> o colocaria incorretamente no esquema da página como uma seção principal.

Use parágrafos para frases relacionadas

Um elemento <p> contém um parágrafo. Comece um novo parágrafo quando o assunto ou a etapa da explicação mudar. Por padrão, os navegadores acrescentam espaço visível ao redor dos parágrafos.

Pressionar Enter no código-fonte HTML comum não cria um novo parágrafo exibido. Da mesma forma, elementos <p> vazios não são uma ferramenta de espaçamento. Mantenha a estrutura significativa e defina o espaço extra com CSS.

Escolha uma quebra pelo significado
ElementoUso
<br>Uma quebra de linha que pertence ao texto, como em um poema ou endereço postal
<hr>Uma quebra temática, como uma mudança de cena

Para um endereço, <p>Harbor Café<br>12 Quay Street<br>Port Town</p> mantém as linhas juntas como um parágrafo. Elementos <br> repetidos entre parágrafos comuns confundem a estrutura do conteúdo com o espaçamento. Uma linha horizontal desenhada por <hr> expressa uma mudança de assunto; escolha-a por esse significado, não apenas para decorar a página.

Principais conclusões

  • Os níveis de título expressam hierarquia; use um <h1> principal e títulos de seção descritivos.
  • Não pule um nível de título ao descer na hierarquia do esquema.
  • Use <hgroup> com um parágrafo para um subtítulo.
  • Use <p> para parágrafos, <br> para quebras de linha do conteúdo e <hr> para mudanças de assunto.

2.2 Significado dentro do texto

Elementos de texto dizem ao navegador o que uma palavra ou trecho significa. Sua aparência padrão em negrito, itálico ou com recuo é apenas um estilo inicial. Escolha primeiro o significado.

Diferencie ênfase, importância e atenção
ElementoSignificadoExemplo
<em>Ênfase de entonação que afeta a compreensão de uma fraseI <em>did</em> lock the door.
<strong>Importância, gravidade ou urgência<strong>Warning:</strong>
<i>Uma voz alternativa, termo técnico ou expressão estrangeira<i lang="la">Homo sapiens</i>
<b>Atenção sem importância adicionalNome de um produto em uma avaliação

Mudar a ênfase em “Eu tranquei a porta” altera o que a pessoa está corrigindo. A importância acentuada tem outra função: um aviso importa independentemente de como a frase é falada. Use CSS quando quiser apenas um estilo visual.

Marque citações e suas fontes

Uma citação longa usa <blockquote>. Seu atributo opcional cite fornece uma URL da fonte, mas esse endereço não é exibido automaticamente. Coloque uma atribuição visível fora da citação:

<blockquote cite="https://example.com/interview">
  <p>The garden is open to everyone.</p>
</blockquote>
<p>From <cite>A Conversation About the Garden</cite>.</p>

<cite> marca o título de uma obra, não o nome de uma pessoa. Uma citação curta dentro de uma frase usa <q>, e o navegador fornece as aspas. Não digite um segundo par ao redor das mesmas palavras.

Uma abreviação pode usar <abbr title="World Health Organization">WHO</abbr>. Escreva também sua forma completa de maneira visível na primeira vez em que aparecer. Uma dica isolada é difícil de acessar em telas sensíveis ao toque e não é uma explicação confiável para todos os leitores.

Mostre código e preserve seu espaçamento

<code> identifica um pequeno trecho de código dentro de uma frase. Para um bloco cujos espaços e quebras de linha importam, combine-o com <pre>:

<pre><code>&lt;p&gt;Welcome.&lt;/p&gt;</code></pre>

O leitor vê a marcação literal do parágrafo. <pre> preserva a formatação, mas não desativa a análise sintática de HTML. Você ainda precisa representar < como &lt; e um e comercial como &amp; quando eles devem aparecer como texto. Caso contrário, um exemplo de código pode ser interpretado como marcação real da página.

Marque datas, notação e outros significados úteis

<sub> e <sup> expressam subscrito e sobrescrito quando a notação exige: H<sub>2</sub>O e m<sup>2</sup>. Eles não são ferramentas para diminuir outro texto sem relação com essa notação.

<time> conecta o texto legível de uma data ou horário a um valor legível por máquina:

<time datetime="2026-03-14">March 14, 2026</time>

O valor de datetime usa ano-mês-dia. Um horário pode usar o valor de 24 horas 14:30, mesmo que as palavras visíveis digam “2:30 pm”.

Use <mark> para texto destacado por ser relevante no contexto atual, como uma correspondência de busca. <small> contém comentários secundários ou observações e ressalvas. Um <span> não tem significado próprio; é útil para um atributo de idioma ou um ponto de associação para estilização dentro de uma linha.

Principais conclusões

  • Use ênfase para entonação e strong para importância.
  • Use <i> e <b> por seus significados, não apenas por seus estilos padrão.
  • <blockquote> e <q> marcam citações; <cite> marca o título de uma obra.
  • Escreva a forma completa das abreviações de maneira visível, mesmo quando um title de abbr fornece essa forma.
  • <pre> preserva o espaçamento, mas ainda analisa HTML; use referências para caracteres literais de código.
  • Use <time> com um valor legível por máquina e elementos de notação quando seu significado for adequado.

2.3 Listas e sua estrutura

Uma lista real dá uma estrutura compartilhada a itens relacionados. Sua marcação permite que os leitores ouçam que estão entrando em uma lista e quantos itens ela contém. O tipo de lista depende do significado dos itens.

Escolha o tipo de lista

Use <ul> para itens cuja ordem não altera seu significado, como ingredientes. Use <ol> para uma sequência ou classificação em que a ordem importa. Ambos contêm itens de lista marcados com <li>.

<ol>
  <li>Boil the water.</li>
  <li>Add the pasta.</li>
  <li>Cook for 10 minutes.</li>
</ol>

Inverter essas etapas alteraria as instruções, então uma lista ordenada é adequada. Um navegador normalmente mostra números para <ol> e marcadores para <ul>. O CSS pode alterar esses marcadores; o significado da lista permanece o mesmo.

Não simule uma lista com traços digitados e quebras de linha. Esses caracteres podem parecer semelhantes, mas não informam ao leitor de tela que os itens formam uma lista. Um menu de navegação frequentemente usa uma lista não ordenada, enquanto uma trilha de navegação usa uma lista ordenada porque seu caminho tem uma sequência.

Aninhe uma lista dentro de seu item

No conteúdo comum de listas, os elementos filhos diretos de <ul> e <ol> são elementos <li>. Não coloque um parágrafo ou outra lista diretamente entre eles. O padrão também permite elementos de suporte a scripts, mas eles não substituem itens de lista.

Uma lista aninhada pertence ao item que descreve:

<ul>
  <li>Fruit
    <ul>
      <li>Apples</li>
      <li>Pears</li>
    </ul>
  </li>
  <li>Vegetables</li>
</ul>

Primeiro abra o item “Fruit”. Adicione sua lista aninhada, feche essa lista e depois feche o item “Fruit”. Agora “Apples” e “Pears” estão estruturalmente ligados a “Fruit”. Colocar o <ul> interno depois do </li> do elemento pai perderia essa relação. Um <li> também pode conter parágrafos, links e imagens.

Controle a numeração significativa

Uma lista ordenada pode continuar ou inverter uma contagem:

MarcaçãoEfeito
<ol start="4">Os dois primeiros itens comuns são numerados como 4 e 5
<ol reversed>Conta em ordem decrescente; cinco itens começam em 5, a menos que um início seja definido
<li value="10">Define o número desse item como 10; os itens seguintes continuam a partir dele
<ol type="a">Usa letras como marcadores quando o tipo de marcador importa

reversed é booleano. Ele continua ativado em reversed="false"; remova-o para voltar à contagem crescente. Com type, os valores 1, a, A, i e I selecionam formas comuns de numeração. Use uma forma de marcador significativa quando outro trecho do texto se referir a um marcador específico, como a cláusula “b”.

Associe termos e descrições

Uma lista de descrições usa <dl>, com <dt> para um termo ou nome e <dd> para sua descrição ou valor:

<dl>
  <dt>Opening time</dt>
  <dd>08:30</dd>
  <dt>Closing time</dt>
  <dd>17:00</dd>
</dl>

Um termo pode ter várias descrições, e vários termos podem compartilhar uma descrição. Um grupo pode ser envolvido por um <div>. Use essa estrutura para relações entre nomes e valores, como em um glossário ou nos detalhes de um produto, em vez de forçar esses pares em itens de lista sem relação.

Principais conclusões

  • Use <ul> quando a ordem não importa, <ol> quando importa e <dl> para pares de nome e descrição.
  • Coloque o conteúdo comum de listas não ordenadas e ordenadas em elementos <li>.
  • Uma lista aninhada pertence dentro do item da lista pai.
  • start, reversed, value e type controlam os marcadores de listas ordenadas.
  • A marcação de listas reais preserva relações que marcadores digitados não conseguem expressar.
3

Conecte páginas com links e crie a navegação

Links conectam uma página ao restante de seu site e à web. Seus endereços precisam funcionar a partir da pasta em que a página está, e suas palavras devem informar às pessoas para onde levam. A navegação transforma esses links individuais em menus, sumários e atalhos úteis. Acompanhe os destinos com atenção e torne a página previsível para quem usa mouse, teclado ou leitor de tela.

Um link conecta conteúdo a um destino. O navegador determina esse destino a partir do endereço que você coloca em href, então escolher o tipo correto de URL faz parte da criação do link.

Escreva uma âncora
<a href="https://www.w3.org/">World Wide Web Consortium</a>

O elemento <a> é uma âncora (anchor). Seu href é o destino, e seu conteúdo é o texto clicável do link. Uma âncora sem href é um marcador de posição, não um hiperlink funcional. Uma imagem também pode ser seu conteúdo.

Uma URL absoluta fornece um esquema e um domínio, como em https://example.com/guide/. Use-a para criar um link para outro site. href="www.example.com" não tem esquema, então o navegador o trata como um caminho relativo de arquivo; ele não significa “abrir esse site”.

Parta da pasta atual

Uma URL relativa parte da localização da página atual. Considere este site:

site/
  index.html
  about.html
  recipes/
    index.html
    soup.html
  images/
    logo.png

A partir da página inicial, about.html chega à página de apresentação ao lado, e recipes/soup.html entra na pasta de receitas. A partir de recipes/soup.html, o mesmo about.html procuraria dentro de recipes/, onde esse arquivo não existe.

Acompanhe o caminho de recipes/soup.html até o logotipo:

  1. A pasta inicial é recipes/.
  2. ../ sobe até a pasta do site.
  3. images/ entra na pasta de imagens.
  4. logo.png identifica o arquivo.

O caminho completo é ../images/logo.png. Cada ../ adicional sobe mais uma pasta. Já index.html a partir da página da sopa chega ao índice de receitas, não à página inicial do site.

Uma URL relativa à raiz começa com /, como /about.html. Em um servidor web, ela parte da raiz do site, independentemente da pasta da página atual. Ao abrir o arquivo diretamente do disco, essa barra se refere à raiz do sistema de arquivos, então ela não identifica a pasta do site no seu projeto. Use caminhos relativos comuns para páginas que você também testa diretamente do disco.

Caminhos usam barras normais e devem corresponder aos nomes dos arquivos e ao uso de maiúsculas e minúsculas. Muitos servidores tratam Soup.html e soup.html como arquivos diferentes. Um link para uma pasta, como recipes/, normalmente solicita ao servidor seu arquivo padrão, geralmente index.html; a navegação direta pelo disco pode mostrar uma listagem da pasta.

Salte para uma parte da página
<a href="#watering">Watering</a>
<h2 id="watering">Watering</h2>

O fragmento começa com # na URL. O id do destino não tem # e deve corresponder exatamente. Para outra página, combine os dois: basil.html#watering. Um fragmento vazio # leva ao topo. #top também leva ao topo quando nenhum elemento correspondente é encontrado.

Abra um destino de e-mail ou telefone

mailto:info@example.com solicita ao aplicativo de e-mail do visitante que prepare uma mensagem. Um assunto pode ser incluído como mailto:info@example.com?subject=Table%20booking, com o espaço codificado como %20. tel:+15555550123 fornece um destino telefônico em formato internacional. O número de telefone visível pode conter espaços, embora esse href não os contenha.

Principais conclusões

  • Use <a href="..."> para um hiperlink funcional.
  • Uma URL absoluta indica o esquema e o domínio; uma URL relativa parte da pasta atual.
  • Cada ../ sobe uma pasta; uma / inicial parte da raiz do servidor.
  • Um fragmento corresponde a um id único, com # apenas na URL.
  • mailto: e tel: identificam destinos de e-mail e telefone.

Um link útil informa à pessoa o que esperar antes de acessá-lo. Seu texto, destino e comportamento de abertura funcionam em conjunto, inclusive quando o link é lido isoladamente na lista de links de um leitor de tela.

Indique o destino

Compare estes links:

Texto pouco útilTexto útil
“Clique aqui”“Nosso cardápio de almoço”
“Leia mais”“Leia o anúncio de abertura do terraço”
“Download”“Cardápio de almoço (PDF, 2 MB)”

Mantenha o texto do link breve, mas específico. Se dois links tiverem o mesmo texto, faça-os levar ao mesmo destino. Uma URL pura geralmente é mais difícil de ler do que uma descrição, embora um endereço de e-mail seja um texto de link útil quando o próprio endereço é a informação.

Uma dica de title não corrige um texto visível pouco claro. Usuários de telas sensíveis ao toque talvez nunca vejam a dica, e o acesso a ela pelo teclado não é confiável. Coloque as informações importantes sobre o destino no próprio conteúdo do link.

Indique arquivos e downloads
<a href="menu.pdf" download="harbor-cafe-menu.pdf">Lunch menu (PDF, 2 MB)</a>

O texto identifica o tipo e o tamanho do arquivo. O atributo download solicita ao navegador que salve o arquivo e sugere um nome para ele. Ele não converte uma página em PDF. Para links comuns de arquivos web, o destino deve estar na mesma origem para que download seja aplicado; URLs especiais blob: e data: também são aceitas. As configurações do navegador e os cabeçalhos do servidor podem afetar o comportamento final, então o atributo é uma solicitação, não uma promessa de uma caixa de diálogo específica.

Deixe as pessoas controlarem novas abas

Links comuns abrem no contexto de navegação atual, onde o botão Voltar pode retornar à página anterior. target="_blank" solicita uma nova aba ou janela. A nova aba não tem o histórico do botão Voltar da aba original, e o visitante pode não perceber a mudança.

Use uma nova aba apenas quando houver uma finalidade clara e informe isso no texto:

<a href="https://example.com/archive" target="_blank" rel="noopener">Archive (opens in a new tab)</a>

Navegadores modernos dão a links _blank a proteção de noopener: a página aberta não pode usar window.opener para controlar a página original. Escrever rel="noopener" explicitamente também cobre o comportamento antigo. noreferrer também suprime as informações de referenciador. nofollow comunica uma relação aos mecanismos de busca, não um destino de navegação.

Torne compreensíveis links de imagem e links maiores

Quando uma imagem é o único conteúdo de um link, seu texto alternativo fornece o nome do link:

<a href="index.html">
  <img src="logo.png" alt="Harbor Café home page">
</a>

A informação útil é para onde o link leva. Descrever apenas as cores do logotipo não indicaria seu destino.

Uma âncora pode envolver um cartão maior com título e parágrafo, mas não pode conter outro link ou um botão. Controles interativos aninhados oferecem destinos ou ações concorrentes dentro de um mesmo controle.

Um link leva a algum lugar: uma página, um arquivo ou uma seção da página. Um botão executa uma ação, como abrir um menu. href="#" é um link para o topo da página; ele não substitui um botão que executa uma ação.

Principais conclusões

  • O texto do link deve indicar o destino e fazer sentido isoladamente.
  • Identifique os tipos de arquivo vinculados e informe tamanhos quando isso for útil.
  • Informe quando uma nova aba será aberta; noopener protege a página original.
  • Em um link que contém apenas uma imagem, o texto alternativo indica o destino.
  • Mantenha controles interativos separados: não coloque links ou botões dentro de um link.
  • Use links para destinos e botões para ações.

A navegação ajuda as pessoas a encontrar tanto a página desejada no site quanto a parte necessária de uma página longa. O HTML pode identificar esses grupos para que pessoas que usam tecnologia assistiva os encontrem diretamente.

Dê uma região à navegação principal

Use <nav> ao redor de um grupo principal de links de navegação. Um menu de site costuma conter uma lista não ordenada:

<nav aria-label="Main">
  <ul>
    <li><a href="index.html">Home</a></li>
    <li><a href="menu.html" aria-current="page">Menu</a></li>
    <li><a href="contact.html">Contact</a></li>
  </ul>
</nav>

Essa marcação pertence à página do cardápio: aria-current="page" identifica o link para a página exibida no momento. Na página de contato, mova esse atributo para o link de contato. Não marque o índice de uma seção como página atual quando o leitor estiver visualizando outra página dentro dessa seção.

A lista disponibiliza aos leitores de tela a quantidade e o agrupamento dos links. Sem CSS, os itens do menu ficam empilhados verticalmente. O elemento <nav> não os organiza automaticamente em uma linha. Alguns links sem relação entre si no rodapé geralmente não precisam de uma região de navegação própria.

Mantenha os menus consistentes entre páginas

Use os mesmos itens na mesma ordem e posição em todo o site. Em um site HTML estático, copiar o menu significa atualizar cada cópia quando seu conteúdo mudar.

Verifique os destinos a partir da pasta real de cada página. Em recipes/soup.html, o link para a página inicial é ../index.html; index.html chegaria ao índice de receitas. As palavras no menu podem permanecer iguais enquanto os caminhos relativos mudam. Um site em servidor pode usar caminhos relativos à raiz para evitar essa dependência de pastas.

Crie um sumário

Um sumário contém links para títulos na página atual:

<nav aria-label="Contents">
  <ol>
    <li><a href="#planting">Planting</a></li>
    <li><a href="#care">Care</a></li>
  </ol>
</nav>
<h2 id="planting">Planting</h2>

Cada fragmento deve corresponder a um id único. Adicione um título correspondente com id="care" para o segundo link. Quando várias regiões de navegação têm funções diferentes, rótulos como “Main” e “Contents” permitem que usuários de leitores de tela as diferenciem.

Uma trilha de navegação é outro tipo de navegação. Ela mostra um caminho como “Início › Receitas › Sopa de tomate”. Use <nav aria-label="Breadcrumb"> com uma lista ordenada e coloque a página atual por último. A ordem expressa o caminho pelo site.

Ofereça um atalho para passar pelo conteúdo repetido

Coloque um link para pular blocos de conteúdo primeiro no body:

<a href="#main-content">Skip to main content</a>

Seu destino é a região principal, escrita como <main id="main-content">. Usuários de teclado podem seguir esse link para passar por um menu repetido. Mantenha o id do destino único e escrito exatamente como no fragmento. Um link para pular blocos de conteúdo funciona como recurso de navegação mesmo antes de o CSS alterar sua apresentação.

Principais conclusões

  • Use <nav> para a navegação principal, com listas e links reais.
  • aria-current="page" marca o link para a página realmente exibida.
  • Mantenha os menus consistentes e verifique novamente os caminhos relativos copiados.
  • Identifique diferentes regiões de navegação e faça os fragmentos do sumário corresponderem a ids únicos.
  • Coloque um link para pular blocos de conteúdo primeiro no body e aponte-o para o conteúdo principal.
4

Adicione imagens que todas as pessoas possam compreender

Imagens precisam de mais do que um nome de arquivo. O navegador precisa de um endereço correto e de dimensões, enquanto os leitores precisam da informação transmitida pela imagem. O formato do arquivo e a compressão afetam a velocidade de carregamento da página; o texto alternativo e as legendas afetam como seu significado é preservado sem a imagem. Escolha cada parte de acordo com a finalidade da imagem, seja ela apresentar informações úteis, levar a algum lugar ou apenas decorar a página.

4.1 Arquivos de imagem, dimensões e carregamento

Uma imagem em HTML continua sendo um recurso separado. A página informa ao navegador qual arquivo buscar, quanto espaço reservar e qual texto pode substituir a imagem.

Adicione uma imagem
<img src="images/harbor.jpg" alt="Fishing boats moored in the harbor at sunset" width="1200" height="800">

<img> é vazio, então não tem tag de fechamento. src fornece o endereço de um arquivo, com as mesmas regras de caminho usadas para links. alt fornece uma alternativa textual. Se a imagem não aparecer, verifique a pasta, as maiúsculas e minúsculas e a extensão do arquivo em src. Um caminho .jpg não identifica um arquivo .png, e .JPG pode ser diferente de .jpg em um servidor.

Os bytes da imagem não são armazenados dentro desse elemento HTML. O navegador baixa o arquivo separadamente. Alterar a largura no HTML não diminui o arquivo baixado.

Escolha um formato adequado ao conteúdo
FormatoPropriedades úteis
JPEGFotografias compactas; compressão com perdas e sem transparência
PNGGráficos nítidos e capturas de tela; compressão sem perdas e transparência
GIFAnimação simples com uma paleta limitada a até 256 cores
SVGLogotipos, ícones e diagramas vetoriais que permanecem nítidos ao serem dimensionados
WebP e AVIFFormatos modernos que frequentemente reduzem o tamanho do arquivo com qualidade semelhante

Os principais navegadores atuais oferecem suporte a WebP e AVIF. Escolha uma imagem pelo conteúdo e pelo tamanho resultante do arquivo, não apenas pela extensão. A compressão com perdas descarta alguns detalhes para economizar espaço; a compressão sem perdas mantém os dados originais da imagem.

Reserve a proporção correta

Os atributos width e height são números inteiros em pixels CSS, sem unidade no valor. Escreva width="1200", não width="1200px". Eles permitem que o navegador reserve espaço antes da chegada do arquivo, reduzindo deslocamentos de layout, quando o texto salta à medida que uma imagem carrega.

Uma imagem de 1200 × 800 tem proporção de 3:2. Tanto width="1200" height="800" quanto width="600" height="400" a preservam. O segundo par reduz as duas dimensões à metade. Um par de 600 × 600 força um quadrado e distorce a imagem. O CSS pode depois controlar as dimensões exibidas preservando a proporção.

Reduza o arquivo antes de usá-lo

Uma foto de celular com 4000 × 3000 tem 12 milhões de pixels e pode ocupar vários megabytes. Redimensione-a para perto do maior tamanho de exibição pretendido e escolha uma compressão adequada antes de adicioná-la ao site. Caso contrário, cada leitor baixa o arquivo grande mesmo quando a página mostra uma miniatura pequena.

Para imagens mais abaixo em uma página longa, loading="lazy" permite que o navegador espere até que o visitante se aproxime delas. Mantenha o carregamento normal para um banner ou imagem principal visível imediatamente, pois adiá-lo pode tornar mais lenta a primeira visualização da página.

Use imagens que sejam suas, que você tenha permissão para usar ou que possa reutilizar conforme a licença, com os créditos exigidos. Mantenha as imagens do site em sua própria pasta para que alterações em arquivos de outro site não as quebrem. Imagens de conteúdo pertencem ao HTML; texturas de fundo puramente decorativas geralmente são tratadas pelo CSS.

Principais conclusões

  • src aponta para um arquivo separado; <img> não tem tag de fechamento.
  • Escolha o formato de acordo com o conteúdo da imagem e o tamanho do arquivo.
  • Use valores numéricos de largura e altura com a proporção correta.
  • Redimensione e comprima o arquivo; as dimensões de exibição não reduzem seu tamanho de download.
  • Use carregamento tardio para imagens mais abaixo e imagens com permissão adequada de reutilização.

4.2 Texto alternativo, finalidade da imagem e legendas

O texto alternativo fornece a informação necessária a quem não consegue ver uma imagem. Uma legenda fornece contexto visível para todos. A escolha de ambos começa pela finalidade da imagem naquela página específica.

Descreva a informação útil

Para uma foto que ajuda os leitores a entender um lugar, descreva o que importa: alt="The café's terrace with six tables overlooking the harbor". Uma lista longa de todos os objetos raramente é útil. Você geralmente não precisa de “Imagem de” porque os leitores de tela já anunciam a função de imagem. O meio, porém, pode importar, como em “Pintura em aquarela do porto”.

O contexto muda a alternativa útil. Em uma página de adoção, os detalhes importantes podem identificar um cachorro. Em uma página para visitantes de um parque, a mesma foto pode comunicar que cachorros são bem-vindos no gramado. Pergunte qual informação um leitor perderia se a imagem desaparecesse.

Para um gráfico, apresente sua mensagem principal e coloque os dados detalhados por perto. Por exemplo, o texto alternativo pode informar que as visitas ao site subiram de 1.200 em janeiro para 3.000 em março. O texto ao redor pode fornecer todos os valores. Uma placa fotografada ou outra imagem de texto precisa das palavras relevantes em sua alternativa.

Diferencie imagens informativas, decorativas e funcionais
Finalidade da imagemAbordagem para o texto alternativo
Fornece informaçãoDescreva essa informação no contexto
Apenas decoraUse um valor vazio, alt=""
Está sozinha dentro de um linkIndique o destino ou a função
Mostra texto significativoInclua as palavras exibidas

Um valor alt vazio é uma instrução deliberada para ignorar uma imagem decorativa. Omitir o atributo é diferente: alguns leitores de tela podem anunciar o nome do arquivo. Use um atributo alt em toda imagem que você criar.

Um logotipo que é o único conteúdo de um link para a página inicial precisa de um nome útil para o link, como “Página inicial do Café do Porto”. O leitor precisa saber o destino, não apenas que o logotipo contém ondas azuis. title não é um substituto: sua dica não está disponível de forma confiável para usuários de teclado, tela sensível ao toque ou leitor de tela.

Adicione uma legenda com figure
<figure>
  <img src="images/old-harbor.jpg" alt="Sailing ships crowded along a stone quay" width="1000" height="667">
  <figcaption>The harbor around 1900. Photo: Port Town Archive.</figcaption>
</figure>

<figure> agrupa conteúdo independente e sua legenda visível opcional. <figcaption> é o primeiro ou o último filho da figure, com no máximo uma legenda por figure. Uma figure pode conter várias imagens, um exemplo de código, uma citação ou um diagrama; ela não se limita a fotografias.

Neste exemplo, o texto alternativo substitui o que a fotografia mostra. A legenda fornece a data e o crédito. Copiar a legenda inteira para o texto alternativo faria um leitor de tela repetir esse texto sem explicar a imagem. Uma legenda que diz apenas “Figura 1” também não substitui uma descrição da imagem.

Principais conclusões

  • Escreva o texto alternativo de acordo com a finalidade da imagem no contexto.
  • Use alt="" para decoração; não omita o atributo.
  • Um link que contém apenas uma imagem precisa de texto alternativo que indique seu destino.
  • Apresente a mensagem principal de um gráfico e forneça informações detalhadas por perto.
  • A legenda de uma figura acrescenta contexto visível; ela não substitui o texto alternativo.
5

Estruture páginas com elementos semânticos

Uma página completa combina a estrutura básica do documento com regiões significativas e elementos de conteúdo bem escolhidos. Decida quais informações se repetem no site, o que é exclusivo desta página e quais partes poderiam existir por si só. Depois, conecte esse plano a um esquema claro de títulos e à ordem no código-fonte. Criar uma pequena página de receita reúne metadados, texto, navegação, imagens e verificações antes de adicionar qualquer layout visual.

5.1 Regiões da página e regiões de referência

Uma página contém regiões com funções diferentes: uma introdução, navegação, seu conteúdo exclusivo e informações complementares. Elementos semânticos nomeiam essas funções para que a estrutura seja útil além de seu layout visual.

Nomeie cada região
ElementoFunção do conteúdo
<header>Introdução à página ou à seção ou ao artigo mais próximo
<nav>Um grupo principal de navegação
<main>O conteúdo principal exclusivo da página
<aside>Conteúdo relacionado indiretamente ao que está ao seu redor
<footer>Informações sobre a página ou a seção à qual pertence

Um cabeçalho de site frequentemente contém um logotipo e um menu. Já o cabeçalho de um artigo pode conter seu título, autor e data. Um rodapé pode incluir dados de contato, links relacionados ou uma linha de direitos autorais. Esses elementos identificam funções, não um conjunto fixo de palavras.

Mantenha o conteúdo principal distinto

Uma página comum usa um <main> visível. Seu conteúdo é exclusivo da página, então a navegação do site que se repete fica fora dele. Não coloque main dentro de article, section, aside, header, footer ou nav. Um artigo de receita pode ficar dentro de main, não o contrário.

Um aside serve para material complementar relacionado apenas indiretamente. Um conjunto de links para receitas relacionadas pode ser um aside; uma etapa essencial da receita não pode. O nome “aside” não coloca o conteúdo em uma coluna lateral. Sem CSS, essas regiões normalmente ficam empilhadas na ordem do código-fonte.

<body>
  <header>
    <p>Harbor Café</p>
    <nav>...</nav>
  </header>
  <main>
    <h1>Our Menu</h1>
    <p>Everything is baked fresh each morning.</p>
  </main>
  <aside>
    <h2>Today's special</h2>
    <p>Tomato soup with fresh bread.</p>
  </aside>
  <footer>
    <p>&copy; 2026 Harbor Café</p>
  </footer>
</body>

O conteúdo exclusivo da página de cardápio fica em main. As informações do site ao seu redor ficam fora dele. O código-fonte faz sentido ao ser lido de cima para baixo antes de adicionar colunas, cores ou posicionamento.

Entenda as regiões de referência

Uma região de referência é uma região que a tecnologia assistiva pode apresentar como destino de navegação. Main e nav fornecem regiões de referência. Um header no nível da página fornece a região de referência de cabeçalho, e um footer no nível da página fornece a região de informações sobre o conteúdo. Um header ou footer aninhado dentro de article, aside, main, nav ou section não fornece essas regiões de referência no nível da página.

Um aside normalmente tem uma função complementar. Um aside aninhado ainda pode ter essa função; aninhá-lo em um article não elimina, por si só, o significado. Use-o apenas para conteúdo complementar adequado e mantenha compreensíveis as regiões da página.

<search> identifica uma região que contém controles e resultados de pesquisa ou filtragem. Ele cria uma região de pesquisa e tem suporte nos principais navegadores atuais. É diferente de nav: pesquisar conteúdo e escolher um link de navegação conhecido são funções distintas.

Um header não pode conter um header ou footer, e um footer não pode conter nenhum dos dois. Separe as regiões no nível da página dos cabeçalhos e rodapés que pertencem a artigos individuais. Escolher os nomes adequados fornece uma estrutura útil mesmo quando todas as regiões parecem blocos comuns.

Principais conclusões

  • Regiões semânticas nomeiam funções do conteúdo e podem disponibilizar regiões de referência.
  • Use uma região principal visível para conteúdo exclusivo da página.
  • Use um aside para conteúdo complementar relacionado indiretamente.
  • Cabeçalhos e rodapés no nível da página têm comportamento diferente dos aninhados quanto às regiões de referência.
  • Nomes de regiões HTML não posicionam o conteúdo; o CSS controla o layout.
  • Use <search> para uma região de pesquisa ou filtragem.

5.2 Artigos, seções e contêineres neutros

Uma escolha semântica informa aos leitores o que é um bloco de conteúdo. Pergunte como o conteúdo se relaciona com a página antes de escolher um contêiner; duas caixas de aparência semelhante podem precisar de elementos diferentes.

Verifique se o conteúdo faz sentido por si só

Um artigo é uma composição independente que poderia ser compartilhada ou reutilizada separadamente. Uma publicação de blog, receita, notícia ou comentário de leitor pode passar nesse teste. Um artigo geralmente tem seu próprio título, mas ter um título, por si só, não transforma um bloco em artigo.

Uma seção agrupa um tema dentro de um conjunto maior, normalmente com um título. “Horário de funcionamento” e “Como chegar” podem ser seções de uma página de contato. Se o bloco não tem um tema claro e você não consegue dar a ele um título que faça sentido, provavelmente section é a escolha errada.

<article>
  <h2>Growing Basil at Home</h2>
  <section>
    <h3>Planting</h3>
    <p>Choose a sunny place for the pot.</p>
  </section>
  <section>
    <h3>Care</h3>
    <p>Check the soil regularly.</p>
  </section>
</article>

Aqui o artigo é um guia completo de cultivo, enquanto suas seções dividem o guia em temas. Esse exemplo é adequado a uma página cujo <h1> principal aparece antes do artigo.

O aninhamento também funciona na outra direção. Uma seção “Últimas notícias” pode conter vários artigos independentes. Comentários podem ser artigos aninhados no artigo ao qual respondem. A relação entre os conteúdos determina o aninhamento.

Mantenha os níveis de título no esquema da página

Uma seção não reinicia os níveis de título. Se uma página usa <h1> para seu assunto e <h2> para um grupo temático, use <h3> para artigos dentro desse grupo. Não coloque um novo <h1> em cada seção aninhada. Navegadores e leitores de tela usam os níveis de título que você realmente escreve; um contêiner section não corrige um nível pulado.

Use contêineres neutros quando nenhum significado for adequado

<div> é um contêiner de bloco neutro. <span> é um contêiner neutro dentro de uma linha de texto. Eles fornecem pontos de associação para uma classe, um atributo de idioma ou estilização posterior sem atribuir uma função especial ao conteúdo.

<p>Try <span lang="fr">pain au chocolat</span> today.</p>

O span identifica o trecho em francês sem introduzir um novo bloco. Construir a página inteira com divs genéricos perde funções úteis, mas transformar todo div em section inventa temas que não estão presentes.

Escolha perguntando qual é a função do bloco:

  1. É o conteúdo exclusivo da página? Use main como região externa.
  2. É um grupo principal de navegação? Use nav.
  3. Poderia existir como uma composição completa? Considere article.
  4. É uma parte temática com título? Considere section.
  5. É conteúdo complementar relacionado indiretamente? Considere aside.
  6. É apenas um contêiner? Use div ou span dentro do texto.

<address> também tem um significado específico: informações de contato do artigo mais próximo ou da página. Um link de e-mail em um rodapé de contato do site pode ficar nele. Um endereço postal mencionado como fato histórico ou local de um evento não se torna uma informação de contato apenas por conter o nome de uma rua.

Principais conclusões

  • Um artigo é independente; uma seção agrupa um tema.
  • Artigos e seções podem conter uns aos outros quando as relações entre seus conteúdos permitem.
  • Mantenha os níveis de título consistentes em toda a página.
  • Use contêineres neutros div e span quando nenhum elemento semântico for adequado.
  • Use address para informações de contato da página ou do artigo, não para todo endereço de rua.

5.3 Do planejamento de uma página ao HTML completo

Planeje as funções e a ordem de leitura antes de digitar uma página completa. Um esboço estrutural simples nomeia as regiões, enquanto um esquema de títulos identifica o conteúdo dentro delas. Juntos, eles orientam a escolha dos elementos e seu aninhamento.

Mapeie o conteúdo

Para uma página de receita, coloque o nome e o menu do site que se repetem em um header, a receita em main e as informações do site em um footer. A receita é independente, então um article cabe dentro de main. Seu esquema é “Sopa de tomate”, com “Ingredientes” e “Modo de preparo” abaixo.

A página abaixo está em uma pasta recipes/. Sua página inicial e a pasta de imagens estão uma pasta acima:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Tomato Soup – Harbor Café Recipes</title>
  </head>
  <body>
    <a href="#main-content">Skip to main content</a>
    <header>
      <p><a href="../index.html">Harbor Café</a></p>
      <nav>
        <ul>
          <li><a href="../index.html">Home</a></li>
          <li><a href="index.html">Recipes</a></li>
        </ul>
      </nav>
    </header>
    <main id="main-content">
      <article>
        <h1>Tomato Soup</h1>
        <p>Published <time datetime="2026-03-14">March 14, 2026</time></p>
        <figure>
          <img src="../images/tomato-soup.jpg" alt="A bowl of red tomato soup with a swirl of cream" width="1200" height="800">
          <figcaption>Ready in 30 minutes.</figcaption>
        </figure>
        <h2>Ingredients</h2>
        <ul>
          <li>1 kg ripe tomatoes</li>
          <li>1 onion</li>
          <li>500 ml vegetable stock</li>
        </ul>
        <h2>Method</h2>
        <ol>
          <li>Chop the onion and tomatoes.</li>
          <li>Simmer them in the stock for 20 minutes.</li>
          <li>Blend until smooth.</li>
        </ol>
      </article>
    </main>
    <footer>
      <p>&copy; 2026 Harbor Café</p>
    </footer>
  </body>
</html>
Acompanhe as escolhas no código

O link para pular blocos de conteúdo é o primeiro no body e aponta para o id único da região principal. O header contém a identidade e a navegação do site que se repetem. O article da receita tem o único título principal da página, seguido de duas seções <h2> de mesmo nível.

Os ingredientes usam uma lista não ordenada porque mudar sua ordem de exibição não altera o que é necessário. O modo de preparo usa uma lista ordenada porque as etapas formam uma sequência. O texto alternativo da foto substitui a imagem; sua legenda fornece contexto sobre o preparo.

../index.html sobe até a página inicial. index.html permanece na pasta de receitas. Nenhum dos links do menu está marcado com aria-current="page", porque a página exibida é a receita de sopa, não um dos índices.

Verifique a página concluída

Leia o código-fonte de cima para baixo. Sua ordem deve funcionar para um usuário de teclado e um leitor de tela antes que o CSS reorganize qualquer elemento. Verifique o título, o esquema de títulos, o único main visível, os caminhos dos links e as alternativas das imagens. Execute o verificador de HTML e corrija as mensagens, depois teste os links e as imagens no navegador.

Em várias páginas, mantenha o mesmo cabeçalho, menu e rodapé repetidos. Dê a cada página seu próprio título e título principal e ajuste os caminhos relativos a partir de sua pasta. Cores, fontes, espaçamento e colunas podem então ser adicionados por meio de CSS sem alterar as funções que você já estabeleceu.

Principais conclusões

  • Planeje as regiões e um esquema de títulos antes de escrever a página completa.
  • Construa o documento em uma ordem de leitura que faça sentido e mantenha consistente o conteúdo repetido do site.
  • Verifique os caminhos a partir da pasta real da página e faça o link para pular blocos de conteúdo corresponder a main.
  • Valide a sintaxe, inspecione o conteúdo e teste a página concluída antes de estilizar.

Exercícios resolvidos de HTML

5 Lições Interativas

1

Crie e verifique um documento

16 passos
Crie uma pequena página para visitantes enquanto acompanha seus elementos, metadados, configurações de idioma e reparos do navegador.
  1. 1
    IntroduçãoDo texto ao documento

    Um navegador constrói uma página a partir das funções que você marca em HTML. Um parágrafo não é apenas uma linha de texto: seu elemento informa ao navegador como esse conteúdo pertence ao documento.

    Crie uma página para visitantes em etapas. Primeiro leia suas tags e seus atributos, depois adicione seu head e suas configurações de idioma e, por fim, verifique o que acontece quando uma parte do aninhamento está errada.

  2. 2
    ExemploLeia um parágrafo

    Comece com <p>Visit the community garden.</p>. A tag de abertura é <p>, as palavras são seu conteúdo e </p> o fecha. Juntos, eles formam um elemento.

    Agora escreva <p class="intro">Visit the community garden.</p>. O atributo class acrescenta um nome dentro da tag de abertura. Colocar o valor entre aspas o mantém unido caso você adicione outro nome de classe depois.

  3. 3
    ExemploAdicione importância dentro do parágrafo

    Marque apenas a expressão necessária:

    <p>Bring your <strong>entry pass</strong>.</p>
    

    O parágrafo é o pai, e strong é seu filho. Leia as tags de fechamento de dentro para fora: strong fecha primeiro, depois p. Esse aninhamento passa a fazer parte da árvore DOM do navegador; alterar apenas a indentação não mudaria a relação.

  4. 4
    DesafioCorrija dois nomes de classe

    Uma pessoa escreve <p class=welcome note>Hello.</p>, querendo que o parágrafo tenha os dois nomes de classe. Como o atributo deve ser escrito?

    ---reveal---

    Escreva class="welcome note". Sem aspas, o valor de class termina no primeiro espaço, e o navegador trata note como outro atributo. Os dois nomes de classe pertencem a um único valor entre aspas, separados por um espaço.

  5. 5
    Ideia-chaveA presença pode definir o valor

    Um atributo booleano é ativado por estar presente. <ol reversed> conta em ordem decrescente, e <ol reversed="false"> também. Remova reversed para desativá-lo.

    Elementos vazios seguem outra regra útil: <br>, <img> e <meta> não têm conteúdo nem tag de fechamento. Escrever uma tag de fechamento para uma imagem não dá a ela um segundo limite; isso introduz um erro.

  6. 6
    ExemploCrie a estrutura externa do documento

    Comece a página para visitantes com sua declaração e dois contêineres principais:

    <!DOCTYPE html>
    <html lang="en">
      <head>
      </head>
      <body>
      </body>
    </html>
    

    O doctype seleciona o modo de padrões. O head conterá informações sobre o documento, enquanto o body conterá o conteúdo que as pessoas leem. Ambos são elementos filhos da raiz html.

  7. 7
    ExemploPreencha o head

    Adicione estas linhas dentro do head:

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Visit – Community Garden</title>
    

    A declaração de charset no início informa ao navegador como decodificar o texto. A linha da área de visualização permite um layout com a largura do dispositivo. O título específico identifica essa página na aba; ele não é o título visível que você colocará no body.

  8. 8
    DesafioPosicione o título visível

    A aba deve mostrar “Visita ao Jardim Comunitário”, e a página deve começar visivelmente com “Visite o Jardim”. Onde esses dois textos ficam?

    ---reveal---

    Use <title>Visit – Community Garden</title> no head e <h1>Visit the Garden</h1> no body. Eles têm funções diferentes. Colocar o h1 no head pode acionar a recuperação do navegador, mas não dá ao documento uma estrutura correta no código-fonte.

  9. 9
    ExplicaçãoDeclare o idioma do texto

    O lang="en" da raiz identifica o idioma principal da página. Uma saudação em espanhol dentro dela pode ter sua própria configuração:

    <p><span lang="es">Bienvenidos</span> to the garden.</p>
    

    Um leitor de tela pode mudar a pronúncia para esse trecho. Etiquetas de idioma descrevem o conteúdo, não o país onde o leitor está. Use uma etiqueta mais específica apenas quando essa distinção for adequada ao texto.

  10. 10
    ExemploFaça o texto armazenado corresponder a UTF-8

    Uma declaração de charset é uma instrução de leitura, não um conversor. Salve o arquivo como UTF-8 no editor e mantenha <meta charset="utf-8"> no início do head.

    Para um texto como “Café”, uma incompatibilidade de codificação pode exibir vários caracteres incorretos ou um símbolo de substituição. Verifique tanto a codificação em que o arquivo foi salvo quanto a declarada. Um cabeçalho de codificação do servidor tem precedência sobre a configuração meta.

  11. 11
    DesafioMostre marcação como texto

    A página para visitantes deve exibir uma instrução para usar

    em parágrafos. Como seu código-fonte pode incluir essa frase sem criar outro elemento p?

    ---reveal---

    Escreva <p>Use &lt;p&gt; for paragraphs.</p>. As referências exibem os sinais de menor e maior como caracteres. UTF-8 aceita acentos comuns diretamente, mas não impede que um sinal de menor literal inicie uma marcação HTML.

  12. 12
    ExemploInspecione uma lista inesperada

    Suponha que o body inclua este código-fonte:

    <p>Facilities:
      <ul><li>Water tap</li></ul>
    </p>
    

    O navegador fecha o parágrafo quando chega a ul, pois uma lista não pode ser conteúdo de parágrafo. O Inspetor, portanto, mostrará uma estrutura diferente do aninhamento sugerido pelo código-fonte. Uma aparência aceitável na tela não é uma verificação de sintaxe.

  13. 13
    ExemploCorrija a relação no código-fonte

    Separe o parágrafo introdutório e a lista:

    <p>Facilities:</p>
    <ul>
      <li>Water tap</li>
    </ul>
    

    Agora a lista vem depois do parágrafo em vez de ficar dentro dele. Execute o verificador de HTML após salvar. Se ele informar muitos erros, corrija o primeiro e verifique novamente; uma aspa ou tag de fechamento ausente pode explicar várias mensagens posteriores.

  14. 14
    DesafioEscolha a comparação útil

    Um parágrafo aparece vazio no Inspetor, embora o código-fonte pareça envolver uma lista. Quais duas visualizações ajudam você a diagnosticar isso e qual relação deve ser verificada?

    ---reveal---

    Compare Exibir código-fonte da página com a visualização do DOM no painel Elementos ou Inspetor. Verifique se o código-fonte coloca incorretamente uma lista dentro de p. O navegador pode fechar o parágrafo antes dessa lista, fazendo a árvore analisada diferir do aninhamento escrito.

  15. 15
    DesafioRevise a página para visitantes salva

    Uma página tem o título e o idioma corretos, mas uma frase mostra “Café” e o verificador informa uma aspa ausente perto de um link. O que você deve investigar em cada problema?

    ---reveal---

    Para o texto corrompido, compare a codificação em que o arquivo foi salvo com sua declaração UTF-8 e com qualquer cabeçalho do servidor. Corrija a aspa ausente do atributo e valide novamente para verificar os erros de marcação. Configurações de idioma não convertem bytes, e uma página que parece correta não corrige seu código-fonte.

  16. 16
    RecapitulaçãoMantenha as três verificações distintas

    Leia os elementos e atributos para verificar a estrutura. Faça a codificação do texto salvo corresponder à sua declaração e use atributos de idioma para o idioma. Compare o código-fonte, o DOM e as mensagens do verificador quando o resultado for inesperado.

    Salve as alterações antes de atualizar o navegador. A validação da sintaxe é uma verificação; ler os títulos da página, os textos dos links e as descrições das imagens para avaliar seu significado é outra tarefa que você ainda precisa fazer.

2

Transforme um artigo curto em texto estruturado

14 passos
Crie um esquema de títulos para um artigo, adicione texto em linha com significado e organize uma lista com itens subordinados.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoDê um mapa aos leitores
  2. 2
    ExemploComece pelo esquema de títulos
  3. 3
    ExemploAdicione os parágrafos
  4. 4
    DesafioRetorne a uma seção principal
  5. 5
    ExplicaçãoMarque um aviso por seu significado
  6. 6
    ExemploCite um conselho curto
  7. 7
    ExemploExplique código sem executá-lo
  8. 8
    DesafioSepare datas visíveis e legíveis por máquina
  9. 9
    ExplicaçãoEscolha uma coleção ou sequência
  10. 10
    ExemploMantenha itens relacionados juntos
  11. 11
    DesafioContinue um procedimento numerado
  12. 12
    ConexãoAssocie rótulos a informações
  13. 13
    DesafioRevise as escolhas do artigo
  14. 14
    RecapitulaçãoLeia a estrutura em voz alta
3

Conecte um pequeno site sem rotas quebradas

13 passos
Acompanhe caminhos a partir de uma página em uma pasta aninhada, melhore os nomes de seus links e crie navegação com destinos internos funcionais.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoConecte páginas e seções de páginas
  2. 2
    ExemploLocalize a pasta inicial
  3. 3
    ExemploSuba e selecione o destino
  4. 4
    DesafioAcompanhe um caminho mais profundo
  5. 5
    ExplicaçãoDeixe o destino claro
  6. 6
    ExemploInforme a abertura de uma nova aba
  7. 7
    DesafioEscolha entre navegação e ação
  8. 8
    ExemploCrie o menu do site
  9. 9
    ExemploAdicione um caminho de sumário local
  10. 10
    ExemploCrie um caminho para passar pelo menu
  11. 11
    DesafioEncontre o indicador incorreto da página atual
  12. 12
    DesafioRevise um bloco de navegação copiado
  13. 13
    RecapitulaçãoVerifique cada rota a partir de sua página inicial
4

Escolha uma imagem e dê a ela uma alternativa útil

10 passos
Prepare uma fotografia para uma página, reserve sua proporção e escolha um texto adequado à função da imagem.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoPrepare o arquivo e seu significado
  2. 2
    ExemploLocalize a fotografia da entrada
  3. 3
    ExemploReserve a mesma proporção
  4. 4
    DicaReduza os bytes antes de adicionar a marcação
  5. 5
    DesafioEscolha o carregamento para duas posições
  6. 6
    ExplicaçãoEscreva de acordo com a função da imagem
  7. 7
    ExemploSepare a legenda da alternativa
  8. 8
    DesafioDê nome a um link de logotipo
  9. 9
    DesafioRevise uma figura mais abaixo na página
  10. 10
    RecapitulaçãoRevise a imagem sem vê-la
5

Crie uma página a partir de um plano de conteúdo

12 passos
Escolha regiões e contêineres de conteúdo e monte uma pequena página de evento em uma ordem de leitura que faça sentido.

Salve esta aula para seguir cada Lição Interativa passo a passo.

  1. 1
    IntroduçãoPlaneje uma página de evento
  2. 2
    ExemploEscolha as regiões externas
  3. 3
    ExplicaçãoDiferencie cabeçalhos de página e de artigo
  4. 4
    DesafioMantenha main no lugar correto
  5. 5
    ExemploDecida se o evento faz sentido por si só
  6. 6
    ExemploEscreva as relações entre títulos
  7. 7
    DesafioEscolha a marcação de contato pela finalidade
  8. 8
    ExemploMonte a página de fora para dentro
  9. 9
    ExemploConecte o conteúdo dentro de main
  10. 10
    DicaMantenha consistentes as cópias das páginas
  11. 11
    DesafioRevise a estrutura completa
  12. 12
    RecapitulaçãoLeia antes de estilizar

Questões de HTML

50 Questões de Prática em 5 conjuntos

Conjunto 1: Encontre problemas em uma página funcional10 Questões de Prática

Questão 1 de 10

Um arquivo é salvo como Windows-1252, contém palavras acentuadas e declara UTF-8. Não há cabeçalho de codificação do servidor. O navegador mostra caracteres de substituição. O que resolve a incompatibilidade?
  1. Adicionar lang="en-US" sem salvar o arquivo novamente.
  2. Salvar novamente como UTF-8 e manter a declaração UTF-8.
  3. Transformar cada parágrafo em um elemento pre.
  4. Mover a mesma declaração de charset para o body.
Mostrar respostaOcultar resposta
Resposta: B
Os bytes devem corresponder à codificação declarada, então salve o arquivo como UTF-8 além de declarar UTF-8. Alterar lang pode afetar o tratamento do idioma, mas não pode converter os bytes armazenados. Mover a declaração também deixaria a incompatibilidade original de codificação sem solução.

Questão 2 de 10

Um verificador de HTML informa muitos erros depois de um link. O link começa com <a href="notes.html>Notes</a>. O que você deve corrigir primeiro?
  1. A aspa de fechamento ausente em href.
  2. A quantidade de letras no texto do link.
  3. A ausência de uma class na âncora.
  4. A ausência de um title na âncora.
Mostrar respostaOcultar resposta
Resposta: A
A aspa ausente pode fazer com que a marcação seguinte seja analisada como parte do valor de href. Feche o valor corretamente e valide novamente antes de corrigir as mensagens posteriores. Uma class ou um title é opcional e não corrigiria a sintaxe quebrada do atributo.

Questão 3 de 10

Qual elemento marca uma quebra de linha do conteúdo entre os versos de um poema?
  1. <p>
  2. <hr>
  3. <br>
  4. <hgroup>
Mostrar respostaOcultar resposta
Resposta: C
Br marca uma quebra de linha dentro do conteúdo, o que é adequado para os versos de um poema. Hr marca uma mudança temática, não cada nova linha de texto. Um novo parágrafo é útil para um novo bloco de texto relacionado, mas não é o mesmo que uma quebra de linha dentro desse bloco.

Questão 4 de 10

Quais números aparecem nos três itens de <ol start="6"><li>A</li><li value="11">B</li><li>C</li></ol>?
  1. 6, 7, 8
  2. 6, 11, 8
  3. 1, 11, 12
  4. 6, 11, 12
Mostrar respostaOcultar resposta
Resposta: D
A lista começa em 6, depois o valor do segundo item redefine a contagem para 11. O próximo item comum continua a partir dessa redefinição, então é 12. Voltar a 8 ignoraria incorretamente o efeito do atributo value sobre a sequência seguinte.

Questão 5 de 10

Um logotipo de site é o único conteúdo de um link para a página inicial. Qual texto alternativo dá a esse link um nome útil?
  1. “Página inicial do Jardim do Prado”
  2. “Imagem do logotipo do jardim”
  3. “Logotipo do jardim: logo.svg”
  4. “Círculo verde, folha branca”
Mostrar respostaOcultar resposta
Resposta: A
Em um link que contém apenas uma imagem, o texto alternativo torna-se o nome acessível do link, então deve indicar o destino. “Página inicial do Jardim do Prado” permite que o leitor decida se quer segui-lo. Descrever o círculo verde descreveria a aparência sem identificar para onde o link leva.

Questão 6 de 10

Uma página tem um menu principal, um sumário e um link para pular blocos de conteúdo como primeiro elemento no body. O link usa href="#reading", enquanto main tem id="article". Qual mudança faz o link chegar à região principal?
  1. Dar ao link title="article".
  2. Dar ao nav aria-current="reading".
  3. Alterar o id de main para reading.
  4. Dar a main class="reading" e manter seu id.
Mostrar respostaOcultar resposta
Resposta: C
O fragmento deve corresponder ao id único do destino, então #reading precisa de id="reading" em main. Uma classe com esse nome não se torna o destino do fragmento. Rótulos de navegação e indicadores de página atual resolvem outros problemas e não corrigem essa incompatibilidade de destino.

Questão 7 de 10

A legenda de uma foto é “Inspeção da ponte, junho de 2026”. A foto mostra uma rachadura que atravessa um apoio. Qual texto alternativo útil acrescenta a informação da imagem?
  1. “Inspeção da ponte, junho de 2026”
  2. “Uma rachadura que atravessa um apoio da ponte”
  3. “Foto chamada bridge-inspection.jpg”
  4. “Imagem com uma legenda abaixo”
Mostrar respostaOcultar resposta
Resposta: B
A rachadura é a informação fornecida pela foto, enquanto a legenda já informa a atividade e a data. Descrever a rachadura permite que a pessoa entenda o que a imagem acrescenta. Repetir a legenda duplicaria o contexto sem substituir a evidência visível na foto.

Questão 8 de 10

Uma página tem o h1 “História local” e depois o h2 “Transporte”, que contém matérias reutilizáveis separadamente. Um contêiner ao redor das matérias existe apenas para estilização e não tem tema próprio. Quais elemento para as matérias, nível de título e contêiner são adequados?
  1. Section para cada matéria, h3 para seu título e div para o contêiner.
  2. Article para cada matéria, h2 para seu título e div para o contêiner.
  3. Article para cada matéria, h3 para seu título e div para o contêiner.
  4. Article para cada matéria, h3 para seu título e section para o contêiner.
Mostrar respostaOcultar resposta
Resposta: C
Uma matéria reutilizável separadamente corresponde a article, com h3 para colocá-la abaixo do h2 Transporte. O contêiner é neutro porque serve apenas para estilização, então div é adequado. Um contêiner section indicaria um grupo temático que, segundo a questão, não existe.

Questão 9 de 10

Depois que uma página passa na validação de sintaxe, qual verificação ainda pode encontrar um problema de conteúdo que a validação não consegue avaliar?
  1. Avaliar o texto alternativo no contexto da página.
  2. Contar as aspas nos atributos.
  3. Verificar se há tag de fechamento em cada elemento vazio.
  4. Verificar se há espaços em cada nome de elemento.
Mostrar respostaOcultar resposta
Resposta: A
Uma pessoa deve avaliar se o texto alternativo transmite a informação útil em seu contexto real. Uma sintaxe válida pode incluir um valor alt presente, mas pouco útil. Verificar as aspas dos atributos é útil durante a validação da marcação, mas não determina se uma descrição de imagem tem significado.

Questão 10 de 10

Um arquivo HTML tem um head longo, e sua declaração completa de charset termina no byte 1500. Qual mudança corrige a posição da declaração?
  1. Mover a declaração de charset para o body.
  2. Substituir a declaração por um atributo title em html.
  3. Mantê-la ali e adicionar um segundo title antes dela.
  4. Mover a declaração para o início do head.
Mostrar respostaOcultar resposta
Resposta: D
A declaração completa de codificação deve aparecer nos primeiros 1.024 bytes do documento. Colocá-la primeiro no head a traz para dentro desse limite. Adicionar um segundo title não ajudaria o navegador a descobrir a codificação mais cedo e introduziria outro problema de marcação.
Conjunto 2: Leia e crie uma pequena página web10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Uma página em inglês contém um parágrafo em espanhol. Qual atributo deve ficar nesse parágrafo?
  1. lang="es"
  2. lang="en"
  3. dir="es"
  4. charset="es"
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Uma página tem um <h1> chamado “Conserte uma bicicleta” e um <h2> chamado “Verifique os freios”. Qual nível é adequado para uma nova subseção chamada “Ajuste o cabo” dentro da seção sobre freios?
  1. h1
  2. h2
  3. h3
  4. h4
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

Uma página apresenta etapas de montagem que devem ser concluídas em sequência. Qual estrutura é adequada para as etapas?
  1. Um <ul> contendo itens <li>.
  2. Um <ol> contendo itens <li>.
  3. Um <dl> associando <dt> e <dd>.
  4. Um <p> contendo quebras <br>.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

O arquivo guides/cycling.html precisa de um link para contact.html na pasta superior do site. Qual href relativo chega a esse arquivo?
  1. ../contact.html
  2. contact.html
  3. guides/contact.html
  4. ../../contact.html
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Um link abre um PDF de 900 kB com o mapa para visitantes de um museu. Qual texto de link o descreve claramente por si só?
  1. “Clique aqui para informações aos visitantes”
  2. “Leia mais sobre a visita hoje”
  3. “Informações para visitantes do museu aqui”
  4. “Mapa para visitantes do museu (PDF, 900 kB)”
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Uma fotografia tem 1500 × 1000 pixels. Qual par de atributos a exibe com largura de 450 pixels, preservando sua proporção?
  1. width="450" height="450"
  2. width="450" height="1000"
  3. width="450" height="300"
  4. width="450" height="225"
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Um pequeno ornamento não acrescenta informação entre dois parágrafos. Qual atributo alt seu <img> deve ter?
  1. Nenhum atributo alt.
  2. alt="Flourish"
  3. alt="decoration.png"
  4. alt=""
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Uma página de galeria repete o mesmo menu do site em todas as páginas. Seu conteúdo exclusivo é uma descrição de exposição, com leituras relacionadas opcionais. Qual estrutura separa melhor essas funções?
  1. Menu em nav; exposição em main; leituras relacionadas em aside.
  2. Menu em aside; exposição em nav; leituras relacionadas em main.
  3. Exposição em header; menu em main; leituras relacionadas em nav.
  4. Menu e exposição em main; leituras relacionadas em footer.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Qual visualização do navegador mostra a árvore de elementos analisada após os reparos automáticos da marcação?
  1. A visualização do código-fonte da página.
  2. O painel Elementos do navegador.
  3. A lista de downloads.
  4. A barra de favoritos.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Onde <title>Trail Map – Pine Park</title> deve ficar em um documento comum?
  1. Dentro do primeiro título no body.
  2. Dentro do nav, antes dos links.
  3. Dentro do footer, após os direitos autorais.
  4. Dentro do head, junto aos metadados.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 3: Escolha a marcação adequada ao conteúdo10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

O que acontece com uma lista de três itens escrita como <ol reversed="false">?
  1. Ela conta em ordem crescente de 1 a 3.
  2. Ela oculta os números de todos os itens.
  3. Ela conta em ordem decrescente de 3 a 1.
  4. Ela conta em ordem decrescente de 0 a −2.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Por que <p>Keep <em>this</p></em> tem aninhamento incorreto?
  1. O parágrafo fecha antes de seu filho em fechar.
  2. O elemento em começa depois do início do parágrafo.
  3. O elemento em contém texto em vez de um atributo.
  4. O parágrafo contém mais de uma palavra.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

Um aviso diz “Você deve devolver a chave” e marca a instrução como importante, sem mudar qual palavra recebe ênfase na fala. Qual elemento é adequado para a instrução importante?
  1. <mark>
  2. <em>
  3. <i>
  4. <strong>
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Um artigo deve mostrar o código literal <em>go</em> com seu espaçamento preservado em um bloco de código. Qual marcação consegue isso?
  1. <pre><code><em>go</em></code></pre>
  2. <pre><code>&lt;em&gt;go&lt;/em&gt;</code></pre>
  3. <code><pre><em>go</em></pre></code>
  4. <p><code><em>go</em></code></p>
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Em events.html, o menu do site contém links para Início, Eventos e Contato. Qual link deve ter aria-current="page"?
  1. O link Início.
  2. O link Contato.
  3. O link Eventos do menu do site.
  4. Os três links.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Uma página em https://example.com/help/topics/edit.html contém um link para ../index.html#files. Para onde o link leva?
  1. https://example.com/index.html#files
  2. https://example.com/help/index.html#files
  3. https://example.com/help/topics/index.html#files
  4. https://example.com/help/topics/edit.html#files
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Qual formato é uma opção vetorial para um logotipo simples de site que deve permanecer nítido em diferentes tamanhos?
  1. JPEG
  2. GIF
  3. PNG
  4. SVG
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Uma seção “Notícias da comunidade” contém três matérias completas que poderiam ser republicadas separadamente. Qual elemento é adequado para cada matéria?
  1. <article>
  2. <nav>
  3. <span>
  4. <address>
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Um site estático repete um cabeçalho e um rodapé em cinco páginas. Qual identidade ainda deve ser específica de cada página?
  1. O mesmo title com um meta charset diferente.
  2. O mesmo h1 com nomes de classe globais diferentes.
  3. Seu próprio título de documento e título principal h1.
  4. Seu próprio doctype e uma codificação de arquivo diferente.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Uma pessoa espera que <aside> apareça em uma coluna à direita, mas ele aparece abaixo do texto principal. O que explica isso?
  1. O aside deve ser alterado para um elemento nav.
  2. A função semântica e a posição CSS são distintas.
  3. O aside deve ser movido para o elemento head.
  4. O elemento main impede todas as colunas laterais.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 4: Acompanhe estrutura, caminhos e comportamento da página10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Um navegador mostra uma lista depois de uma frase introdutória, mas o código-fonte coloca a lista inteira dentro de um parágrafo. Por que a exibição não comprova que o aninhamento é válido?
  1. O navegador ignora todas as tags de lista em parágrafos.
  2. O navegador converte todos os parágrafos em div.
  3. O navegador pode fechar o parágrafo antes da lista.
  4. O navegador trata todos os itens de lista como títulos.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Uma pessoa escreve <p id="notice" class=intro important>Bring ID.</p> e depois <aside id="notice">...</aside>. Quais duas edições dão ao parágrafo as duas classes pretendidas e mantêm os identificadores válidos?
  1. Colocar aspas em class="intro important"; dar ao aside outro id.
  2. Colocar aspas em class="intro"; dar aos dois elementos o id “important”.
  3. Colocar aspas em class="intro important"; manter os dois ids como “notice”.
  4. Manter a marcação de class; mudar o aside para class="notice".
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

A sequência de títulos é h1 “Observação de aves”, h2 “Equipamentos”, h3 “Binóculos”, h4 “Foco” e depois “Locais”, uma nova seção principal. Qual nível é adequado para “Locais” e por quê?
  1. h3, porque deve permanecer abaixo de Binóculos.
  2. h4, porque tamanho igual significa nível igual.
  3. h5, porque cada novo título desce um nível.
  4. h2, porque está no mesmo nível de Equipamentos.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

O que <cite> identifica em um texto HTML?
  1. O nome da pessoa que fez uma citação.
  2. O título de uma obra, como o nome de um livro.
  3. A URL de destino de cada hiperlink.
  4. A ênfase na fala de uma palavra em uma frase.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Uma lista de três itens usa <ol reversed start="9">; o segundo item tem value="5". Quais são os números exibidos nos itens?
  1. 9, 5, 6
  2. 3, 5, 4
  3. 9, 5, 4
  4. 9, 8, 7
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Uma página está em https://example.com/library/topics/birds.html. Ela deve ter um link para o elemento id="access" em https://example.com/visit.html. Qual href relativo faz isso?
  1. ../../visit.html#access
  2. ../visit.html#access
  3. ../../visit.html?access
  4. ../../visit.html/access
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Um menu da página inicial é copiado sem alterações para journal/entry.html. Seu link Início é href="index.html"; seu link Diário é href="journal/index.html". Qual par de hrefs relativos chega à página inicial no nível superior e ao índice do diário a partir da publicação?
  1. Início index.html; Diário journal/index.html.
  2. Início ../index.html; Diário ../index.html.
  3. Início ../../index.html; Diário index.html.
  4. Início ../index.html; Diário index.html.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Uma página exibe uma fotografia de 6 MB em tamanho pequeno usando os atributos width e height. Por que ela ainda baixa 6 MB?
  1. Os atributos escolhem um formato sem compressão.
  2. Os atributos alteram o tamanho exibido, não os bytes do arquivo.
  3. Os atributos obrigam o navegador a carregá-la duas vezes.
  4. Os atributos removem toda a compressão da imagem.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Uma imagem mostra as palavras “Use a entrada norte” em uma placa temporária. A mensagem da placa é necessária para entrar no edifício. O que seu texto alternativo deve transmitir?
  1. “Placa temporária retangular”
  2. “Placa com palavras impressas”
  3. “Use a entrada norte”
  4. “Arquivo na pasta de imagens”
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Um artigo tem seu próprio header com título e data, dentro da região principal da página. Qual é o comportamento desse header como região de referência?
  1. Ele não é a região de referência de cabeçalho da página.
  2. Ele se torna uma segunda região de referência principal.
  3. Ele se torna a região de referência de navegação da página.
  4. Ele substitui a região de cabeçalho externa da página.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Conjunto 5: Revise um site antes de adicionar CSS10 Questões de Prática

Salve esta aula para ver todas as respostas e praticar cada conjunto.

Questão 1 de 10

Um parágrafo deve dar importância acentuada apenas à expressão “código de acesso” e ter as duas classes “notice” e “urgent”. Qual marcação atende aos dois requisitos com aninhamento correto?
  1. <p class="notice urgent"><strong>Keep the access code.</strong></p>
  2. <p class="notice urgent">Keep the <strong>access code</strong>.</p>
  3. <p class=notice urgent>Keep the <strong>access code</strong>.</p>
  4. <p class="notice urgent">Keep the <strong>access code.</p></strong>
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 2 de 10

Uma página tem o título visível “Acessibilidade”, mas sua aba no navegador ainda mostra “Sem título”. Qual edição corrige a aba e mantém o título visível?
  1. Adicionar title="Accessibility" ao body.
  2. Alterar o elemento h1 para um elemento header.
  3. Colocar outro elemento h1 dentro do head.
  4. Alterar o texto de title no head para “Acessibilidade, Museu da Cidade”.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 3 de 10

Qual código-fonte HTML exibe a frase literal Use <aside> here como conteúdo de parágrafo?
  1. <p>Use <aside> here</p>
  2. <p>Use &amp;aside; here</p>
  3. <p>Use &lt;aside&gt; here</p>
  4. <p>Use &quot;aside&quot; here</p>
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 4 de 10

Uma página cita uma frase curta dentro de um parágrafo e depois informa o romance de onde ela veio e seu autor. Qual combinação marca corretamente a citação e o título da obra?
  1. Colocar a frase em q, o título do romance em cite e o autor em texto comum.
  2. Colocar a frase em q, o autor em cite e o título do romance em texto comum.
  3. Colocar a frase em cite, o título do romance em q e o autor em texto comum.
  4. Colocar a frase em blockquote dentro de p, o título do romance em cite e o autor em q.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 5 de 10

Uma página lista “Ferramentas” e “Materiais” como categorias de mesmo nível cuja ordem não importa. Ferramentas contém um procedimento de configuração de duas etapas que deve ser realizado em sequência. Qual lista externa e estrutura aninhada expressam essas relações?
  1. Usar ul externo; colocar o ol interno diretamente ao lado do li Ferramentas.
  2. Usar ul externo; colocar o ul interno dentro do li Ferramentas.
  3. Usar ol externo; colocar o ol interno dentro do li Ferramentas.
  4. Usar ul externo; colocar o ol interno dentro do li Ferramentas.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 6 de 10

Uma página em https://example.com/notes/entry.html precisa de um link externo para https://example.org/help. A pessoa escreve href="example.org/help". Para onde o link escrito é resolvido e o que o corrige?
  1. Ele aponta para example.org; adicione um fragmento para selecionar a seção de ajuda.
  2. Ele aponta para dentro de example.com/notes; use a URL https completa de example.org.
  3. Ele aponta para example.com/help; adicione ../ antes do caminho escrito.
  4. Ele aponta para example.org/notes; comece o caminho com uma barra.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 7 de 10

Um controle expande uma resposta de perguntas frequentes na página sem navegar para outro lugar. Qual controle HTML é adequado para essa ação?
  1. Uma âncora com href="#".
  2. Uma âncora sem href.
  3. Um elemento button.
  4. Um elemento nav.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 8 de 10

Uma página longa tem uma foto visível imediatamente e uma galeria bem abaixo. Ambas usam arquivos originais grandes de câmera e omitem dimensões. Qual plano melhora os downloads e a estabilidade do carregamento sem atrasar a primeira foto?
  1. Redimensionar e comprimir os arquivos, adicionar dimensões proporcionais e usar carregamento tardio apenas na galeria mais abaixo.
  2. Manter os originais, adicionar dimensões proporcionais e usar carregamento tardio na primeira foto e na galeria.
  3. Redimensionar os arquivos, omitir dimensões e usar carregamento tardio apenas na primeira foto acima da galeria.
  4. Manter os originais, definir dimensões quadradas e usar carregamento tardio apenas na galeria mais abaixo.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 9 de 10

Um parágrafo menciona o endereço de rua onde ocorreu um festival histórico. Ele não é uma informação de contato da página ou de um artigo. <address> é adequado para essa menção?
  1. Sim, porque todo endereço de rua precisa da marcação address.
  2. Sim, porque address fornece uma função de localização geográfica.
  3. Não, porque address só pode aparecer em um cabeçalho de página.
  4. Não; a menção a um local não é informação de contato.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Questão 10 de 10

Uma receita em recipes/stew.html usa index.html no link Início, marca o índice de receitas com aria-current="page" e coloca uma etapa necessária de preparo em aside. Qual plano de revisão corrige as três relações de conteúdo?
  1. Manter Início, remover aria-current e mover a etapa de preparo para o footer.
  2. Usar ../index.html para Início, manter aria-current e mover a etapa para main.
  3. Usar ../index.html para Início, remover o indicador atual incorreto e colocar a etapa na receita.
  4. Usar /recipes/index.html para Início, marcá-lo como atual e colocar a etapa na receita.
Mostrar respostaOcultar resposta

Salve esta aula para ver esta resposta.

Travou em uma questão sua? Ajuda com Tarefas

Termos-Chave

99 Termos-Chave, cada um com sua definição

A

Abreviação
Uma abreviação é uma forma reduzida marcada com abbr; um atributo title pode fornecer sua forma completa, que também deve estar visível quando ela for apresentada.
Uma abreviação como “OMS” fica mais clara quando sua forma completa aparece no texto ao redor.
Aninhamento
O aninhamento coloca um elemento dentro de outro, criando relações entre pai e filho cujas tags são fechadas de dentro para fora.
Um aninhamento correto fecha <strong> antes de fechar o parágrafo que o contém.
Artigo
Um artigo é uma composição independente que pode fazer sentido sozinha ou ser reutilizada separadamente, como uma matéria, receita ou comentário.
Cada matéria completa em uma seção “Últimas notícias” pode ser marcada como artigo.
Atributo
Um atributo fornece informação adicional sobre um elemento e é escrito dentro de sua tag de abertura, após o nome do elemento.
O atributo href em um link fornece o endereço que o navegador deve abrir.
Atributo booleano
Um atributo booleano é ativado por sua presença e desativado por sua ausência, independentemente de um valor que pareça falso.
O atributo booleano reversed continua invertendo a numeração quando escrito como reversed="false".
Atributo download
O atributo download solicita que um recurso vinculado seja salvo e pode sugerir um nome de arquivo, sujeito às regras do navegador e da origem.
Um link para um PDF da mesma origem pode usar o atributo download com um nome sugerido para o documento.
Atributo global
Um atributo global pode ser usado em elementos HTML de modo geral, como id, class, lang, title ou hidden.
O atributo global id pode identificar um título ou a região principal como destino de um fragmento.

Á

Área de visualização (viewport)
A área de visualização é a área do navegador usada para exibir uma página; seus metadados ajudam o layout móvel a usar a largura do dispositivo.
O elemento meta da área de visualização impede que muitos navegadores móveis reduzam uma visualização com largura de computador.

B

Botão
Um botão é um controle interativo para uma ação, como expandir conteúdo, em vez de navegar para outro destino.
Um botão é adequado para um controle de perguntas frequentes que abre uma resposta sem levar o leitor a outro lugar.

C

Cabeçalho
Um cabeçalho introduz sua página ou a seção ou o artigo mais próximo, frequentemente contendo um título, informações de identidade ou navegação.
Um cabeçalho de página pode conter o logotipo de um site, enquanto o cabeçalho de um artigo pode conter seu título e sua data.
Cabeçalho do documento (head)
O cabeçalho do documento é a parte de um documento HTML que contém metadados sobre a página, separada do conteúdo visível de seu body.
O head de um documento contém sua declaração de caracteres, seu título e a folha de estilo vinculada.
Carregamento tardio (lazy loading)
O carregamento tardio adia a busca de uma imagem até que ela esteja perto da área de visualização do visitante, usando loading com o valor lazy.
Imagens de galeria mais abaixo são adequadas ao carregamento tardio, enquanto uma foto visível na primeira tela deve carregar normalmente.
Citação em bloco
Uma citação em bloco é um trecho citado mais longo, destacado com blockquote; a atribuição visível fica fora do conteúdo citado.
Uma citação em bloco pode conter uma URL de fonte em cite, enquanto um parágrafo seguinte nomeia a obra.
Citação em linha
Uma citação em linha é uma citação curta dentro de uma frase, marcada com q para que o navegador forneça as aspas.
Uma citação em linha não deve ter outro par de aspas digitado ao redor das mesmas palavras.
Codificação de caracteres
Uma codificação de caracteres é o conjunto de regras usado para transformar caracteres em bytes armazenados e decodificar esses bytes novamente em texto.
Uma incompatibilidade de codificação pode fazer texto acentuado aparecer como caracteres inesperados.
Compressão com perdas
A compressão com perdas reduz o tamanho do arquivo descartando alguns detalhes da imagem, criando uma relação entre qualidade e tamanho útil para fotografias.
JPEG usa compressão com perdas, então reduzir a qualidade repetidamente pode remover detalhes visíveis.
Compressão sem perdas
A compressão sem perdas reduz o tamanho armazenado preservando os dados da imagem, o que é útil para gráficos nítidos e capturas de tela.
PNG usa compressão sem perdas e permite transparência para o fundo de um diagrama.
Conteúdo complementar (aside)
Um aside contém conteúdo complementar relacionado indiretamente, como links relacionados, sem retirar explicações essenciais do fluxo principal.
Um aside pode sugerir outros artigos enquanto o artigo atual continua compreensível por si só.
Contexto de navegação
Um contexto de navegação é um local em que o navegador exibe um documento, como uma aba ou janela selecionada pelo target de um link.
O valor de target _blank solicita um novo contexto de navegação em vez do atual.
Corpo do documento
O corpo do documento é a parte de um documento HTML que contém o conteúdo da página, incluindo títulos, parágrafos, imagens e navegação.
Um título principal visível pertence ao body, mesmo que nomeie a página.

D

Data legível por máquina
Uma data legível por máquina expressa uma data em formato padronizado para programas, fornecida por datetime em um elemento time.
Uma data legível por máquina como 2026-03-14 pode acompanhar o texto visível “March 14, 2026”.
Declaração de tipo de documento (doctype)
O doctype é a declaração no início de um documento HTML que informa ao navegador que deve usar o modo de padrões.
A página começa com <!DOCTYPE html> antes de seu elemento raiz e seus metadados.
Descrição do termo
Uma descrição do termo fornece a explicação ou informação associada a um termo por meio de dd em uma lista de descrições.
Uma descrição do termo pode fornecer uma definição para o dt imediatamente anterior.
Deslocamento de layout
Um deslocamento de layout é o movimento do conteúdo exibido quando o espaço muda, como quando uma imagem carrega sem dimensões reservadas.
Fornecer width e height a uma imagem ajuda a evitar um deslocamento de layout no texto abaixo dela.
Destaque contextual
Um destaque contextual marca por meio de mark um texto relevante em seu contexto atual, como um termo encontrado em uma busca.
Um destaque contextual pode indicar uma correspondência de busca sem declará-la urgente.
Direção base do texto
A direção base do texto define a direção geral de um trecho, da esquerda para a direita ou da direita para a esquerda, afetando a pontuação e textos mistos.
Uma página em árabe usa dir="rtl" para definir sua direção base do texto junto com lang="ar".

E

Elemento
Um elemento é uma unidade estrutural do HTML, geralmente composta por uma tag de abertura, conteúdo e uma tag de fechamento.
O elemento <p>Welcome.</p> identifica a saudação como um parágrafo do conteúdo da página.
Elemento code
O elemento code identifica código de computador no texto ou dentro de um bloco pré-formatado, sem preservar por si só todo o espaçamento do código-fonte.
Uma frase usa o elemento code ao nomear a marcação necessária para um parágrafo.
Elemento div
Um div é um contêiner de bloco neutro usado quando nenhum elemento semântico é adequado, frequentemente para agrupar conteúdo para estilização ou layout.
Um div pode agrupar duas caixas para uso posterior de CSS sem afirmar que elas formam uma seção temática.
Elemento raiz
O elemento raiz é o elemento no topo da árvore do documento; em HTML, é html, que envolve head e body.
O elemento raiz <html lang="en"> também declara o idioma padrão da página.
Elemento semântico
Um elemento semântico nomeia a função ou o significado de seu conteúdo, permitindo que navegadores e tecnologia assistiva usem essa estrutura.
O elemento semântico nav identifica um menu com mais clareza do que um contêiner div genérico.
Elemento span
Um span é um contêiner neutro em linha que pode receber um atributo sem atribuir significado adicional a parte de uma frase.
Um span com lang="fr" pode identificar uma expressão curta em francês dentro de um parágrafo em inglês.
Elemento vazio
Um elemento vazio é um elemento HTML sem conteúdo e sem tag de fechamento, como uma imagem ou uma quebra de linha.
A imagem é um elemento vazio, então escreva <img> sem uma tag de fechamento correspondente.
Esboço estrutural (wireframe)
Um esboço estrutural é um plano simples de página que mostra regiões como caixas para que as funções de seu conteúdo sejam decididas antes da marcação e da estilização.
Um esboço estrutural pode identificar o cabeçalho, o menu, o conteúdo principal e o rodapé antes de qualquer código ser escrito.
Espaço não separável
Um espaço não separável mantém as palavras ou os símbolos dos dois lados juntos na mesma linha, em vez de permitir uma quebra de linha nesse ponto.
Em 10&nbsp;km, um espaço não separável mantém o número ao lado de sua unidade de medida.
Esquema de títulos
Um esquema de títulos é o conjunto ordenado dos níveis e assuntos dos títulos de uma página, revelando como seu conteúdo é agrupado.
Em uma página de receita, um esquema de títulos com Ingredientes e Modo de preparo abaixo do título da receita orienta a marcação final da página.
Esquema de URL
Um esquema de URL identifica o tipo de destino ou protocolo antes dos dois-pontos, como https, mailto ou tel.
O esquema mailto: solicita a um aplicativo de e-mail que prepare uma mensagem para o endereço que vem em seguida.
Etiqueta de idioma
Uma etiqueta de idioma identifica o idioma do conteúdo, podendo incluir uma região ou escrita, como em en-US ou zh-Hans.
A etiqueta de idioma fr-CA identifica o francês usado no Canadá, não a localização do leitor.
Exibir código-fonte da página (View Page Source)
Exibir código-fonte da página é uma visualização do HTML recebido pelo navegador, antes da exibição da estrutura do DOM analisado e dos reparos automáticos.
Compare Exibir código-fonte da página com o Inspetor quando um elemento aparecer sob o pai errado.

Ê

Ênfase de entonação
A ênfase de entonação destaca palavras cuja ênfase na fala altera o significado ou o foco de uma frase, usando o elemento em.
A ênfase de entonação em “sim” na frase “Eu tranquei, sim” responde a uma dúvida sobre a ação ter acontecido.

F

Figura
Uma figura agrupa conteúdo independente, como uma imagem, um diagrama ou um exemplo de código, com uma legenda opcional usando figure.
Uma figura pode manter uma fotografia de arquivo junto de sua data e crédito visíveis.
Fragmento
Um fragmento é a parte de uma URL após o sinal de cerquilha que pode indicar um elemento de destino por seu id único dentro de um documento.
O fragmento #care aponta para id="care", com o sinal de cerquilha apenas no endereço.

G

Grupo de títulos
Um grupo de títulos combina um título com texto introdutório relacionado, como um subtítulo, usando hgroup e conteúdo de parágrafo.
Um grupo de títulos mantém “Café do Porto” e sua frase de destaque juntos sem inventar outra seção.

H

Hierarquia de títulos
Uma hierarquia de títulos expressa como os assuntos e subassuntos de uma página se relacionam por meio dos níveis dos elementos h1 a h6.
Uma hierarquia de títulos pode colocar “Equipamentos” em h2 e “Binóculos” abaixo dele em h3.
Hiperlink (link)
Um hiperlink é uma conexão com um destino criada por um elemento de âncora com href e texto clicável ou outro conteúdo.
Um hiperlink com o texto “Horário de funcionamento” pode levar a uma página vizinha no mesmo site.

I

Imagem decorativa
Uma imagem decorativa acrescenta aparência sem informação necessária, então uma imagem HTML usada dessa forma tem um valor alt vazio.
Uma imagem decorativa de um ornamento usa alt="" para não acrescentar conteúdo falado desnecessário.
Imagem funcional
Uma imagem funcional exerce uma função, como ser o único conteúdo de um link, então sua alternativa indica o destino ou a ação.
Uma imagem funcional que leva a Início precisa de um nome de página inicial, não apenas das cores de seu logotipo.
Imagem vetorial
Uma imagem vetorial descreve formas em vez de uma grade fixa de pixels, permitindo que uma arte adequada seja dimensionada sem ficar desfocada.
Um logotipo SVG é uma imagem vetorial que pode permanecer nítida em vários tamanhos de exibição.
Importância acentuada
A importância acentuada marca texto como importante, grave ou urgente por meio de strong, independentemente de sua aparência padrão em negrito.
Um aviso pode usar importância acentuada para identificar a instrução que precisa de atenção.
Indicador da página atual
Um indicador da página atual identifica o link para a página exibida por meio de aria-current com o valor page.
Mova o indicador da página atual para Contato quando o visitante abrir a página de contato.
Informações de contato
As informações de contato de um artigo ou página são marcadas com address, que não deve ser usado para todo endereço de rua mencionado.
As informações de contato de um artigo podem conter um link de e-mail de seu autor.
Item de lista
Um item de lista é uma entrada individual em uma lista não ordenada ou ordenada, marcada com li e capaz de conter outros conteúdos.
Um item de lista pode conter seu rótulo e uma lista aninhada de opções abaixo dele.

L

Legenda da figura
Uma legenda da figura é um texto explicativo visível marcado com figcaption como primeiro ou último filho de sua figure.
Uma legenda da figura fornece a data de uma foto enquanto o texto alternativo descreve o que ela mostra.
Licença de uso da imagem
Uma licença de uso da imagem estabelece permissões e condições de reutilização, incluindo qualquer atribuição exigida ao criador.
Verifique a licença de uso da imagem antes de usar uma foto e forneça o crédito exigido por ela.
Linguagem de marcação de hipertexto (HTML)
HTML é a linguagem de marcação que dá estrutura e significado ao conteúdo web por meio de elementos e seus atributos.
Um navegador lê HTML para distinguir os títulos, parágrafos, links e imagens de uma página.
Link para pular blocos de conteúdo (skip link)
Um link para pular blocos de conteúdo aparece no início da página e permite que usuários de teclado passem pelo conteúdo repetido e saltem diretamente para a região principal.
O link para pular blocos de conteúdo aponta para o id único de main, permitindo que o visitante passe por um menu longo e repetido.
Lista aninhada
Uma lista aninhada é uma lista colocada dentro de um item de outra lista, expressando um grupo subordinado ligado a esse item.
Coloque uma lista aninhada de frutas dentro do li “Hortifrúti” antes de fechar esse item pai.
Lista de descrições
Uma lista de descrições agrupa nomes com descrições ou valores, usando dl ao redor de grupos de elementos dt e dd.
Uma lista de descrições pode associar “Horário de fechamento” a “17:00” nos dados de contato de um site.
Lista não ordenada
Uma lista não ordenada agrupa itens cuja sequência não afeta seu significado, usando ul com elementos li para os itens.
Uma lista não ordenada é adequada para ingredientes porque reorganizá-los não altera a coleção.
Lista ordenada
Uma lista ordenada agrupa itens cuja sequência ou classificação importa, usando ol com elementos li e numeração significativa.
Uma lista ordenada é adequada para etapas de montagem que devem ser realizadas em uma sequência específica.

M

Metadados
Metadados são informações sobre um documento, como seu título, codificação de caracteres ou uma breve descrição de seu conteúdo.
Os metadados do head ajudam o navegador a nomear a aba e decodificar o texto da página.
Modelo de objetos do documento (DOM)
O DOM, ou modelo de objetos do documento, é a representação em árvore de um documento feita pelo navegador após a análise sintática de seu HTML.
O Inspetor mostra o DOM, que pode incluir reparos ausentes do código-fonte recebido.
Modo de padrões
O modo de padrões é o modo normal de renderização do navegador para documentos modernos, evitando o comportamento de layout do modo de compatibilidade antigo.
Incluir o doctype moderno mantém uma nova página no modo de padrões.

O

Ordem no código-fonte
A ordem no código-fonte é a sequência do conteúdo no HTML, formando a ordem de leitura usada por leitores de tela e pela navegação por teclado.
Uma ordem coerente no código-fonte mantém uma explicação antes da ação relacionada, mesmo sem estilização visual.
Origem da imagem
A origem da imagem é o endereço do arquivo fornecido pelo atributo src de um elemento img, resolvido pelas mesmas regras de caminho dos links.
Verifique a pasta e as maiúsculas e minúsculas da origem da imagem quando uma foto não carregar.

P

Parágrafo
Um parágrafo é um bloco de texto relacionado marcado com p; parágrafos separados criam uma estrutura de conteúdo independente das quebras de linha do código-fonte.
Dois elementos de parágrafo mantêm uma introdução e uma explicação posterior como blocos de texto distintos.
Proporção entre largura e altura
A proporção entre largura e altura é a relação entre as dimensões de uma imagem que deve ser preservada para evitar a distorção de sua forma.
Uma imagem de 1200 × 800 e uma exibição de 600 × 400 compartilham a mesma proporção de 3:2.

Q

Quebra de linha
Uma quebra de linha move o texto para uma nova linha exibida dentro do mesmo bloco de conteúdo e é marcada com o elemento vazio br.
Um poema usa uma quebra de linha quando a linha seguinte pertence à mesma estrofe.
Quebra temática
Uma quebra temática marca uma mudança de assunto ou cena dentro do texto, usando hr em vez de apenas desenhar uma linha decorativa.
Uma história pode usar uma quebra temática quando sua ação se desloca para outro lugar.

R

Recuperação de erros
A recuperação de erros é o tratamento de marcação incorreta pelo navegador com base em regras, permitindo que ele construa uma página apesar dos erros no código-fonte.
A recuperação de erros pode fechar um parágrafo automaticamente quando o navegador encontra uma lista.
Referência de caractere
Uma referência de caractere representa um caractere usando uma sintaxe HTML que começa com um e comercial, como < para um sinal de menor.
A referência de caractere &lt; permite que uma página mostre um sinal de menor sem iniciar uma tag.
Região de navegação
Uma região de navegação agrupa links principais de navegação usando nav, permitindo que a tecnologia assistiva identifique sua finalidade e localização.
Uma região de navegação pode conter o menu do site ou o sumário de um artigo longo.
Região de pesquisa
Uma região de pesquisa agrupa conteúdo de pesquisa ou filtragem usando search e fornece uma região de referência de pesquisa para a tecnologia assistiva.
A região de pesquisa de um site tem uma função diferente de seu menu de destinos conhecidos.
Região de referência (landmark)
Uma região de referência é uma região significativa da página que a tecnologia assistiva pode oferecer como destino direto de navegação.
A lista de regiões de referência de um leitor de tela pode permitir que um visitante salte para main ou para a navegação.
Região principal
A região principal contém conteúdo exclusivo da página e é marcada com main, com uma dessas regiões visível em uma página comum.
A região principal de uma página de receita contém a receita, não o menu repetido em todo o site.
Relação noopener
Noopener é uma relação de link que impede uma página recém-aberta de controlar a página original por meio de sua referência à página que a abriu.
Escrever rel="noopener" explicitamente protege a página que abriu o link, embora links _blank modernos já impliquem essa proteção.
Relação noreferrer
Noreferrer é uma relação de link que suprime informações de referenciador e também protege contra o acesso à página que abriu o link.
Um link noreferrer não envia ao destino o endereço da página de origem.
Rodapé
Um rodapé fornece informações sobre sua página ou seção, como dados de contato, informações sobre o autor ou aviso de direitos autorais.
Em uma página de receita, um rodapé de página pode repetir os dados de contato do site sem se tornar parte da receita.
Rótulo da região de navegação
Um rótulo da região de navegação nomeia uma região nav por meio de aria-label para que os leitores diferenciem grupos com finalidades distintas.
Um rótulo de navegação “Contents” distingue o sumário da página do menu “Main” do site.

S

Seção
Uma seção agrupa um tema dentro de uma página ou composição maior, normalmente com um título que explica o assunto do grupo.
Uma seção “Horário de funcionamento” pode ficar ao lado de “Como chegar” na mesma página de contato.
Site estático
Um site estático fornece arquivos de página preparados; menus repetidos e outros conteúdos compartilhados devem permanecer consistentes entre esses arquivos.
Em um pequeno site estático, alterar um menu copiado exige atualizar cada página que o contém.
Sobrescrito
Um sobrescrito é uma notação elevada marcada com sup quando sua posição tem significado, como um expoente ou uma unidade ao quadrado.
O sobrescrito 2 em m² expressa uma unidade ao quadrado, em vez de um simples tamanho de texto.
Subscrito
Um subscrito é uma notação rebaixada marcada com sub quando sua posição tem significado, como o número em uma fórmula química.
O subscrito 2 em H₂O identifica o número de átomos de hidrogênio na fórmula.
Sumário
Um sumário lista seções da página como links, geralmente apontando para ids de títulos por meio de fragmentos no mesmo documento.
Um sumário pode vincular “Plantio” ao título correspondente sem abrir outra página.

T

Tag
Uma tag é a marcação que inicia ou encerra um elemento; uma tag de fechamento inclui uma barra antes do nome do elemento.
Em um parágrafo, a tag <p> inicia o elemento e a tag </p> o fecha.
Termo da lista de descrições
Um termo da lista de descrições é um nome ou rótulo marcado com dt dentro de uma lista de descrições, seguido de uma ou mais descrições.
O termo “Codificação” pode ser seguido de um dd que explica como o texto se transforma em bytes.
Texto alternativo
O texto alternativo é a alternativa textual de uma imagem, fornecida por alt para transmitir sua informação ou função quando ela não pode ser vista.
Um texto alternativo útil descreve a informação principal que um diagrama acrescenta ao parágrafo ao redor.
Texto de observações e ressalvas
O texto de observações e ressalvas é um conteúdo secundário, como uma nota legal ou uma linha de direitos autorais, marcado com small por seu significado.
Uma nota de direitos autorais pode ser texto de observações e ressalvas mesmo quando o CSS altera seu tamanho.
Texto do link
O texto do link é o conteúdo que indica aos leitores o destino ou a finalidade de um link, inclusive quando ouvido fora de sua frase.
O texto do link “Relatório anual (PDF)” é mais claro em uma lista de links do que “Clique aqui”.
Texto pré-formatado
O texto pré-formatado preserva espaços e quebras de linha por meio de pre, mas ainda interpreta a marcação HTML dentro de seu conteúdo.
Um exemplo de código pré-formatado ainda precisa de &lt; para exibir um sinal de menor literal.
Título de obra citada
Um título de obra citada é o nome de uma obra, como livro ou filme, marcado com cite, que não é usado para o nome de uma pessoa.
O título de obra citada em “Eu li Frankenstein” pode ser marcado com o elemento cite.
Título do documento
O título do documento nomeia uma página na aba do navegador, nos favoritos e no histórico, usando um elemento title no head.
“Acesso ao Museu da Cidade” é um título de documento que distingue a página da página inicial do site.
Trilha de navegação (breadcrumb trail)
Uma trilha de navegação mostra a posição de uma página na hierarquia de um site, usando navegação ordenada com a página atual por último.
A trilha de navegação “Início › Diário › Caminhada de primavera” mostra a posição do artigo no site.

U

URL absoluta
Uma URL absoluta fornece um destino web completo, incluindo esquema e domínio, sem precisar da pasta da página atual.
A URL absoluta https://example.com/help indica tanto o site quanto o caminho de destino.
URL relativa
Uma URL relativa descreve um destino usando a localização do documento atual como ponto de partida, incluindo passos para diretórios pais.
A partir de uma página em news/, a URL relativa ../contact.html sobe até a página de contato.
URL relativa à raiz
Uma URL relativa à raiz começa com uma barra e é resolvida a partir da raiz de um site em um servidor, em vez da pasta da página atual.
A URL relativa à raiz /about.html chega ao mesmo caminho do site a partir de diferentes pastas.
UTF-8
UTF-8 é a codificação de caracteres exigida pelo HTML e pode representar todos os caracteres Unicode, incluindo acentos e outras escritas.
Salvar e declarar UTF-8 permite que uma página exiba “café” sem substituir seu acento.

V

Validação de HTML
A validação de HTML verifica a marcação em relação às regras de HTML e informa problemas como aninhamento inválido, ids duplicados ou atributos ausentes.
A validação de HTML pode indicar um atributo alt ausente, mas não consegue avaliar se seu texto é útil.
Voz alternativa
Uma voz alternativa distingue um texto como termo, pensamento ou expressão estrangeira sem acrescentar ênfase de entonação, usando i.
Uma voz alternativa pode marcar o nome latino de uma espécie enquanto lang identifica seu idioma.

Sobre esta aula

Por StudeliRelatar um erro

Crie seus próprios Materiais de Estudo

Transforme suas anotações, slides e documentos em Guias de Estudo, Questões de Prática, Flashcards e mais 6 ferramentas.

Começar