HTML semântico para SEO
Como elementos HTML semânticos (article, section, nav, header, main, aside) ajudam os mecanismos de busca a identificar o conteúdo principal de uma página — por que não é um fator de ranqueamento e como usar cada elemento corretamente.
Idiomas
HTML semântico usa elementos como <main>, <article>, <section>, <nav>, <header> e <aside> para descrever o que o conteúdo é, não apenas como ele se parece. Não é um fator de ranqueamento — John Mueller o chama de 'não é um multiplicador mágico' e diz que <article> 'não tem efeito particular' na Pesquisa. O que ele faz é ajudar o Google a separar o conteúdo principal do boilerplate de forma mais confiável (a anotação de destaque do Google faz isso via NLP independentemente da sua marcação, mas semântica limpa reduz a adivinhação), ajudar tecnologias assistivas e ajudar rastreadores de IA que não renderizam JavaScript. Fabrice Canel, da Bing, enquadra isso de forma mais forte como 'uma vantagem em SEO'. A mesma ideia vai além dos landmarks: use <a href> para navegação e <button> para ações, <table> reais para dados tabulares, texto alternativo baseado em propósito em imagens e <details>/<summary> para widgets de divulgação nativos — e não confie no antigo 'algoritmo de contorno de documento', nunca implementado, para implicar níveis de cabeçalho por meio de aninhamento de <section>. Uso correto supera presença: um <main> por página, <article> para conteúdo autocontido, <section> para um grupo temático com cabeçalho — não um substituto de <div>. Não confunda com SEO semântico (estratégia tópica/entidade).
Evidence for this claim Semantic HTML uses elements according to their defined purpose and structural meaning. Scope: HTML element semantics. Confidence: high · Verified: WHATWG HTML: Semantics Evidence for this claim Native semantic HTML exposes built-in roles and supports accessible structure when elements are used correctly. Scope: W3C guidance on semantic HTML and accessibility. Confidence: high · Verified: W3C WAI: HTML and accessibilityTL;DR — HTML semântico significa usar tags que descrevem o que o conteúdo é —
<article>,<nav>,<main>,<header>— em vez de envolver tudo em<div>s simples. Isso ajuda mecanismos de busca e leitores de tela a entenderem sua página, mas não é um fator de ranqueamento. Usar<article>não fará você ranquear melhor. A mesma regra se aplica além dos landmarks:<a href>para links,<button>para ações,<table>para dados tabulares, texto alternativo real em imagens. Use a tag certa para o trabalho e você estará quase lá.
O que é HTML semântico
Cada parte de uma página web é construída a partir de elementos HTML. HTML semântico significa apenas escolher o elemento que corresponde ao que o conteúdo realmente é, em vez de usar um invólucro genérico para tudo.
Compare estas duas versões da mesma estrutura de página:
<!-- Non-semantic: "div soup" -->
<div class="top"> ... </div>
<div class="menu"> ... </div>
<div class="content"> ... </div>
<div class="sidebar"> ... </div>
<div class="bottom"> ... </div><!-- Semantic: the tags describe the roles -->
<header> ... </header>
<nav> ... </nav>
<main> ... </main>
<aside> ... </aside>
<footer> ... </footer>Ambas podem parecer idênticas na tela — o CSS cuida da estilização. A diferença é que a segunda versão diz a uma máquina (um mecanismo de busca, um leitor de tela, um crawler de IA) qual parte é a navegação, qual é o conteúdo principal e qual é uma barra lateral. A primeira versão faz todos adivinharem.
Os elementos que você realmente usará
<header>— conteúdo introdutório no topo da página (ou no topo de uma seção).<nav>— um bloco de links de navegação.<main>— o conteúdo primário e único da página. Um por página.<article>— uma peça autocontida que poderia existir por conta própria (um post de blog, um cartão de produto, um comentário).<section>— um agrupamento temático de conteúdo que tem seu próprio título.<aside>— conteúdo tangencial ao conteúdo principal (uma barra lateral, um destaque).<footer>— conteúdo de fechamento (direitos autorais, links secundários).
A mesma ideia de “use a tag certa” se aplica abaixo do nível de layout da página também: <a href>
para links, <button> para ações na página, <table> para dados tabulares reais e
texto alt baseado em propósito em imagens. Links falsos construídos com <div>s estilizados são o
erro de acessibilidade mais comum — veja a aba Avançado para a lista completa.
O que a maioria das pessoas entende errado
Envolver seu conteúdo em <article> não aumenta seu ranqueamento. O
John Mueller, do Google, disse que o elemento <article> “não tem efeito particular” na Pesquisa Google,
e que HTML semântico “não é um multiplicador mágico.” HTML semântico ajuda os
mecanismos de busca a entenderem sua página — só não é uma alavanca que você puxa para ranquear melhor.
O valor é real, só não é “pontos de ranqueamento.” Marcação semântica limpa facilita para os mecanismos de busca distinguirem seu conteúdo principal do boilerplate (menus, rodapés, anúncios), faz sua página funcionar corretamente para pessoas que usam leitores de tela e é mais fácil para ferramentas de IA lerem. Essas são todas boas razões para fazer isso — nenhuma delas é “é um fator de ranqueamento.”
Mais uma armadilha: HTML semântico não é o mesmo que “SEO semântico.” HTML semântico é sobre estrutura de marcação. SEO semântico é sobre tópicos e entidades no seu conteúdo. Mesma palavra, coisa totalmente diferente.
Quer o quadro completo — o que cada elemento sinaliza, o que o Google e o Bing realmente dizem, como isso se encaixa na extração de conteúdo principal e uma lista de verificação de retrofit? Mude para a aba Avançado.
Evidence for this claim Semantic HTML uses elements according to their defined purpose and structural meaning. Scope: HTML element semantics. Confidence: high · Verified: WHATWG HTML: Semantics Evidence for this claim Native semantic HTML exposes built-in roles and supports accessible structure when elements are used correctly. Scope: W3C guidance on semantic HTML and accessibility. Confidence: high · Verified: W3C WAI: HTML and accessibilityTL;DR — HTML semântico usa elementos para seu significado estrutural pretendido (
<main>,<article>,<section>,<nav>,<header>,<aside>) para que a marcação comunique o que o conteúdo é, não como ele se parece. Não é um fator de ranqueamento — Mueller: “não é um multiplicador mágico,” e<article>“não tem efeito particular.” O que ele faz é reduzir ambiguidade: a anotação de destaque do Google separa o conteúdo principal do boilerplate via PLN, independentemente de sua marcação ser semântica, mas semântica limpa torna esse trabalho mais confiável. Fabrice Canel, do Bing, enquadra isso de forma mais forte (“uma vantagem em SEO”) — observo essa diferença honestamente em vez de harmonizá-la. O próprio Guia do Iniciante do Google diz que a maior parte da web não é HTML válido, então raramente depende da semântica da especificação. Uso correto supera presença: um<main>,<article>para conteúdo autocontido,<section>para um grupo temático com título — não um substituto de<div>. O mesmo teste se estende a<a href>vs.<button>(navegar vs. agir),<table>s reais para dados tabulares, texto alternativo de imagem baseado em propósito e<details>/<summary>para widgets de divulgação — e não confie no aninhamento de<section>para implicar um nível de título; esse “algoritmo de esboço de documento” nunca foi implementado e a especificação não define mais esboços dessa forma. Não confunda HTML semântico com SEO semântico.
O que HTML semântico realmente é
HTML semântico é a prática de escolher elementos HTML pelo significado estrutural
que foram projetados para transmitir, em vez de recorrer a <div> e <span> para
tudo. <article>, <section>, <nav>, <header>, <main>, <aside> e
<footer> cada um declara um papel. A marcação descreve o que um pedaço da página é;
CSS decide como ele se parece. O próprio guia de estilo do desenvolvedor do Google coloca a regra
da forma mais simples possível: “Use HTML elements for the purposes that they were designed for.” (tradução) «Use elementos HTML para os fins para os quais foram projetados.»
Uma coisa que confunde as pessoas: um nome de classe não cria semântica. Nomear um
<div> class="article" ou class="main-nav" não dá a ele o modelo de conteúdo do elemento
<article> ou o papel de navegação implícito do elemento <nav> — ainda é um <div>
genérico para um navegador, leitor de tela ou rastreador. A semântica vive no elemento que
você escolhe, não em como você o estiliza ou rotula.
Este artigo é sobre os elementos semânticos especificamente. O quadro mais amplo de “como o Google analisa seu HTML, hierarquia de títulos, validade” pertence ao hub de SEO de HTML sob o qual esta página se encontra — farei referência cruzada em vez de reabrir o assunto aqui.
HTML semântico realmente ajuda em SEO?
Resposta curta: ajuda no entendimento, não é um fator de ranqueamento, e os dois mecanismos o enquadram de forma um pouco diferente. Aqui está a versão honesta.
O que o Google diz
A posição do Google, repetida por John Mueller, é que HTML semântico vale a pena, mas não é uma alavanca de ranqueamento. Como Search Engine Journal relatou, Mueller disse “Semantic HTML does help to understand a page. However, it’s not a magical multiplier for making a website rank higher,” (tradução) «O HTML semântico ajuda a interpretar uma página. Porém, não é um multiplicador mágico capaz de elevar o ranqueamento de um site.» e separadamente: “Please use semantic HTML. It’s not a ranking factor, but it can help our systems to understand your content better.” (tradução) «Use HTML semântico. Não é um fator de ranqueamento, mas pode ajudar nossos sistemas a interpretar melhor seu conteúdo.»
No elemento <article> especificamente — aquele sobre o qual todo mundo pergunta — Mueller foi
contundente em uma sessão do Office Hours: o elemento <article> “does not have any
particular effect in Google Search,” (tradução) «O elemento article não produz nenhum efeito específico na Pesquisa Google.»
Ele acrescentou o motivo para usá-lo mesmo assim: “Sometimes there are accessibility or
semantic reasons to use a specific kind of markup, so don’t only focus on SEO.” (tradução) «Às vezes, há motivos de acessibilidade ou semântica para escolher um tipo específico de marcação; portanto, não se concentre apenas em SEO.»
O Google também diz explicitamente que não depende de semântica perfeita. Seu Guia de início de SEO observa que “Having your headings in semantic order is fantastic for screen readers, but from Google Search perspective, it doesn’t matter if you’re using them out of order. The web in general is not valid HTML, so Google Search can rarely depend on semantic meanings hidden in the HTML specification.” (tradução) «Manter os cabeçalhos em ordem semântica é excelente para leitores de tela, mas, para a Pesquisa Google, usá-los fora de ordem não faz diferença. Como a web em geral não é HTML váido, a Pesquisa Google raramente consegue depender dos significados semânticos ocultos na especificação HTML.» Essa é uma nuance importante, não uma contradição: o HTML semântico ajuda nas margens, não exige perfeição e não é um sinal pontuado.
Como isso se encaixa no Google encontrar seu conteúdo principal
Aqui está o mecanismo que torna o HTML semântico útil mesmo não sendo um fator de ranqueamento. O Google precisa separar o conteúdo principal de uma página do modelo padrão (nav, cabeçalho, rodapé, barras laterais, anúncios) antes de poder decidir sobre o que é uma página. Martin Splitt descreveu a maquinaria: “We have a thing called the Centerpiece Annotation, for instance, and there’s a few other annotations that we have where we look at the semantic content.” (tradução) «Temos algo chamado Centerpiece Annotation, por exemplo, e algumas outras anotações nas quais analisamos o conteúdo semântico.» A forma como o Google descobre o tópico é processamento de linguagem natural sobre o conteúdo, não os nomes das tags: “This looks like from all the natural language processing that we did on this entire text content here that we got, it looks like this is primarily about topic A, dog food.” (tradução) «Parece, com base em todo o processamento de linguagem natural que fizemos sobre este conteúdo textual, que ele trata principalmente do tópico A: ração para cães.» E ele pondera o restante: “We figure out what looks like boilerplate and then, that gets weighted differently as well.” (tradução) «Identificamos o que parece ser boilerplate, e isso também recebe uma ponderação diferente.»
O ponto-chave: essa extração funciona independentemente de sua marcação ser semântica.
O Google consegue desembaraçar uma página construída inteiramente com <div>s. Mas, perguntado diretamente se
o HTML5 semântico ajuda, a resposta de Splitt foi “It does help us, but it’s not the only
thing that we look for. Yes.” (tradução) «Isso ajuda, mas não é o único aspecto que observamos. Sim.»
Então, o HTML semântico não pontua você mais alto — ele reduz a adivinhação em uma etapa que o Google
já faz, que é exatamente por que é um sinal de confiança e eficiência em vez de
um de ranqueamento. Para ser preciso sobre o que ele não faz: marcação semântica correta
também não garante nenhuma apresentação específica de pesquisa — é uma camada separada
das regras de elegibilidade que regem os rich results (mais sobre isso abaixo).
O que o Bing diz (e por que difere)
O Bing enquadra isso de forma mais forte que o Google, e vou deixar essa diferença intacta em vez de suavizá-la. O Fabrice Canel, da Microsoft, disse que páginas com HTML5 semântico implementado corretamente têm “an advantage in SEO” (tradução) «uma vantagem em SEO» sobre aquelas que não têm. Essa é uma afirmação mais forte do que a do Google, de “nos ajuda a entender” — o Bing liga o HTML5 semântico diretamente a uma vantagem em SEO. Ambos os mecanismos convergem em “ajuda mecanicamente”, mas não usam as mesmas palavras, e você deve saber disso ao ler orientações concorrentes. Nenhum dos dois, para ser claro, descreve isso como um fator de ranqueamento pontuado da forma como links ou relevância são.
Os elementos semânticos principais e como usá-los corretamente
A presença não é o ponto — o uso correto é. O modo de falha mais comum é
espalhar tags semânticas como decoração, ou trocar <div> por <section>
sem pensar no que cada elemento significa.
<header> e <footer>
<header> contém conteúdo introdutório e <footer> contém conteúdo de encerramento — e ambos
são contextuais. No nível do documento, <header> é o banner do seu site e <footer>
é o rodapé do seu site. Mas eles também podem ser aninhados dentro de um <article> ou <section> para
marcar a introdução e o encerramento próprios desse bloco (o título/linha de autoria de um artigo em um <header>, suas
tags em um <footer>). Você pode ter muitos deles; apenas certifique-se de que cada um envolva conteúdo introdutório
ou de encerramento para seu contexto, não caixas arbitrárias.
<nav>
<nav> é para blocos principais de links de navegação — seu menu primário, trilha de
migalhas de pão ou sumário na página. Não é para todos os grupos de links na página
(uma lista de posts relacionados no corpo não precisa ser um <nav>). Envolver cada
cluster de links em <nav> dilui o sinal; reserve-o para navegação genuína.
<main>
<main> envolve o conteúdo primário e único da página — a parte que não é repetida
no site. A regra que confunde as pessoas: deve haver exatamente um
<main> por página, e ele não deve ser aninhado dentro de <article>, <aside>,
<header>, <footer> ou <nav>. É o sinal mais claro que você pode dar sobre
“este é o conteúdo que importa aqui.”
<article> vs <section> (o que todo mundo erra)
Esta é a distinção para acertar:
<article>é para conteúdo autocontido e distribuível de forma independente — algo que ainda faria sentido retirado da página e colocado em um feed. Um post de blog, uma notícia, um card de produto, um post de fórum, um comentário de usuário. Se pudesse ser sindicalizado sozinho, é um<article>.<section>é um agrupamento temático de conteúdo que deve ter seu próprio título. Um bloco “Avaliações”, um bloco “Especificações”, um capítulo. O teste: se o conteúdo não fizer sentido com um título, provavelmente não é uma<section>— e se você está usando apenas para pendurar algum CSS, deveria ser um<div>.
<section> não é um wrapper genérico. Quando você precisa de um gancho de estilo sem significado semântico,
use <div> — é exatamente para isso que ele serve. Usar <section> porque
“parece mais moderno” é o uso incorreto mais comum.
<aside>
<aside> marca conteúdo que é tangencial ao conteúdo ao redor — uma barra lateral,
uma citação de destaque, uma caixa de links relacionados, um conjunto de anúncios. Ele sinaliza “isso é relacionado, mas não
o fio principal”, que é precisamente a distinção boilerplate-vs-conteúdo-principal que o Google
tenta traçar de qualquer forma. Não use apenas porque algo está visualmente ao lado;
use quando o conteúdo for genuinamente secundário.
Acertando os papéis de landmark (e o mito do outline)
Cada elemento de landmark mapeia para um papel ARIA implícito específico que a tecnologia assistiva lê diretamente — esta é a mesma estrutura computada pela qual um usuário não visual navega, e vale a pena conhecer o mapeamento real em vez de assumir:
| Elemento | Papel implícito | Observação |
|---|---|---|
<header> (nível de documento) | banner | Somente no nível superior — aninhado dentro de <article>/<aside>/<main>/<nav>/<section>, não tem papel de marco. |
<footer> (nível de documento) | contentinfo | Mesma ressalva — aninhado, não é um marco. |
<nav> | navigation | |
<main> | main | |
<aside> | complementary | |
<article> | article (não é um marco) | Um papel de estrutura de documento, não um dos marcos navegáveis. |
<section> | region — mas somente com um nome acessível (por exemplo, por meio de um título) | Uma <section> sem nome não tem papel implícito algum, o que é outro motivo para não usá-la como substituto de <div>. |
Uma crença popular que vale a pena descartar: aninhar uma <section> não dá aos seus títulos um nível inferior implícito. O HTML5 inicial definia um algoritmo de contorno de documento que calcularia o nível efetivo de um título com base na profundidade do aninhamento dentro de elementos de seção — então um <h1> aninhado poderia teoricamente “agir como” um <h2>. Nenhum navegador ou leitor de tela jamais implementou esse algoritmo, e a especificação WHATWG desde então o removeu em favor de uma definição muito mais simples: o contorno é apenas todos os títulos do documento, em ordem de árvore. Escreva seus níveis <h1>–<h6> explicitamente e na ordem em que você realmente deseja que sejam lidos — a profundidade do aninhamento não faz esse trabalho por você.
Links versus botões — o teste de ação versus navegação
Este não é um elemento de marco, mas é o erro semântico mais comum na web: usar um <div> ou <span> estilizado (ou um <button>) onde um <a href> pertence, ou vice-versa. A especificação WHATWG é específica — <a> com um atributo href é o mecanismo nativo de hiperlink, e o elemento <button> é um controle interativo rotulado para acionar uma ação. O teste é simples: isso leva o usuário a algo (uma nova URL, uma nova página, um fragmento)? Use <a href>. Isso faz algo na página atual (enviar um formulário, abrir um modal, alternar uma configuração)? Use <button>. Estilizar um para parecer com o outro não muda o que ele é nativamente — um <div> com um manipulador de clique não recebe ativação nativa por teclado nem o papel acessível correto, a menos que você reconstrua tudo isso com role, tabindex e manipuladores de teclas. Basta usar o elemento certo.
Tabelas são para dados tabulares, não para layout
Se o conteúdo realmente tem linhas e colunas — uma tabela de comparação, uma grade de preços, um conjunto de dados — use uma <table> real, não uma grade de <div>s estilizados. A especificação de tabelas WHATWG define um modelo de dados real: <caption> nomeia a tabela, e células de cabeçalho <th> (com scope) estabelecem as relações de linha/coluna que permitem que a tecnologia assistiva anuncie “preço, 49 USD” em vez de apenas uma parede de números. Uma grade visualmente semelhante a uma tabela construída com <div>s não carrega nenhum desses dados de relação — parece certa, mas não é lida corretamente. Também não use <table> para layout de página; esse é o uso indevido mais antigo que esta prática substituiu.
O texto alternativo depende da finalidade da imagem
<img> precisa de um atributo alt, mas os requisitos da especificação WHATWG dependem da finalidade, não são únicos para todos: uma foto de produto precisa de uma descrição do que é mostrado; uma imagem puramente decorativa deve receber alt="" (vazio, não ausente) para que a tecnologia assistiva a ignore em vez de anunciar um nome de arquivo; uma imagem que também é um link precisa de texto alternativo descrevendo o destino ou a ação do link, não apenas a imagem. Não use como padrão texto alternativo recheado de palavras-chave em todas as imagens “para SEO” — esse é o teste errado. O teste certo é: o que um usuário de leitor de tela precisa saber que de outra forma perderia?
Widgets nativos de divulgação: <details> e <summary>
Para conteúdo “clique para expandir” — FAQs, fichas técnicas, texto de spoiler — o
par <details>/<summary>
é um widget de divulgação nativo: <summary> é o rótulo sempre visível, e o
conteúdo dentro de <details> mostra ou oculta com base no estado open do elemento,
sem qualquer JavaScript. Ele vem com suporte de teclado integrado e a semântica acessível
correta de graça — recorrer a um acordeão personalizado de <div> mais JavaScript
significa reimplementar um comportamento que o navegador já oferece. Teste-o nos seus
navegadores e leitores de tela reais antes de publicar, no entanto — a renderização e a
exposição na árvore de acessibilidade para <details>/<summary> historicamente variam
por combinação de navegador e tecnologia assistiva, então não presuma uma paridade que
você não verificou.
Mitos comuns sobre HTML semântico e SEO
- “Envolver conteúdo em
<article>melhora o ranqueamento.” Não — Mueller: o elemento<article>“does not have any particular effect in Google Search.” (tradução) «não tem nenhum efeito particular na Pesquisa Google». - “HTML semântico é um fator de ranqueamento.” Não — “not a magical multiplier” (tradução) «não é um multiplicador mágico», e “It’s not a ranking factor, but it can help our systems to understand your content better.” (tradução) «Não é um fator de ranqueamento, mas pode ajudar nossos sistemas a entender melhor seu conteúdo.»
- “O Google exige HTML semântico válido/estrito.” Não — de acordo com o Guia de início, a maior parte da web não é HTML válido e o Google “can rarely depend on semantic meanings hidden in the HTML specification.” (tradução) «raramente pode depender de significados semânticos ocultos na especificação HTML».
- “A ordem dos cabeçalhos precisa ser perfeita para SEO.” Leitores de tela se importam; o ranqueamento do Google não (mesma linha do Guia de início). O tratamento mais profundo da hierarquia de cabeçalhos pertence ao hub de SEO de HTML — esta é apenas a versão resumida.
- “HTML semântico e SEO semântico são a mesma coisa.” Não — um é estrutura de marcação, o outro é estratégia de conteúdo tópico/entidade. Confundi-los é por que tantos resultados de busca para consultas “semânticas” são sobre o tópico errado.
- “Dados estruturados tornam o HTML semântico desnecessário.” Não — eles são complementares. O HTML semântico dá aos seus dados estruturados uma base mais confiável; ele não os substitui, e JSON-LD não conserta sopa de div. E nenhum dos dois garante um resultado: a própria introdução a dados estruturados do Google é explícita que usar marcação suportada não garante um resultado rico — a elegibilidade para um recurso de busca específico é um conjunto separado de regras de se sua marcação (HTML semântico ou JSON-LD) é tecnicamente válida.
- “Aninhar uma
<section>dá aos seus cabeçalhos um nível implícito mais baixo — você não precisa descer de<h1>para<h2>dentro de uma seção aninhada.” Não — isso é um resquício do antigo algoritmo de contorno de documento do HTML5, que teria calculado um nível de cabeçalho implícito a partir do aninhamento de elementos de seção. Nenhum navegador ou leitor de tela jamais o implementou, e a especificação WHATWG HTML não define mais o cálculo de contorno dessa forma — o contorno hoje é apenas “todos os cabeçalhos no documento, em ordem de árvore.” Use<h1>–<h6>explícitos e corretamente ordenados independentemente de quão profundo seja o aninhamento de<section>/<article>; não confie em aninhamento para fazer o trabalho de nível de cabeçalho por você.
HTML semântico vs. SEO semântico — não os confunda
Por compartilharem uma palavra, esses dois são constantemente confundidos, e isso polui os resultados de busca para ambos:
- HTML semântico = a marcação — quais elementos você usa para estruturar uma página.
- SEO semântico = uma estratégia de conteúdo — construir autoridade tópica em torno de entidades e conceitos relacionados (o tipo de coisa que fica sob os pilares de Busca com IA e conteúdo, não aqui).
Se você chegou aqui a partir de uma busca por “SEO semântico” esperando modelagem de tópicos, isso é um artigo diferente. Este é estritamente sobre os elementos.
HTML semântico e rastreadores de IA/LLM
É aqui que o HTML semântico está silenciosamente se tornando mais relevante, e vou sinalizar isso como
opinião do setor, não como declaração dos mecanismos de busca. Muitos rastreadores de LLM e mecanismos
de resposta com IA não renderizam JavaScript — eles analisam o HTML que recebem. Marcação semântica limpa
é muito mais fácil para eles trabalharem do que uma sopa de <div> profundamente aninhada. Como diz Barry
Adams, “It’s much simpler for ChatGPT to parse a few dozen semantic HTML
tags rather than several hundred (or even thousand) nested <div> tags,” (tradução) «É muito mais simples para o ChatGPT analisar algumas dezenas de tags HTML semânticas do que várias centenas (ou até milhares) de tags div aninhadas.»
De forma mais ampla, “Semantic HTML markup on your webpages can help machine systems
better understand your content and its value.” (tradução) «A marcação HTML semântica nas suas páginas da web pode ajudar sistemas de máquina a entender melhor seu conteúdo e seu valor.»
Jono Alderson faz o mesmo argumento prospectivo — que um site é “an interface. An
API. A dataset,” (tradução) «uma interface, uma API, um conjunto de dados» —
não apenas uma experiência visual — e sua frase de efeito é todo o argumento para o uso correto:
“If everything is a <div> or a <span>, then nothing is meaningful.” (tradução) «Se tudo é um div ou um span, então nada é significativo.»
Trate tudo isso como uma boa razão direcional para manter sua marcação limpa, não como uma
promessa do Google ou do Bing.
Como auditar e reformar páginas existentes
A maioria dos sites reais já é uma sopa de divs, e você não os reconstrói da noite para o dia. Uma ordem pragmática de reforma:
- Estabeleça os marcos primeiro. Garanta que haja exatamente um
<main>, um<header>de documento,<footer>e um<nav>para o menu principal. Esses elementos de marco fazem o maior trabalho tanto para a extração de conteúdo principal quanto para a acessibilidade. - Converta blocos autocontidos em
<article>. Postagens de blog, cards de produto, comentários — qualquer coisa que possa se sustentar sozinha em um feed. - Converta grupos temáticos genuínos em
<section>— mas apenas onde houver um título real. Se não houver um, deixe como<div>. - Mova barras laterais e caixas de conteúdo relacionado para
<aside>. - Corrija links falsos e botões falsos. Um
<div>estilizado com um manipulador de clique deve se tornar um<a href>(se navegar) ou um<button>(se agir na página) — esse geralmente é o ajuste único de maior valor para usuários de teclado e leitores de tela. - Converta grades de
<div>semelhantes a tabelas em<table>reais onde o conteúdo é genuinamente tabular, com<caption>e<th>para as células de cabeçalho. - Não converta demais. Um
<div>usado puramente como gancho de estilo/layout está correto. Nem tudo precisa de um elemento semântico; forçar um é um erro por si só. - Verifique, não presuma. Confira a árvore de acessibilidade nas DevTools do seu navegador — ela expõe os papéis de marco que sua marcação produz, que é a mesma estrutura que as máquinas leem.
Como isso se encaixa no hub de SEO de HTML
Este artigo é um mergulho profundo sob o hub pai de SEO de HTML, que cobre a questão mais ampla de como os mecanismos de busca analisam e usam seu HTML — hierarquia de títulos, validade de HTML e como parsers tolerantes lidam com marcação bagunçada. Eu deliberadamente mantive esta página focada nos elementos semânticos em si e deixei esses tópicos para o hub e seus artigos irmãos. O HTML semântico também se combina diretamente com dados estruturados: a marcação dá ao seu schema uma base confiável, e os dois fazem trabalhos complementares.
Perguntas frequentes
O HTML semântico ajuda no SEO ou é apenas para acessibilidade? Ambos — ele ajuda os mecanismos de busca a identificar seu conteúdo principal e é essencial para a acessibilidade. Mas não é um fator de ranqueamento.
Usar a tag <article> melhora o ranqueamento? Não. Mueller: ela “não tem nenhum efeito particular no Google Search.”
Qual é a diferença entre <article> e <section>? <article> é conteúdo autocontido que poderia ser exibido isoladamente em um feed; <section> é um agrupamento temático com seu próprio título. Nenhum dos dois substitui <div>.
Posso ter mais de um elemento <main> em uma página? Não — apenas um <main> por página.
O Google exige HTML válido para ranquear uma página? Não — a maior parte da web não tem HTML válido, e o Google “raramente pode depender de significados semânticos ocultos na especificação HTML.”
HTML semântico é o mesmo que SEO semântico? Não — um é marcação, o outro é estratégia de conteúdo tópico/entidade.
Devo usar <a> ou <button> para um elemento clicável? Depende do que ele faz. Se navega para uma URL ou fragmento, use <a href>. Se executa uma ação na página atual (enviar, alternar, abrir um modal), use <button>. Não finja um com um <div> estilizado e um manipulador de clique.
Aninhar <section> muda o nível de título que devo usar? Não. O antigo algoritmo de contorno de documento do HTML5 — que teria calculado um nível de título implícito a partir do aninhamento de seções — nunca foi implementado por nenhum navegador ou leitor de tela, e a especificação atual não define contornos dessa forma. Use <h1>–<h6> explícitos e na ordem correta, independentemente da profundidade do aninhamento.
HTML semântico correto ou dados estruturados garantem um resultado rico? Não. A própria documentação de dados estruturados do Google diz que a marcação suportada não garante uma apresentação específica na busca — a elegibilidade para um recurso é separada de se sua marcação é tecnicamente válida.
Evidence for this claim Semantic HTML and search structured data are distinct layers: native elements describe document content and controls, while supported structured-data markup supplies feature-specific machine-readable properties; valid markup does not guarantee a rich result or ranking gain. Scope: supported structured-data features Confidence: high · Verified: Introduction to structured data markup in Google SearchResumo de IA
Uma visão condensada da versão Avançada:
- HTML semântico = usar elementos para seu significado pretendido (
<main>,<article>,<section>,<nav>,<header>,<aside>,<footer>) para que a marcação diga o que o conteúdo é. O CSS cuida da aparência. - Não é um fator de ranqueamento. Mueller: “não é um multiplicador mágico”; o elemento
<article>não tem “efeito particular” na Pesquisa Google. Use-o para acessibilidade/clareza, não para pontos de ranqueamento. - Ajuda na extração de conteúdo principal. A anotação de destaque do Google separa o conteúdo principal do boilerplate via PLN independentemente da marcação (Splitt), então funciona também em sopa de divs — mas a marcação semântica reduz o trabalho de adivinhação. Splitt: “Isso nos ajuda, mas não é a única coisa que procuramos.”
- O Google não exige HTML válido. Guia de início: a maior parte da web não é válida, então o Google “raramente pode depender de significados semânticos ocultos na especificação HTML.”
- O Bing enquadra isso de forma mais forte. Fabrice Canel: HTML5 semântico dá “uma vantagem em SEO.” Observe a lacuna honestamente — a redação do Bing é mais forte que a do Google; nenhum dos dois chama isso de fator de ranqueamento pontuado.
- Uso correto supera presença: um
<main>;<article>= autocontido;<section>= grupo temático com um título, não um substituto de<div>;<nav>= apenas navegação principal;<aside>= conteúdo tangencial. - Elementos de referência mapeiam para papéis ARIA implícitos específicos (
<header>→banner,<nav>→navigation,<main>→main,<aside>→complementary,<footer>→contentinfo— apenas no nível do documento; aninhados dentro de uma seção, não são referências).<section>só é uma referência (region) se tiver um nome acessível;<article>não é uma referência de forma alguma. - O mito do algoritmo de esboço de documento: aninhar uma
<section>não dá aos seus títulos um nível inferior implícito. Esse algoritmo nunca foi implementado por nenhum navegador ou leitor de tela, e a especificação WHATWG não define mais esboços dessa forma — escreva níveis explícitos de<h1>–<h6>. - Além das referências: use
<a href>para navegação vs.<button>para ações na página;<table>s reais (com<caption>/<th>) para dados tabulares, não grades de<div>; textoaltbaseado em propósito em imagens (alt=""para decorativas);<details>/<summary>para widgets de divulgação nativos — teste a renderização no navegador/TA antes de publicar. - Ângulo de IA/LLM (opinião do setor): rastreadores de LLM muitas vezes não renderizam JS, então
HTML semântico limpo é mais fácil de analisar do que
<div>s aninhados (Adams, Alderson). - Não confunda com SEO Semântico (estratégia de entidade/tópico) — mesma palavra, coisa diferente. Dados estruturados complementam o HTML semântico, não o substituem, e nenhum dos dois garante um resultado rico ou um ganho de ranqueamento.
Documentação oficial
Documentação de fonte primária e orientação de estilo dos mecanismos de busca e órgãos normativos.
- Guia de início do SEO — a seção “coisas nas quais você não deve focar”, incluindo a ressalva sobre ordem de títulos / significados semânticos.
- Guia de estilo da documentação para desenvolvedores do Google — HTML e marcação semântica — “Use elementos HTML para os fins para os quais foram projetados.”
- web.dev — Aprenda HTML: HTML semântico — o próprio módulo de aprendizado do Google sobre elementos de referência e seus papéis de acessibilidade.
Padrões / referência
- MDN — Semântica (glossário) — a definição canônica de elementos semânticos versus wrappers não semânticos.
- WHATWG HTML Living Standard — Seções — definições de
<article>,<section>,<nav>,<aside>,<header>,<footer>, modelos de conteúdo e a definição atual (não algorítmica) do contorno de um documento. - WHATWG HTML Living Standard — Links — o elemento
<a>e a semântica de hiperlinks. - WHATWG HTML Living Standard — O elemento button — semântica nativa de controles interativos.
- WHATWG HTML Living Standard — Dados tabulares —
<table>,<caption>, semântica de células de cabeçalho e relações de dados. - WHATWG HTML Living Standard — Imagens — requisitos de texto alternativo de
<img>por propósito/contexto. - WHATWG HTML Living Standard — Os elementos details e summary — o widget nativo de divulgação.
- MDN — Referência de papéis ARIA — mapeamentos implícitos de papéis de marco para os elementos de seção.
- W3C WAI — Tutorial de Estrutura de Página — como regiões nativas e cabeçalhos apoiam a navegação por tecnologia assistiva.
Bing / Microsoft
- Kalicube — HTML5 Semantic Tags (Fabrice Canel) — a fonte para a posição de Canel sobre “vantagem em SEO” do HTML5 semântico.
Citações da fonte
Declarações registradas do Google e do Bing. Onde a página de origem suportar, cada link é um link profundo que salta para a passagem citada.
Google — não é um fator de ranqueamento (John Mueller)
- “Semantic HTML does help to understand a page. However, it’s not a magical multiplier for making a website rank higher.” (tradução) «O HTML semântico ajuda a entender uma página. No entanto, não é um multiplicador mágico para fazer um site ranquear mais alto.» — John Mueller, Google, via Search Engine Journal. Leia a cobertura
- “Please use semantic HTML. It’s not a ranking factor, but it can help our systems to understand your content better.” (tradução) «Por favor, use HTML semântico. Não é um fator de ranqueamento, mas pode ajudar nossos sistemas a entender melhor seu conteúdo.» — John Mueller, Google, mesma fonte. Leia a cobertura
Google — o elemento <article> especificamente (John Mueller)
- “The
<article>HTML element does not have any particular effect in Google Search.” (tradução) «O elemento HTML article não tem nenhum efeito específico na Pesquisa Google.» — John Mueller, Google SEO Office Hours, via Search Engine Journal. Leia a cobertura - “Sometimes there are accessibility or semantic reasons to use a specific kind of markup, so don’t only focus on SEO.” (tradução) «Às vezes há razões de acessibilidade ou semânticas para usar um tipo específico de marcação, então não foque apenas em SEO.» — John Mueller, Google SEO Office Hours, mesma fonte. Leia a cobertura
Google — extração de conteúdo principal (Martin Splitt)
- “We have a thing called the Centerpiece Annotation, for instance, and there’s a few other annotations that we have where we look at the semantic content.” (tradução) «Temos uma coisa chamada Centerpiece Annotation, por exemplo, e há algumas outras anotações que temos onde analisamos o conteúdo semântico.» — Martin Splitt, Google, via Search Engine Journal. Leia a cobertura
- “We figure out what looks like boilerplate and then, that gets weighted differently as well.” (tradução) «Descobrimos o que parece ser boilerplate e então isso é ponderado de forma diferente também.» — Martin Splitt, mesma fonte. Leia a cobertura
- “It does help us, but it’s not the only thing that we look for. Yes.” (tradução) «Isso nos ajuda, mas não é a única coisa que procuramos. Sim.» — Martin Splitt, respondendo diretamente se HTML5 semântico ajuda o Google. Ir para a citação
Google — não depende de semântica válida/de especificação (Guia de Início para SEO)
- “Having your headings in semantic order is fantastic for screen readers, but from Google Search perspective, it doesn’t matter if you’re using them out of order. The web in general is not valid HTML, so Google Search can rarely depend on semantic meanings hidden in the HTML specification.” (tradução) «Ter seus cabeçalhos em ordem semântica é fantástico para leitores de tela, mas do ponto de vista da Pesquisa Google, não importa se você os usa fora de ordem. A web em geral não é HTML válido, então a Pesquisa Google raramente pode depender de significados semânticos ocultos na especificação HTML.» — Guia de Início para SEO do Google. Ir para a citação
Google — use elementos para seus propósitos (Guia de Estilo)
- “Use HTML elements for the purposes that they were designed for.” (tradução) «Use elementos HTML para os fins para os quais foram projetados.» — Guia de Estilo de Documentação para Desenvolvedores do Google. Leia a fonte
Bing / Microsoft (Fabrice Canel)
- Fabrice Canel, da Microsoft Bing, disse que páginas com HTML5 semântico implementado corretamente têm uma vantagem em SEO sobre aquelas que não têm — o enquadramento do Bing é mais forte do que o “ajuda no entendimento” do Google, embora ainda não seja descrito como um fator de ranqueamento pontuado. Parafraseado, não citado textualmente: isso é alcançado por meio de uma citação secundária (Kalicube), não de uma fonte primária do Bing buscada — confirme a redação exata em relação ao original antes de tratá-la como uma citação direta. Leia a fonte
#:~:text=; as outras linkam para o artigo de origem. Qual elemento este bloco precisa?
A questão article-vs-section-vs-div (e o restante das escolhas de landmarks) é um ramo genuíno, não uma preferência de estilo. Responda honestamente em cada etapa — o teste é sempre “o que este conteúdo realmente faz”, não “o que parece mais moderno”.
Choosing the right semantic element
O que não fazer
Estes são os erros reais para os quais os mitos acima apontam — cada um com o porquê de estar errado e o que fazer em vez disso.
-
Envolver conteúdo em
<article>esperando um aumento de ranqueamento. Por que está errado: Mueller disse que o elemento “does not have any particular effect in Google Search.” (tradução) «não produz nenhum efeito específico na Pesquisa Google». O que fazer em vez disso: use<article>quando o conteúdo for genuinamente autossuficiente (pudesse ficar sozinho em um feed), para acessibilidade e clareza — não como uma alavanca de SEO. -
Tratar HTML semântico geralmente como um fator de ranqueamento pontuado. Por que está errado: não é “not a magical multiplier” (tradução) «um multiplicador mágico», e não há um sinal pontuado para perseguir. O que fazer em vez disso: orce o trabalho como um investimento em compreensão/acessibilidade com um retorno real (embora não mensurável como ranqueamento), não um projeto de ranqueamento com um aumento esperado.
-
Obsessão por ordem perfeita de cabeçalhos ou validade estrita por causa do Google. Por que está errado: o próprio Guia de Início do Google diz “the web in general is not valid HTML, so Google Search can rarely depend on semantic meanings hidden in the HTML specification.” (tradução) «A web, em geral, não é HTML váido; por isso, a Pesquisa Google raramente pode depender de significados semânticos ocultos na especificação HTML.» O que fazer em vez disso: corrija a ordem dos cabeçalhos e a validade para leitores de tela e usuários — é aí que realmente importa — não porque o Google está pontuando isso.
-
Usar
<section>como substituto de<div>porque “parece mais moderno.” Por que está errado:<section>sem cabeçalho não é um agrupamento temático, é decoração — este é o uso incorreto mais comum do elemento. O que fazer em vez disso: se o bloco não fizer sentido com seu próprio cabeçalho, use<div>. -
Confundir HTML semântico com SEO semântico. Por que está errado: um é estrutura de marcação, o outro é estratégia de conteúdo tópico/entidade — confundi-los significa otimizar a coisa errada para o objetivo que você realmente tem. O que fazer em vez disso: mantenha os dois separados; este artigo é apenas sobre os elementos.
-
Pular HTML semântico porque os dados estruturados já existem. Por que está errado: JSON-LD não conserta div soup, e dados estruturados não são um substituto para a estrutura de marcação. O que fazer em vez disso: use ambos — dados estruturados ficam em cima de uma fundação semântica, não a substituem. Nenhum dos dois garante um resultado rico, também — essa é uma questão de elegibilidade separada da validade da marcação.
-
Aninhar elementos
<section>para fazer os cabeçalhos “agirem como” um nível inferior. Por que está errado: isso depende do antigo algoritmo de contorno de documento do HTML5, que nenhum navegador ou leitor de tela jamais implementou e que a especificação atual do WHATWG não define mais dessa forma. O que fazer em vez disso: escreva níveis explícitos e corretamente ordenados<h1>–<h6>— não deixe a profundidade do aninhamento substituir o nível de cabeçalho que você realmente quer dizer. -
Usar um
<div>com um manipulador de clique em vez de<a href>ou<button>. Por que está errado: você perde a ativação nativa pelo teclado e o papel acessível correto a menos que reconstrua manualmente ambos comrole,tabindexe manipuladores de teclas. O que fazer em vez disso: use<a href>quando a ação navegar para algum lugar,<button>quando fizer algo na página atual — e obtenha o comportamento nativo de graça.
Elementos de referência de uma olhada
Os sete elementos que este artigo cobre, para que cada um serve de fato e o padrão de uso incorreto a evitar.
| Elemento | Uso | Uso incorreto comum |
|---|---|---|
<header> | Conteúdo introdutório — banner do site, ou título/linha de autoria de um artigo/seção | Usá-lo para conteúdo que não é realmente introdutório |
<nav> | Navegação principal — menu primário, breadcrumbs, sumário na página | Envolver cada grupo de links (ex.: lista de posts relacionados) em <nav>, diluindo o sinal |
<main> | O conteúdo único, primário e exclusivo da página | Ter mais de um <main>, ou aninhá-lo dentro de <article>/<aside>/<header>/<footer>/<nav> |
<article> | Conteúdo autocontido que poderia ser exibido sozinho em um feed (post, card de produto, comentário) | Usá-lo apenas para tentar melhorar o ranqueamento — ele “não tem efeito particular” segundo Mueller |
<section> | Um agrupamento temático de conteúdo que tem seu próprio título | Usá-lo como substituto genérico de <div> sem título e sem tema real |
<aside> | Conteúdo tangencial — barra lateral, citação em destaque, caixa de links relacionados, anúncio | Usá-lo apenas porque algo está visualmente ao lado, não porque é genuinamente secundário |
<footer> | Conteúdo de fechamento — rodapé do site, ou tags/metadados de um artigo/seção | Tratá-lo como depósito para qualquer coisa no final de um bloco |
Regra rápida: se um bloco pode ser distribuído sozinho, é <article>; se
precisa de um título para fazer sentido, é <section>; se não é nenhum dos dois, é um <div>.
Além dos landmarks: elementos interativos e de dados
| Elemento | Uso | Uso incorreto comum |
|---|---|---|
<a href> | Navegar para uma URL ou fragmento | Fingir um link com um <div>/<span> estilizado e um manipulador de clique que muda a URL |
<button> | Uma ação na página atual (enviar, alternar, abrir) | Fingir um botão com um <div> estilizado — perde a ativação nativa por teclado e o papel |
<table> | Dados genuinamente tabulares, com <caption>/<th> | Usá-lo (ou uma grade de <div> fingindo ser uma) para layout de página em vez de dados reais |
<img alt="..."> | Uma descrição do que a imagem mostra, limitada ao motivo de ela estar ali | Texto alt cheio de palavras-chave, ou falta de alt="" em imagens decorativas |
<details>/<summary> | Um widget nativo de divulgação sem JS | Recriar um acordeão em <div>+JavaScript em vez de usar o elemento nativo |
Prompts para retrofit de HTML
Prompts prontos para copiar para a tarefa específica que este artigo cobre: encontrar div soup e convertê-la em marcação semântica correta. Cole o HTML da sua página (view-source, não o DOM renderizado) em um assistente de IA com um destes.
Sinalizar div soup e sugerir substituições
Here is the HTML for one of my pages. Identify every <div> or <span> that is standing
in for a semantic landmark, and suggest the correct replacement element from this list:
header, nav, main, article, section, aside, footer. For each suggestion, explain which
test it passes (e.g. "this could stand alone in a feed, so it's an <article>" or "this
has its own heading and one theme, so it's a <section>"). Flag any block that should
stay a <div> because it's purely a styling/layout hook.
[paste HTML here]Verificar erros estruturais de landmarks
Review this page's HTML for these specific structural mistakes: more than one <main>
element, a <main> nested inside <article>/<aside>/<header>/<footer>/<nav>, a <nav>
wrapping something that isn't major navigation, or a <section> with no heading. List
each problem found with the line/snippet and the fix.
[paste HTML here]Priorizar uma ordem de retrofit
Given this page's HTML, tell me which landmark to fix first for the biggest
accessibility and main-content-extraction benefit: establishing <main>/<header>/
<footer>/<nav>, converting self-contained blocks to <article>, converting themed
groups to <section>, or moving sidebars to <aside>. Order the fixes and say what
"done" looks like for each.
[paste HTML here] Landmarks correspondem à sua estrutura pretendida
Teste a executar: Abra a árvore de acessibilidade do DevTools do seu navegador (Chrome/Edge:
DevTools → Elements → painel Accessibility) na página com retrofit.
Resultado esperado: Os papéis de landmark listados (banner, navigation, main, complementary,
contentinfo) correspondem aos elementos semânticos que você realmente escreveu — um main/papel “main”,
um banner, etc.
Interpretação de falha: Um papel de landmark ausente ou duplicado significa que a marcação
não produziu a estrutura que você pretendia (ex.: um segundo <main>, ou um <div> que
deveria ter sido convertido).
Janela de monitoramento: Imediata — verifique logo após implantar o retrofit.
Gatilho de reversão: Mais de um landmark main/“main”, ou um landmark aninhado onde
não deveria estar (ex.: main dentro de article), significa desfazer e verificar a marcação novamente.
Exatamente um <main> por página
Teste a executar: grep -o "<main" page.html | wc -l contra o HTML renderizado (ou
view-source), ou pesquise por <main no painel Elements do DevTools.
Resultado esperado: Exatamente uma correspondência.
Interpretação de falha: Zero correspondências significa que nenhum landmark de conteúdo primário foi definido;
mais de uma significa que o “sinal único mais claro” sobre o conteúdo principal agora é ambíguo.
Janela de monitoramento: Imediata, no momento da implantação.
Gatilho de reversão: Qualquer contagem diferente de exatamente um.
Crawlers que não renderizam ainda veem a estrutura
Teste a executar: Busque a página com um cliente HTTP simples (curl ou “ver código-fonte da página”, não o DOM renderizado) e confirme que os elementos semânticos estão presentes na resposta bruta, não injetados posteriormente por JavaScript no lado do cliente.
Resultado esperado: <header>, <nav>, <main>, <article>/<section>, <aside> e <footer> aparecem todos no payload HTML inicial.
Interpretação de falha: Se as tags semânticas só aparecerem após a execução de JS, os rastreadores que não renderizam JavaScript (conforme o ponto sobre rastreadores de IA/LLM acima) nunca veem a estrutura.
Janela de monitoramento: Imediata — verifique novamente sempre que um template ou um framework JS mudar a forma como a página é renderizada.
Gatilho de reversão: Marcos semânticos presentes no DOM renderizado, mas ausentes na resposta HTML bruta.
Os níveis de cabeçalho são explícitos, não herdados do aninhamento
Teste a executar: Na árvore de acessibilidade do DevTools do seu navegador (ou em uma extensão de verificação de estrutura), liste os níveis de cabeçalho em ordem de documento e compare-os com as tags reais <h1>–<h6> no código-fonte, independentemente de quão profundamente cada cabeçalho esteja aninhado em elementos <section>/<article>.
Resultado esperado: O nível de cabeçalho relatado para cada cabeçalho corresponde à sua tag literal (um <h2> é relatado como nível 2, não importa em quantas seções esteja aninhado) — não há rebaixamento implícito por aninhamento.
Interpretação de falha: Se o seu template ou uma biblioteca de componentes estiver contando com o aninhamento de <section> para “automaticamente” diminuir o nível de um cabeçalho, essa suposição não se sustenta — o algoritmo antigo de estrutura de documento nunca foi implementado e a especificação atual não calcula estruturas dessa forma. Corrija as tags de cabeçalho reais.
Janela de monitoramento: Imediata, e sempre que um novo template ou padrão de componente introduzir seções aninhadas.
Gatilho de reversão: O nível renderizado/anunciado de um cabeçalho não corresponde à sua tag literal <h1>–<h6>.
Links falsos e botões falsos são acessíveis pelo teclado
Teste a executar: Navegue pela página usando apenas o teclado e tente ativar cada elemento clicável com Enter/Espaço; separadamente, verifique na árvore de acessibilidade o papel que cada elemento clicável relata.
Resultado esperado: Elementos que navegam relatam link (<a href> nativo); elementos que agem na página relatam button (<button> nativo) e ambos são alcançáveis e ativáveis pelo teclado sem código extra de role/tabindex/manipulador de teclas.
Interpretação de falha: Um <div> ou <span> com um manipulador de clique que não é alcançável pelo teclado, ou que relata um papel genérico em vez de link/button, significa que ele precisa ser convertido para o elemento nativo em vez de corrigido com ARIA.
Janela de monitoramento: Imediata — verifique novamente após qualquer mudança em biblioteca de componentes ou sistema de design em elementos interativos.
Gatilho de reversão: Qualquer controle clicável que não possa ser alcançado ou ativado apenas pelo teclado.
Teste-se: HTML semântico
Cinco perguntas rápidas sobre HTML semântico e o que ele faz (e não faz) para SEO. Escolha uma resposta para cada uma e depois confira.
Registro de alterações
Atualizado em 22 de ago. de 2026.
Resumo editorial e detalhes registrados da alteração.Detalhes da alteração
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
Não é possível fazer a comparação completa — nenhum instantâneo anterior foi arquivado para esta revisão.
Atualizado em 18 de jul. de 2026.
Resumo editorial e detalhes registrados da alteração.Detalhes da alteração
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
-
As notas detalhadas sobre as alterações estão disponíveis atualmente em inglês.
Não é possível fazer a comparação completa — nenhum instantâneo anterior foi arquivado para esta revisão.