Relatório de Acessibilidade de exemplo. A Harbor & Pine é uma loja fictícia que criamos com problemas comuns de acessibilidade e depois testamos com o mesmo mecanismo que analisa o seu site.
Analise seu site grátisRelatório de Acessibilidade de exemplo
harborandpine.example
- Plataforma:
- Shopify
- Gerado em:
- 24 de set. de 2026
- Páginas testadas:
- 9
- Mecanismo:
- axe-core 4.13.0
Resumo
- Testamos 9 páginas de harborandpine.example (4 do seu sitemap) em 24 de set. de 2026 com o axe-core 4.13.0, segundo os níveis A e AA da WCAG 2.2, além de um teste de compra só com o teclado.
- Testes WCAG automatizados encontraram falhas em 8 tipos de problema (131 ocorrências). 8 estão marcados como Corrigir primeiro.
- Percurso bloqueadoUm comprador que usa só o teclado fica bloqueado em: Escolher opções e quantidade.
- Verificação humana necessária para 4 itens: os testes automatizados sinalizaram, mas não conseguiram decidir.
- Comece por: O foco do teclado fica preso no banner de cookies; As opções do produto não podem ser escolhidas pelo teclado; Botões devem ter texto discernível.
Testes automatizados encontram parte dos problemas de acessibilidade de um site, não todos. Este relatório descreve o que nossos testes encontraram e como corrigir. Ele não é aconselhamento jurídico e não certifica conformidade com a ADA, a Lei Europeia de Acessibilidade ou qualquer lei.
Visão geral
- P1 · Corrigir primeiroBloqueia visitantes em páginas-chave
- 8
- P2 · Corrigir em seguidaBarreiras graves ou moderadas
- 0
- P3 · MelhorarProblemas leves e boas práticas
- 2
Ocorrências por gravidade
- Crítico
- 73
- Grave
- 58
- Moderado
- 25
- Leve
- 0
- Falhas verificadasTipos de problema em que um teste automatizado falhou
- 10
- Requer revisãoSinalizados, mas uma pessoa precisa decidir
- 4
- Verificações aprovadasRegras automatizadas sem falhas
- 32
- Não testadoEtapas do percurso e verificações manuais
- 7
Testamos 9 páginas, 4 delas escolhidas do seu sitemap. As datas-alvo são sugestões com base na gravidade; combine as datas finais com seu desenvolvedor.
Visão geral do site
Detectado a partir de evidências públicas nas páginas testadas. Uma classificação pode estar errada; ela só define quais verificações extras são executadas.
Tipo de site
- Loja virtualConfiança alta
- Usa Shopify, uma plataforma de lojas virtuais
- Link para um carrinho
- Links de produtos ou da loja
- Landing pageConfiança média
- Só 6 páginas internas com link
Tecnologias detectadas
- ShopifyConfiança alta
Arquivos ou scripts de Shopify na página
Verificações para este site
- Verificações universais: acessibilidade, SEO, velocidade, segurança e e-mail
- Módulo de e-commerce: páginas de coleção, produto e carrinho, e um percurso de compra pelo teclado até o botão de finalizar compra
- Notas sobre a Shopify: passos de correção no tema e no admin; cabeçalhos e cookies gerenciados pela plataforma mostrados como referência
Percurso de compra pelo teclado
Tentamos comprar usando só o teclado (Tab, Shift+Tab, Enter, Espaço, Escape), como fazem as pessoas que não conseguem usar um mouse. Adicionamos um item ao carrinho em uma sessão descartável e paramos no botão de finalizar compra: nunca entramos no checkout nem digitamos dados pessoais ou de pagamento. Objetivo: Ir da página inicial até o botão de finalizar compra usando só o teclado.
01Chegar à navegação principal
AprovadoO foco chegou a “Shop” na navegação depois de pressionar Tab 21 vezes.
Esperado: Pressionando Tab a partir do topo da página inicial, o foco chega aos links da navegação principal.
- Observação: Um banner de cookies prendeu o foco do teclado até pressionarmos Enter em “Accept all”.
Como reproduzir
https://harborandpine.example/
- Abra a página inicial.
- Clique na barra de endereços do navegador e pressione Tab várias vezes (Shift+Tab volta).
Ordem de foco que observamos
“Shop”
02Abrir um produto a partir de uma coleção
AprovadoO foco chegou a “Trail Daypack 22L” depois de pressionar Tab 9 vezes, e o Enter abriu /products/trail-daypack.
Esperado: O Tab chega a um produto na grade da coleção, e o Enter abre a página dele.
Como reproduzir
https://harborandpine.example/collections/all
- Abra /collections/all.
- Pressione Tab até que um produto da grade fique destacado e depois pressione Enter.
Ordem de foco que observamos
“Harbor & Pine” → “Shop” → “New arrivals” → “Our story” → body > header.site > div.icons > button → “Account” → body > header.site > div.icons > a → “FeaturedPrice, low to highPrice, high to low” → “Trail Daypack 22L”
03Escolher opções e quantidade
Com falha3 opções de produto não conseguem receber o foco do teclado: “S”, “M”, “L”. Elas respondem ao mouse, mas quem usa o teclado não consegue escolhê-las.
Esperado: Todas as opções do produto (tamanho, cor, variante) e o campo de quantidade podem ser alcançados com Tab.
2.1.1 Teclado · Confiança: alta

Escolher opções e quantidade: o elemento com falha, contornado Como reproduzir
https://harborandpine.example/products/trail-daypack
- Abra /products/trail-daypack.
- Pressione Tab a partir do topo da página e anote quais controles recebem o foco antes de Adicionar ao carrinho.
Ordem de foco que observamos
“Harbor & Pine” → “Shop” → “New arrivals” → “Our story” → … mais 5 … → body > header.site > div.icons > a → div.page.product > div.gallery > div.thumbs > button → div.page.product > div.gallery > div.thumbs > button → div.page.product > div.gallery > div.thumbs > button → div.page.product > div > div.swatches > button → div.page.product > div > div.swatches > button → div.page.product > div > div.swatches > button → “1” → “Add to cart”
Elemento <div class="size-option" data-fr="opt-1">S</div>04Adicionar ao carrinho com o teclado
Requer revisãoPressionar Enter em Adicionar ao carrinho funcionou (o contador do carrinho no cabeçalho mudou, apareceu uma mensagem de “adicionado ao carrinho”), mas não encontramos nenhuma mensagem de status nem caixa de diálogo com foco; por isso, usuários de leitores de tela podem não ouvir que o item foi adicionado.
Esperado: Pressionar Enter em Adicionar ao carrinho adiciona o item, e a confirmação é anunciada: uma mensagem de status, uma caixa de diálogo que recebe o foco ou a página do carrinho.
4.1.3 Mensagens de Status · Confiança: média

Adicionar ao carrinho com o teclado: a página nesta etapa Como reproduzir
https://harborandpine.example/products/trail-daypack
- Abra /products/trail-daypack.
- Pressione Tab até que Adicionar ao carrinho fique em foco e depois pressione Enter.
- Com um leitor de tela (VoiceOver: Cmd+F5), ouça se há uma confirmação.
05Alterar o carrinho e chegar ao checkout
AprovadoO foco chegou a todos os 4 controles do carrinho e ao botão de finalizar compra (“Check out”) com 12 pressionamentos de Tab. Não pressionamos o botão.
Esperado: Os campos de quantidade, os botões de remover e o botão de finalizar compra podem ser alcançados com Tab.
Como reproduzir
https://harborandpine.example/cart
- Adicione qualquer produto ao carrinho e abra a página do carrinho.
- Pressione Tab e confira se os campos de quantidade, os botões de remover e o botão de finalizar compra recebem o foco.
Ordem de foco que observamos
“Harbor & Pine” → “Shop” → “New arrivals” → “Our story” → body > header.site > div.icons > button → “Account” → body > header.site > div.icons > a → “1” → tbody > tr > td > button.remove → “2” → tbody > tr > td > button.remove → “Check out”
06Checkout
Não testadoParamos no botão de finalizar compra: nunca entramos no checkout, criamos um pedido nem digitamos dados de pagamento. Na Shopify, as páginas de checkout são gerenciadas pela própria Shopify, não pelo seu tema. Verifique o checkout manualmente (veja Verificações manuais).
Mapa de alegações da notificação
Cada alegação da notificação, comparada com as evidências da análise. Uma comparação factual, não aconselhamento jurídico.
- Reproduzido
“Images lack alternative text, so product photos are not described.”
Imagens sem alternativa em texto. 10 ocorrências em 3 de 5 páginas testadas.
image-alt
- Reproduzido
“Text has insufficient color contrast against its background, including sale badges and prices.”
Baixo contraste de cores. 16 ocorrências em 5 de 5 páginas testadas.
color-contrast
- Reproduzido
“The website cannot be navigated using a keyboard alone.”
Acesso pelo teclado e foco. O foco do teclado fica preso no banner de cookies.
- Reproduzido
“Form fields do not have labels, including the newsletter sign-up and the quantity fields in the cart.”
Campos de formulário sem rótulo. 4 ocorrências em 3 de 5 páginas testadas.
select-name, label
- Verificação manual
“Product videos do not have captions.”
Legendas de vídeo e áudio. Análises automatizadas não conseguem avaliar legendas. Confira se cada vídeo de produto ou da marca tem legendas precisas e uma transcrição.
- Verificação manual
“Our client is legally blind and uses screen reader software.”
Outros problemas. Esta é uma alegação genérica. Teste os fluxos principais (busca, página de produto, adicionar ao carrinho, checkout) com um leitor de tela como VoiceOver ou NVDA.
Plano de correção
| Prioridade | Problema | Status | WCAG | Ocorrências | Responsável | Data-alvo |
|---|---|---|---|---|---|---|
| P1 | O foco do teclado fica preso no banner de cookies | Verificado | 2.1.2 | 1 | fornecedor do app | 2026-10-08 |
| P1 | As opções do produto não podem ser escolhidas pelo teclado | Verificado | 2.1.1 | 1 | desenvolvedor do tema | 2026-10-08 |
| P1 | Botões devem ter texto discernível | Verificado | 4.1.2 | 41 | desenvolvedor do tema | 2026-10-08 |
| P1 | Imagens devem ter texto alternativo | Verificado | 1.1.1 | 22 | editor de conteúdo | 2026-10-08 |
| P1 | Elementos de formulário devem ter rótulos | Verificado | 4.1.2 | 7 | desenvolvedor do tema | 2026-10-08 |
| P1 | O elemento 'select' deve ter um nome acessível | Verificado | 4.1.2 | 1 | desenvolvedor do tema | 2026-10-08 |
| P1 | Links devem ter um texto discernível | Verificado | 2.4.4, 4.1.2 | 36 | desenvolvedor do tema | 2026-10-08 |
| P1 | Os elementos devem ter contraste de cor suficiente | Verificado | 1.4.3 | 22 | lojista (configurações do admin) | 2026-10-08 |
| P3 | Todo o conteúdo da página deve estar contido em regiões (landmarks) | Verificado | Boa prática | 18 | desenvolvedor do tema | 2026-11-23 |
| P3 | Níveis dos títulos devem aumentar de um em um | Verificado | Boa prática | 7 | desenvolvedor do tema | 2026-11-23 |
Como corrigir cada problema
O foco do teclado fica preso no banner de cookies
esforço: médio · responsável: fornecedor do app · 2.1.2 Sem Bloqueio do Teclado
Quando quem navega pelo teclado pressiona Tab, o foco circula por poucos elementos e nunca chega ao resto da página.
Quem usa só o teclado ou um leitor de tela não consegue comprar nada se o foco fica preso (WCAG 2.1.2 Sem Bloqueio do Teclado).
Evidência
- Encontrado por
- Teste de teclado (Tab ao longo da página inicial)
- Status · confiança
- Falha verificada · alta
- Detectado em
- 24 de set. de 2026 (UTC)
- Onde
- 1 ocorrência em 1 página
Esperado: Pressionar Tab percorre todos os elementos interativos da página e segue para o resto da página.
Observado: Depois de 40 toques na tecla Tab, o foco continuou circulando por: Settings, Accept all.
Como reproduzir
- Abra a página inicial.
- Clique na barra de endereço e depois pressione Tab várias vezes.
- O foco continua voltando para os mesmos poucos elementos.
Elementos com falha (6 mostrados)
SettingsAccept allSettingsAccept allSettingsAccept allPáginas afetadas (1)
- https://harborandpine.example/
Como corrigir
Orientação geral- Procure nas configurações do app do seu banner de cookies ou de consentimento uma opção de acessibilidade ou de armadilha de foco, ou peça ao fornecedor que corrija.
- Um modal só pode manter o foco dentro dele enquanto estiver aberto, e deve fechar com a tecla Escape e devolver o foco para onde ele estava.
Corrija com IAMostrar o prompt
Cole isto no ChatGPT, Claude, Cursor ou Copilot junto com o arquivo do seu tema. Revise a mudança antes de publicá-la.
Administro uma loja Shopify (tema Online Store 2.0, templates Liquid) em harborandpine.example. Um teste de acessibilidade encontrou este problema e quero corrigi-lo no meu tema. Problema: O foco do teclado fica preso no banner de cookies (WCAG 2.1.2). Onde: 1 ocorrência em 1 página, por exemplo /. Um elemento com falha, como o navegador o renderizou: ```html Settings ``` Por que isso importa: Quem usa só o teclado ou um leitor de tela não consegue comprar nada se o foco fica preso (WCAG 2.1.2 Sem Bloqueio do Teclado). O que precisa mudar: - Procure nas configurações do app do seu banner de cookies ou de consentimento uma opção de acessibilidade ou de armadilha de foco, ou peça ao fornecedor que corrija. - Um modal só pode manter o foco dentro dele enquanto estiver aberto, e deve fechar com a tecla Escape e devolver o foco para onde ele estava. Regras para a sua resposta: - Mostre a alteração exata como antes e depois, e diga em qual arquivo ou configuração ela entra. Se precisar ver meu arquivo primeiro, peça para eu colá-lo. - Mantenha o design visual e todo o comportamento existente iguais. - Não invente nomes de produtos, preços nem textos; use marcadores que eu possa preencher. - Termine explicando como eu mesmo posso conferir a correção. - Inclua como confirmar a correção com o teclado e com um leitor de tela.
Confira sua correção
- Carregue a página inicial, pressione Tab várias vezes e confirme que o foco chega à navegação principal e ao conteúdo.
Detectado por um teste automatizado de teclado; confirme manualmente.
As opções do produto não podem ser escolhidas pelo teclado
esforço: médio · responsável: desenvolvedor do tema · 2.1.1 Teclado
As opções de tamanho, cor ou variante respondem ao mouse, mas não podem receber o foco do teclado, então quem navega pelo teclado não consegue escolher uma variante.
Compradores que usam só o teclado, incluindo muitas pessoas que usam leitor de tela, não conseguem passar desta etapa (WCAG 2.1.1).
Evidência
- Encontrado por
- Percurso pelo teclado
- Status · confiança
- Falha verificada · alta
- Detectado em
- 24 de set. de 2026 (UTC)
- Onde
- 1 ocorrência em 1 página
Esperado: Todas as opções do produto (tamanho, cor, variante) e o campo de quantidade podem ser alcançados com Tab.
Observado: 3 opções de produto não conseguem receber o foco do teclado: “S”, “M”, “L”. Elas respondem ao mouse, mas quem usa o teclado não consegue escolhê-las.

Como reproduzir
- Abra /products/trail-daypack.
- Pressione Tab a partir do topo da página e anote quais controles recebem o foco antes de Adicionar ao carrinho.
Elementos com falha (1 mostrados)
<div class="size-option" data-fr="opt-1">S</div>Páginas afetadas (1)
- https://harborandpine.example/products/trail-daypack
Como corrigir
Orientação geral- Crie os seletores de opção com botões de opção (radio) nativos (ou um <select>) com rótulos visíveis; estilize o rótulo como a amostra.
- Se você mantiver elementos personalizados, cada opção precisa de tabindex="0", role="radio" com aria-checked dentro de um role="radiogroup", e de suporte às setas e à barra de espaço. Os radios nativos já oferecem tudo isso.
Código
Exemplos de implementação para o seu desenvolvedor. Não temos o código-fonte do seu tema, então as localizações dos arquivos são indicações, não caminhos exatos.
<div class="size-option" data-fr="opt-1">S</div><fieldset class="variant-picker">
<legend>Size</legend>
<input type="radio" id="size-s" name="Size" value="S" class="visually-hidden">
<label for="size-s" class="size-option">S</label>
<input type="radio" id="size-m" name="Size" value="M" class="visually-hidden">
<label for="size-m" class="size-option">M</label>
</fieldset>Cada opção é um botão de opção (radio) de verdade, alcançável com Tab e alterado com as setas; o rótulo mantém o estilo da sua amostra. Use os nomes e valores das suas opções.
Corrija com IAMostrar o prompt
Cole isto no ChatGPT, Claude, Cursor ou Copilot junto com o arquivo do seu tema. Revise a mudança antes de publicá-la.
Administro uma loja Shopify (tema Online Store 2.0, templates Liquid) em harborandpine.example. Um teste de acessibilidade encontrou este problema e quero corrigi-lo no meu tema. Problema: As opções do produto não podem ser escolhidas pelo teclado (WCAG 2.1.1). Onde: 1 ocorrência em 1 página, por exemplo /products/trail-daypack. Um elemento com falha, como o navegador o renderizou: ```html <div class="size-option" data-fr="opt-1">S</div> ``` Por que isso importa: Compradores que usam só o teclado, incluindo muitas pessoas que usam leitor de tela, não conseguem passar desta etapa (WCAG 2.1.1). O que precisa mudar: - Crie os seletores de opção com botões de opção (radio) nativos (ou um <select>) com rótulos visíveis; estilize o rótulo como a amostra. - Se você mantiver elementos personalizados, cada opção precisa de tabindex="0", role="radio" com aria-checked dentro de um role="radiogroup", e de suporte às setas e à barra de espaço. Os radios nativos já oferecem tudo isso. Uma mudança sugerida (O formulário de produto do seu tema (seletor de variantes)): ```html <fieldset class="variant-picker"> <legend>Size</legend> <input type="radio" id="size-s" name="Size" value="S" class="visually-hidden"> <label for="size-s" class="size-option">S</label> <input type="radio" id="size-m" name="Size" value="M" class="visually-hidden"> <label for="size-m" class="size-option">M</label> </fieldset> ``` Regras para a sua resposta: - Mostre a alteração exata como antes e depois, e diga em qual arquivo ou configuração ela entra. Se precisar ver meu arquivo primeiro, peça para eu colá-lo. - Mantenha o design visual e todo o comportamento existente iguais. - Não invente nomes de produtos, preços nem textos; use marcadores que eu possa preencher. - Termine explicando como eu mesmo posso conferir a correção. - Inclua como confirmar a correção com o teclado e com um leitor de tela.
Confira sua correção
- Repita os passos de reprodução usando só o teclado.
- Peça um novo teste a partir deste relatório: o percurso é executado de novo.
Imagens devem ter texto alternativo
esforço: médio · responsável: editor de conteúdo · 1.1.1 Conteúdo Não Textual
Há imagens sem alternativa em texto, então quem usa leitor de tela não sabe o que elas mostram.
O critério 1.1.1 da WCAG exige uma alternativa em texto para imagens com significado. Sem ela, quem usa leitor de tela não consegue saber qual produto uma foto mostra.
Evidência
- Encontrado por
- Regra automatizada do axe-core
- Status · confiança
- Falha verificada · alta
- Detectado em
- 24 de set. de 2026 (UTC)
- Onde
- 22 ocorrências em 7 páginas
Esperado: Imagens devem ter texto alternativo
Observado: O elemento não tem um atributo 'alt'. O atributo 'aria-label' não existe ou está vazio. O atributo 'aria-labelledby' não existe, referencia elementos que não existem ou são vazios. O elemento não tem um atributo 'title'. A semântica padrão do elemento não foi sobrescrita com role="none" or role="presentation".


Como reproduzir
- Abra https://harborandpine.example/ no Chrome ou no Edge.
- Abra o DevTools (F12) › Elementos, pressione Ctrl+F (Cmd+F no Mac) e pesquise: img[src$="hero-photo.jpg"]
- No painel Acessibilidade do DevTools, o Nome calculado do elemento está vazio.
- Ou execute na página a extensão gratuita axe DevTools para navegador: ela informa isto como “image-alt”.
Elementos com falha (4 mostrados)
<img src="/img/hero-photo.jpg" loading="lazy"><img src="/img/mug.svg"><img src="/img/beanie.svg"><img src="/img/jacket.svg">Páginas afetadas (7)
- https://harborandpine.example/
- https://harborandpine.example/collections/all
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Como corrigir
Código criado a partir do HTML da sua página- No admin da Shopify, abra Produtos > [produto] > Mídia, clique em cada imagem e preencha “Texto alternativo”. Para imagens de seções, abra Loja virtual > Temas > Personalizar e defina o texto alternativo da imagem nas configurações da seção.
- Descreva o que importa para quem compra: nome do produto, cor e o ângulo mostrado (por exemplo “Bolsa de lona verde-oliva, vista frontal”).
- Imagens decorativas devem ter um atributo alt vazio (alt="") para que os leitores de tela as ignorem.
Código
Exemplos de implementação para o seu desenvolvedor. Não temos o código-fonte do seu tema, então as localizações dos arquivos são indicações, não caminhos exatos.
<img src="/img/hero-photo.jpg" loading="lazy"><img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]">Descreva o que a imagem mostra (em uma foto de produto: produto, cor, ângulo). Se a imagem for puramente decorativa, use alt="" para que os leitores de tela a ignorem.
<img src="/img/mug.svg"><img src="/img/mug.svg" alt="[Describe the image for a shopper]">Descreva o que a imagem mostra (em uma foto de produto: produto, cor, ângulo). Se a imagem for puramente decorativa, use alt="" para que os leitores de tela a ignorem.
<img src="/img/beanie.svg"><img src="/img/beanie.svg" alt="[Describe the image for a shopper]">Descreva o que a imagem mostra (em uma foto de produto: produto, cor, ângulo). Se a imagem for puramente decorativa, use alt="" para que os leitores de tela a ignorem.
<img src="/img/jacket.svg"><img src="/img/jacket.svg" alt="[Describe the image for a shopper]">Descreva o que a imagem mostra (em uma foto de produto: produto, cor, ângulo). Se a imagem for puramente decorativa, use alt="" para que os leitores de tela a ignorem.
Corrija com IAMostrar o prompt
Cole isto no ChatGPT, Claude, Cursor ou Copilot junto com o arquivo do seu tema. Revise a mudança antes de publicá-la.
Administro uma loja Shopify (tema Online Store 2.0, templates Liquid) em harborandpine.example. Um teste de acessibilidade encontrou este problema e quero corrigi-lo no meu tema. Problema: Imagens devem ter texto alternativo (WCAG 1.1.1). Onde: 22 ocorrências em 7 páginas, por exemplo /, /collections/all, /products/trail-daypack, /products/pine-wool-beanie. Um elemento com falha, como o navegador o renderizou: ```html <img src="/img/hero-photo.jpg" loading="lazy"> ``` Por que isso importa: O critério 1.1.1 da WCAG exige uma alternativa em texto para imagens com significado. Sem ela, quem usa leitor de tela não consegue saber qual produto uma foto mostra. O que precisa mudar: - No admin da Shopify, abra Produtos > [produto] > Mídia, clique em cada imagem e preencha “Texto alternativo”. Para imagens de seções, abra Loja virtual > Temas > Personalizar e defina o texto alternativo da imagem nas configurações da seção. - Descreva o que importa para quem compra: nome do produto, cor e o ângulo mostrado (por exemplo “Bolsa de lona verde-oliva, vista frontal”). - Imagens decorativas devem ter um atributo alt vazio (alt="") para que os leitores de tela as ignorem. Uma mudança sugerida (Fotos de produto: admin da Shopify › Produtos › Mídia › Texto alternativo. Outras imagens: o código do seu tema): ```html <img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]"> ``` Regras para a sua resposta: - Mostre a alteração exata como antes e depois, e diga em qual arquivo ou configuração ela entra. Se precisar ver meu arquivo primeiro, peça para eu colá-lo. - Mantenha o design visual e todo o comportamento existente iguais. - Não invente nomes de produtos, preços nem textos; use marcadores que eu possa preencher. - Termine explicando como eu mesmo posso conferir a correção. - Inclua como confirmar a correção com o teclado e com um leitor de tela.
Confira sua correção
- Analise de novo as páginas afetadas.
- Use um leitor de tela (VoiceOver: Cmd+F5 no Mac) para ouvir como as imagens de produto são anunciadas.
Orientação detalhada: https://dequeuniversity.com/rules/axe/4.13/image-alt?application=playwright
Elementos de formulário devem ter rótulos
esforço: baixo · responsável: desenvolvedor do tema · 4.1.2 Nome, Função, Valor
Alguns campos de formulário não têm rótulo, então quem usa leitor de tela não sabe o que digitar.
Os critérios 1.3.1, 3.3.2 e 4.1.2 da WCAG exigem que os campos de formulário tenham rótulos. Campos de inscrição na newsletter e de busca são os casos mais comuns.
Evidência
- Encontrado por
- Regra automatizada do axe-core
- Status · confiança
- Falha verificada · alta
- Detectado em
- 24 de set. de 2026 (UTC)
- Onde
- 7 ocorrências em 6 páginas
Esperado: Elementos de formulário devem ter rótulos
Observado: O elemento de formulário não tem <label> implícito (envolvido). O elemento de formulário não tem um <label> explícito. O atributo 'aria-label' não existe ou está vazio. O atributo 'aria-labelledby' não existe, referencia elementos que não existem ou são vazios. O elemento não tem um atributo 'title'. O elemento não tem um atributo 'placeholder'. A semântica padrão do elemento não foi sobrescrita com role="none" or role="presentation".


Como reproduzir
- Abra https://harborandpine.example/products/trail-daypack no Chrome ou no Edge.
- Abra o DevTools (F12) › Elementos, pressione Ctrl+F (Cmd+F no Mac) e pesquise: input
- No painel Acessibilidade do DevTools, o Nome calculado do elemento está vazio.
- Ou execute na página a extensão gratuita axe DevTools para navegador: ela informa isto como “label”.
Elementos com falha (2 mostrados)
<input type="number" value="1" min="1"><input type="number" value="2" min="1">Páginas afetadas (6)
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/cart
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Como corrigir
Código criado a partir do HTML da sua página- Dê a cada campo um elemento <label for="field-id"> ou, no mínimo, um aria-label.
- Um texto de placeholder sozinho não conta como rótulo.
Código
Exemplos de implementação para o seu desenvolvedor. Não temos o código-fonte do seu tema, então as localizações dos arquivos são indicações, não caminhos exatos.
<input type="number" value="1" min="1"><input type="number" value="1" min="1" aria-label="Quantity">O campo não tem id, então a correção mais rápida é um aria-label. Um <label> visível é melhor para todos. O texto do rótulo “Quantity” foi deduzido do campo; ajuste se necessário.
<input type="number" value="2" min="1"><input type="number" value="2" min="1" aria-label="Quantity">O campo não tem id, então a correção mais rápida é um aria-label. Um <label> visível é melhor para todos. O texto do rótulo “Quantity” foi deduzido do campo; ajuste se necessário.
Corrija com IAMostrar o prompt
Cole isto no ChatGPT, Claude, Cursor ou Copilot junto com o arquivo do seu tema. Revise a mudança antes de publicá-la.
Administro uma loja Shopify (tema Online Store 2.0, templates Liquid) em harborandpine.example. Um teste de acessibilidade encontrou este problema e quero corrigi-lo no meu tema. Problema: Elementos de formulário devem ter rótulos (WCAG 4.1.2). Onde: 7 ocorrências em 6 páginas, por exemplo /products/trail-daypack, /cart, /products/pine-wool-beanie, /products/enamel-camp-mug. Um elemento com falha, como o navegador o renderizou: ```html <input type="number" value="1" min="1"> ``` Por que isso importa: Os critérios 1.3.1, 3.3.2 e 4.1.2 da WCAG exigem que os campos de formulário tenham rótulos. Campos de inscrição na newsletter e de busca são os casos mais comuns. O que precisa mudar: - Dê a cada campo um elemento <label for="field-id"> ou, no mínimo, um aria-label. - Um texto de placeholder sozinho não conta como rótulo. Uma mudança sugerida (O código do seu tema (procure nele o HTML mostrado)): ```html <input type="number" value="1" min="1" aria-label="Quantity"> ``` Regras para a sua resposta: - Mostre a alteração exata como antes e depois, e diga em qual arquivo ou configuração ela entra. Se precisar ver meu arquivo primeiro, peça para eu colá-lo. - Mantenha o design visual e todo o comportamento existente iguais. - Não invente nomes de produtos, preços nem textos; use marcadores que eu possa preencher. - Termine explicando como eu mesmo posso conferir a correção. - Inclua como confirmar a correção com o teclado e com um leitor de tela.
Confira sua correção
- Analise de novo e confirme que a regra label não falha mais.
- Clique em cada rótulo e confira se ele coloca o foco no campo correspondente.
Orientação detalhada: https://dequeuniversity.com/rules/axe/4.13/label?application=playwright
O elemento 'select' deve ter um nome acessível
esforço: baixo · responsável: desenvolvedor do tema · 4.1.2 Nome, Função, Valor
Um menu suspenso (muitas vezes um seletor de ordenação ou de variante) não tem rótulo.
O critério 4.1.2 da WCAG exige que menus de seleção tenham um nome acessível.
Evidência
- Encontrado por
- Regra automatizada do axe-core
- Status · confiança
- Falha verificada · alta
- Detectado em
- 24 de set. de 2026 (UTC)
- Onde
- 1 ocorrência em 1 página
Esperado: O elemento 'select' deve ter um nome acessível
Observado: O elemento de formulário não tem <label> implícito (envolvido). O elemento de formulário não tem um <label> explícito. O atributo 'aria-label' não existe ou está vazio. O atributo 'aria-labelledby' não existe, referencia elementos que não existem ou são vazios. O elemento não tem um atributo 'title'. A semântica padrão do elemento não foi sobrescrita com role="none" or role="presentation".

Como reproduzir
- Abra https://harborandpine.example/collections/all no Chrome ou no Edge.
- Abra o DevTools (F12) › Elementos, pressione Ctrl+F (Cmd+F no Mac) e pesquise: select
- No painel Acessibilidade do DevTools, o Nome calculado do elemento está vazio.
- Ou execute na página a extensão gratuita axe DevTools para navegador: ela informa isto como “select-name”.
Elementos com falha (1 mostrados)
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>Páginas afetadas (1)
- https://harborandpine.example/collections/all
Como corrigir
Código criado a partir do HTML da sua página- Adicione um <label> vinculado ao select, ou um aria-label como aria-label="Sort by".
Código
Exemplos de implementação para o seu desenvolvedor. Não temos o código-fonte do seu tema, então as localizações dos arquivos são indicações, não caminhos exatos.
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select><select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>O campo não tem id, então a correção mais rápida é um aria-label. Um <label> visível é melhor para todos. Substitua o texto entre colchetes pelo rótulo do campo.
Corrija com IAMostrar o prompt
Cole isto no ChatGPT, Claude, Cursor ou Copilot junto com o arquivo do seu tema. Revise a mudança antes de publicá-la.
Administro uma loja Shopify (tema Online Store 2.0, templates Liquid) em harborandpine.example. Um teste de acessibilidade encontrou este problema e quero corrigi-lo no meu tema. Problema: O elemento 'select' deve ter um nome acessível (WCAG 4.1.2). Onde: 1 ocorrência em 1 página, por exemplo /collections/all. Um elemento com falha, como o navegador o renderizou: ```html <select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select> ``` Por que isso importa: O critério 4.1.2 da WCAG exige que menus de seleção tenham um nome acessível. O que precisa mudar: - Adicione um <label> vinculado ao select, ou um aria-label como aria-label="Sort by". Uma mudança sugerida (O código do seu tema (procure nele o HTML mostrado)): ```html <select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select> ``` Regras para a sua resposta: - Mostre a alteração exata como antes e depois, e diga em qual arquivo ou configuração ela entra. Se precisar ver meu arquivo primeiro, peça para eu colá-lo. - Mantenha o design visual e todo o comportamento existente iguais. - Não invente nomes de produtos, preços nem textos; use marcadores que eu possa preencher. - Termine explicando como eu mesmo posso conferir a correção. - Inclua como confirmar a correção com o teclado e com um leitor de tela.
Confira sua correção
- Analise de novo as páginas de coleção e de produto.
Orientação detalhada: https://dequeuniversity.com/rules/axe/4.13/select-name?application=playwright
Links devem ter um texto discernível
esforço: baixo · responsável: desenvolvedor do tema · 2.4.4 Finalidade do Link (Em Contexto), 4.1.2 Nome, Função, Valor
Alguns links não têm texto que um leitor de tela possa anunciar; muitas vezes são links só com ícone, como os de redes sociais ou o ícone do carrinho.
Os critérios 2.4.4 e 4.1.2 da WCAG exigem que os links tenham um nome acessível que descreva a finalidade deles.
Evidência
- Encontrado por
- Regra automatizada do axe-core
- Status · confiança
- Falha verificada · alta
- Detectado em
- 24 de set. de 2026 (UTC)
- Onde
- 36 ocorrências em 9 páginas
Esperado: Links devem ter um texto discernível
Observado: O elemento está na ordem de tabulação e não tem nome acessível. Além disso: O elemento não tem texto que seja visível aos leitores de tela. O atributo 'aria-label' não existe ou está vazio. O atributo 'aria-labelledby' não existe, referencia elementos que não existem ou são vazios. O elemento não tem um atributo 'title'.


Como reproduzir
- Abra https://harborandpine.example/ no Chrome ou no Edge.
- Abra o DevTools (F12) › Elementos, pressione Ctrl+F (Cmd+F no Mac) e pesquise: a[href$="cart"]
- No painel Acessibilidade do DevTools, o Nome calculado do elemento está vazio.
- Ou execute na página a extensão gratuita axe DevTools para navegador: ela informa isto como “link-name”.
Elementos com falha (4 mostrados)
<a href="/cart"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 4h2l2.4 11h11l2-8H6.5"></path><circle cx="9" cy="20" r="1.5"></circle><circle cx="18" cy="20" r="1.5"></circle></svg></a><a href="https://instagram.example/harborandpine"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="5"></rect><circle cx="12" cy="12" r="4"></circle></svg></a><a href="https://facebook.example/harborandpine"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M14 8h3V4h-3c-2.8 0-4 1.8-4 4v2H7v4h3v8h4v-8h3l1-4h-4V8.5c0-.3.2-.5.5-.5z"></path></svg></a><a href="https://x.example/harborandpine"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 4l16 16M20 4L4 20"></path></svg></a>Páginas afetadas (9)
- https://harborandpine.example/
- https://harborandpine.example/collections/all
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/cart
- https://harborandpine.example/pages/about
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Como corrigir
Código criado a partir do HTML da sua página- Encontre os links nos exemplos abaixo. A maioria são ícones ou imagens dentro de uma tag <a>.
- Adicione um texto visualmente oculto dentro do link, ou um aria-label como aria-label="Instagram" ou aria-label="Cart".
- Se o link envolve uma imagem, dê à imagem um texto alternativo significativo.
Código
Exemplos de implementação para o seu desenvolvedor. Não temos o código-fonte do seu tema, então as localizações dos arquivos são indicações, não caminhos exatos.
<a href="/cart">…</a><a href="/cart" aria-label="Cart">…</a>Dá ao link o nome “Cart”, deduzido do endereço ou das classes dele. Confira se ele diz o que o link faz.
<a href="https://instagram.example/harborandpine">…</a><a href="https://instagram.example/harborandpine" aria-label="Instagram">…</a>Dá ao link o nome “Instagram”, deduzido do endereço ou das classes dele. Confira se ele diz o que o link faz.
<a href="https://facebook.example/harborandpine">…</a><a href="https://facebook.example/harborandpine" aria-label="Facebook">…</a>Dá ao link o nome “Facebook”, deduzido do endereço ou das classes dele. Confira se ele diz o que o link faz.
<a href="https://x.example/harborandpine">…</a><a href="https://x.example/harborandpine" aria-label="X (Twitter)">…</a>Dá ao link o nome “X (Twitter)”, deduzido do endereço ou das classes dele. Confira se ele diz o que o link faz.
Corrija com IAMostrar o prompt
Cole isto no ChatGPT, Claude, Cursor ou Copilot junto com o arquivo do seu tema. Revise a mudança antes de publicá-la.
Administro uma loja Shopify (tema Online Store 2.0, templates Liquid) em harborandpine.example. Um teste de acessibilidade encontrou este problema e quero corrigi-lo no meu tema. Problema: Links devem ter um texto discernível (WCAG 2.4.4, 4.1.2). Onde: 36 ocorrências em 9 páginas, por exemplo /, /collections/all, /products/trail-daypack, /cart. Um elemento com falha, como o navegador o renderizou: ```html <a href="/cart"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 4h2l2.4 11h11l2-8H6.5"></path><circle cx="9" cy="20" r="1.5"></circle><circle cx="18" cy="20" r="1.5"></circle></svg></a> ``` Por que isso importa: Os critérios 2.4.4 e 4.1.2 da WCAG exigem que os links tenham um nome acessível que descreva a finalidade deles. O que precisa mudar: - Encontre os links nos exemplos abaixo. A maioria são ícones ou imagens dentro de uma tag <a>. - Adicione um texto visualmente oculto dentro do link, ou um aria-label como aria-label="Instagram" ou aria-label="Cart". - Se o link envolve uma imagem, dê à imagem um texto alternativo significativo. Uma mudança sugerida (O código do seu tema (procure nele o HTML mostrado)): ```html <a href="/cart" aria-label="Cart">…</a> ``` Regras para a sua resposta: - Mostre a alteração exata como antes e depois, e diga em qual arquivo ou configuração ela entra. Se precisar ver meu arquivo primeiro, peça para eu colá-lo. - Mantenha o design visual e todo o comportamento existente iguais. - Não invente nomes de produtos, preços nem textos; use marcadores que eu possa preencher. - Termine explicando como eu mesmo posso conferir a correção. - Inclua como confirmar a correção com o teclado e com um leitor de tela.
Confira sua correção
- Analise de novo e confirme que link-name desapareceu.
- Com um leitor de tela ativo, vá até cada link com Tab e ouça o nome.
Orientação detalhada: https://dequeuniversity.com/rules/axe/4.13/link-name?application=playwright
Os elementos devem ter contraste de cor suficiente
esforço: baixo · responsável: lojista (configurações do admin) · 1.4.3 Contraste (Mínimo)
Alguns textos não se destacam o suficiente do fundo para serem lidos por pessoas com baixa visão.
O critério 1.4.3 da WCAG exige uma razão de contraste de pelo menos 4,5:1 para texto normal e 3:1 para texto grande. Preços, selos e banners apagados são difíceis de ler para pessoas com baixa visão e para qualquer pessoa sob luz forte.
Evidência
- Encontrado por
- Regra automatizada do axe-core
- Status · confiança
- Falha verificada · alta
- Detectado em
- 24 de set. de 2026 (UTC)
- Onde
- 22 ocorrências em 9 páginas
Esperado: Os elementos devem ter contraste de cor suficiente
Observado: O elemento tem contraste insuficiente no valor de 3.09 (cor do primeiro plano: #ffffff, cor de fundo: #e76f51, tamanho da fonte: 9.8pt (13px), normal/negrito: normal). Contraste esperado no valor de 4.5:1.


Como reproduzir
- Abra https://harborandpine.example/ no Chrome ou no Edge.
- Abra o DevTools (F12) › Elementos, pressione Ctrl+F (Cmd+F no Mac) e pesquise: .announce
- Clique na amostra de cor ao lado da cor do elemento no painel Estilos para ver a razão de contraste medida.
- Ou execute na página a extensão gratuita axe DevTools para navegador: ela informa isto como “color-contrast”.
Elementos com falha (4 mostrados)
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div><span class="badge">Sale</span><span class="compare">$72</span><span class="compare">$40</span>Páginas afetadas (9)
- https://harborandpine.example/
- https://harborandpine.example/collections/all
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/cart
- https://harborandpine.example/pages/about
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Como corrigir
Código criado a partir do HTML da sua página- Abra os elementos com falha listados abaixo e anote as cores do texto e do fundo no resumo da falha.
- Em Loja virtual > Temas > Personalizar > Configurações do tema > Cores, escureça a cor do texto ou clareie o fundo do esquema de cores afetado até a razão chegar a pelo menos 4,5:1.
- Preste atenção especial a selos de promoção, textos de placeholder, links do rodapé e botões sobre imagens.
Código
Exemplos de implementação para o seu desenvolvedor. Não temos o código-fonte do seu tema, então as localizações dos arquivos são indicações, não caminhos exatos.
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>.announce {
background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}Medido 3,09:1 para texto de 13px; o critério 1.4.3 da WCAG exige 4,5:1. #b95941 mantém o mesmo matiz e é aprovada. O seletor é o que o nosso teste usou; seu tema pode usar uma classe mais ampla para o mesmo estilo.
<span class="badge">Sale</span>.badge {
background-color: #9f693f; /* was #f4a261: 2.06:1, now 4.59:1 */
}Medido 2,06:1 para texto de 12px em negrito; o critério 1.4.3 da WCAG exige 4,5:1. #9f693f mantém o mesmo matiz e é aprovada. O seletor é o que o nosso teste usou; seu tema pode usar uma classe mais ampla para o mesmo estilo.
<span class="compare">$72</span>.compare {
color: #78736c; /* was #b0a99f: 2.29:1, now 4.62:1 */
}Medido 2,29:1 para texto de 14px; o critério 1.4.3 da WCAG exige 4,5:1. #78736c mantém o mesmo matiz e é aprovada. O seletor é o que o nosso teste usou; seu tema pode usar uma classe mais ampla para o mesmo estilo.
Corrija com IAMostrar o prompt
Cole isto no ChatGPT, Claude, Cursor ou Copilot junto com o arquivo do seu tema. Revise a mudança antes de publicá-la.
Administro uma loja Shopify (tema Online Store 2.0, templates Liquid) em harborandpine.example. Um teste de acessibilidade encontrou este problema e quero corrigi-lo no meu tema.
Problema: Os elementos devem ter contraste de cor suficiente (WCAG 1.4.3).
Onde: 22 ocorrências em 9 páginas, por exemplo /, /collections/all, /products/trail-daypack, /cart.
Um elemento com falha, como o navegador o renderizou:
```html
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
```
Por que isso importa: O critério 1.4.3 da WCAG exige uma razão de contraste de pelo menos 4,5:1 para texto normal e 3:1 para texto grande. Preços, selos e banners apagados são difíceis de ler para pessoas com baixa visão e para qualquer pessoa sob luz forte.
O que precisa mudar:
- Abra os elementos com falha listados abaixo e anote as cores do texto e do fundo no resumo da falha.
- Em Loja virtual > Temas > Personalizar > Configurações do tema > Cores, escureça a cor do texto ou clareie o fundo do esquema de cores afetado até a razão chegar a pelo menos 4,5:1.
- Preste atenção especial a selos de promoção, textos de placeholder, links do rodapé e botões sobre imagens.
Uma mudança sugerida (Configurações do tema › Cores, ou o arquivo CSS do seu tema):
```css
.announce {
background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}
```
Regras para a sua resposta:
- Mostre a alteração exata como antes e depois, e diga em qual arquivo ou configuração ela entra. Se precisar ver meu arquivo primeiro, peça para eu colá-lo.
- Mantenha o design visual e todo o comportamento existente iguais.
- Não invente nomes de produtos, preços nem textos; use marcadores que eu possa preencher.
- Termine explicando como eu mesmo posso conferir a correção.
- Inclua como confirmar a correção com o teclado e com um leitor de tela.Confira sua correção
- Faça a análise de novo e confirme que color-contrast não aparece mais.
- Confira por amostragem com um verificador de contraste usando as cores exatas.
Orientação detalhada: https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright
Todo o conteúdo da página deve estar contido em regiões (landmarks)
esforço: médio · responsável: desenvolvedor do tema
Parte do conteúdo não está dentro de um landmark da página (header, nav, main ou footer).
Os landmarks permitem que quem usa leitor de tela salte entre as partes da página. É uma boa prática que apoia os critérios 1.3.1 e 2.4.1 da WCAG.
Evidência
- Encontrado por
- Regra automatizada do axe-core
- Status · confiança
- Falha verificada · alta
- Detectado em
- 24 de set. de 2026 (UTC)
- Onde
- 18 ocorrências em 9 páginas
Esperado: Todo o conteúdo da página deve estar contido em regiões (landmarks)
Observado: Algum conteúdo da página não está contido em regiões (landmarks).


Como reproduzir
- Abra https://harborandpine.example/ no Chrome ou no Edge.
- Abra o DevTools (F12) › Elementos, pressione Ctrl+F (Cmd+F no Mac) e pesquise: .announce
- Ou execute na página a extensão gratuita axe DevTools para navegador: ela informa isto como “region”.
Elementos com falha (2 mostrados)
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div><p>We use cookies to improve your experience and measure traffic.</p>Páginas afetadas (9)
- https://harborandpine.example/
- https://harborandpine.example/collections/all
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/cart
- https://harborandpine.example/pages/about
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Como corrigir
Orientação geral- Coloque o conteúdo solto (barras de aviso, pop-ups, widgets de chat) dentro do landmark adequado ou dentro de <main>.
Corrija com IAMostrar o prompt
Cole isto no ChatGPT, Claude, Cursor ou Copilot junto com o arquivo do seu tema. Revise a mudança antes de publicá-la.
Administro uma loja Shopify (tema Online Store 2.0, templates Liquid) em harborandpine.example. Um teste de acessibilidade encontrou este problema e quero corrigi-lo no meu tema. Problema: Todo o conteúdo da página deve estar contido em regiões (landmarks). Onde: 18 ocorrências em 9 páginas, por exemplo /, /collections/all, /products/trail-daypack, /cart. Um elemento com falha, como o navegador o renderizou: ```html <div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div> ``` Por que isso importa: Os landmarks permitem que quem usa leitor de tela salte entre as partes da página. É uma boa prática que apoia os critérios 1.3.1 e 2.4.1 da WCAG. O que precisa mudar: - Coloque o conteúdo solto (barras de aviso, pop-ups, widgets de chat) dentro do landmark adequado ou dentro de <main>. Regras para a sua resposta: - Mostre a alteração exata como antes e depois, e diga em qual arquivo ou configuração ela entra. Se precisar ver meu arquivo primeiro, peça para eu colá-lo. - Mantenha o design visual e todo o comportamento existente iguais. - Não invente nomes de produtos, preços nem textos; use marcadores que eu possa preencher. - Termine explicando como eu mesmo posso conferir a correção. - Inclua como confirmar a correção com o teclado e com um leitor de tela.
Confira sua correção
- Analise de novo as páginas afetadas.
Orientação detalhada: https://dequeuniversity.com/rules/axe/4.13/region?application=playwright
Níveis dos títulos devem aumentar de um em um
esforço: médio · responsável: desenvolvedor do tema
Os níveis de cabeçalho pulam etapas (por exemplo, de H2 para H4), o que deixa a estrutura da página confusa para quem usa leitor de tela.
Quem usa leitor de tela navega pelos cabeçalhos. É uma boa prática que apoia o critério 1.3.1 da WCAG.
Evidência
- Encontrado por
- Regra automatizada do axe-core
- Status · confiança
- Falha verificada · alta
- Detectado em
- 24 de set. de 2026 (UTC)
- Onde
- 7 ocorrências em 7 páginas
Esperado: Níveis dos títulos devem aumentar de um em um
Observado: Hierarquia de títulos inválida.


Como reproduzir
- Abra https://harborandpine.example/collections/all no Chrome ou no Edge.
- Abra o DevTools (F12) › Elementos, pressione Ctrl+F (Cmd+F no Mac) e pesquise: article:nth-child(1) > a[href$="trail-daypack"] > h3
- Ou execute na página a extensão gratuita axe DevTools para navegador: ela informa isto como “heading-order”.
Elementos com falha (3 mostrados)
<h3>Trail Daypack 22L</h3><h3>Reviews</h3><h3>Started on the trail</h3>Páginas afetadas (7)
- https://harborandpine.example/collections/all
- https://harborandpine.example/products/trail-daypack
- https://harborandpine.example/pages/about
- https://harborandpine.example/products/pine-wool-beanie
- https://harborandpine.example/products/enamel-camp-mug
- https://harborandpine.example/products/harbor-lantern
- https://harborandpine.example/products/insulated-bottle
Como corrigir
Orientação geral- Ajuste os níveis de cabeçalho nas seções afetadas para que sigam em ordem, sem pular níveis.
- Mude só a tag, não o estilo visual (use classes CSS para o tamanho).
Código
Exemplos de implementação para o seu desenvolvedor. Não temos o código-fonte do seu tema, então as localizações dos arquivos são indicações, não caminhos exatos.
<h3>Trail Daypack 22L</h3><h2 class="h3">Trail Daypack 22L</h2>Use o nível que segue o cabeçalho anterior da página (muitas vezes um nível acima) e mantenha a aparência com uma classe. Confira a estrutura da página antes de alterá-la.
<h3>Reviews</h3><h2 class="h3">Reviews</h2>Use o nível que segue o cabeçalho anterior da página (muitas vezes um nível acima) e mantenha a aparência com uma classe. Confira a estrutura da página antes de alterá-la.
<h3>Started on the trail</h3><h2 class="h3">Started on the trail</h2>Use o nível que segue o cabeçalho anterior da página (muitas vezes um nível acima) e mantenha a aparência com uma classe. Confira a estrutura da página antes de alterá-la.
Corrija com IAMostrar o prompt
Cole isto no ChatGPT, Claude, Cursor ou Copilot junto com o arquivo do seu tema. Revise a mudança antes de publicá-la.
Administro uma loja Shopify (tema Online Store 2.0, templates Liquid) em harborandpine.example. Um teste de acessibilidade encontrou este problema e quero corrigi-lo no meu tema. Problema: Níveis dos títulos devem aumentar de um em um. Onde: 7 ocorrências em 7 páginas, por exemplo /collections/all, /products/trail-daypack, /pages/about, /products/pine-wool-beanie. Um elemento com falha, como o navegador o renderizou: ```html <h3>Trail Daypack 22L</h3> ``` Por que isso importa: Quem usa leitor de tela navega pelos cabeçalhos. É uma boa prática que apoia o critério 1.3.1 da WCAG. O que precisa mudar: - Ajuste os níveis de cabeçalho nas seções afetadas para que sigam em ordem, sem pular níveis. - Mude só a tag, não o estilo visual (use classes CSS para o tamanho). Uma mudança sugerida (O código do seu tema (procure nele o HTML mostrado)): ```html <h2 class="h3">Trail Daypack 22L</h2> ``` Regras para a sua resposta: - Mostre a alteração exata como antes e depois, e diga em qual arquivo ou configuração ela entra. Se precisar ver meu arquivo primeiro, peça para eu colá-lo. - Mantenha o design visual e todo o comportamento existente iguais. - Não invente nomes de produtos, preços nem textos; use marcadores que eu possa preencher. - Termine explicando como eu mesmo posso conferir a correção. - Inclua como confirmar a correção com o teclado e com um leitor de tela.
Confira sua correção
- Analise de novo e confira a estrutura de cabeçalhos com uma extensão de navegador como a HeadingsMap.
Orientação detalhada: https://dequeuniversity.com/rules/axe/4.13/heading-order?application=playwright
Requer revisão manual
Os testes automatizados sinalizaram estes itens, mas não conseguiram decidir, por exemplo texto sobre uma imagem ou conteúdo que talvez não caiba na tela de um celular. Eles não são contados como falhas. Peça ao seu desenvolvedor para verificar cada um.
- Requer revisãoWCAG 4.1.3
Percurso pelo teclado: Adicionar ao carrinho com o teclado
Pressionar Enter em Adicionar ao carrinho funcionou (o contador do carrinho no cabeçalho mudou, apareceu uma mensagem de “adicionado ao carrinho”), mas não encontramos nenhuma mensagem de status nem caixa de diálogo com foco; por isso, usuários de leitores de tela podem não ouvir que o item foi adicionado.
1 ocorrência em 1 página · Como verificar
- Requer revisãoWCAG 1.4.10
A página de produto pode não caber em uma tela estreita sem rolagem horizontal
Com 320 pixels CSS de largura (o mesmo que zoom de 400%), a página fica 200px mais larga que a tela. Tabelas de dados e mapas podem rolar; textos e controles não devem.
2 ocorrências em 1 página · Como verificar
Elementos a verificar (2 mostrados)
div.icons <div class="icons"> <button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></budiv <div> <p style="color:#6a6a60;font-size:14px">Harbor & Pine</p> <h1>Trail Daypack 22L</h1> <p class="price" style="font-size:22px">$128<span class="compare">$150</span></p> <p class="opt-label">Si - Requer revisãoWCAG 1.4.10
A página inicial pode não caber em uma tela estreita sem rolagem horizontal
Com 320 pixels CSS de largura (o mesmo que zoom de 400%), a página fica 55px mais larga que a tela. Tabelas de dados e mapas podem rolar; textos e controles não devem.
3 ocorrências em 1 página · Como verificar
Elementos a verificar (3 mostrados)
div.icons <div class="icons"> <button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></buarticle.card <article class="card"><span class="badge">Sale</span><a href="/products/trail-daypack"><img src="/img/beanie.svg"><h3>Pine Wool Beanie</h3></a><p class="price">$32<span class="compare">$40</span></p><button.btn.light <button class="btn light" type="submit">Subscribe</button> - Requer revisãoWCAG 1.4.3
Os elementos devem ter contraste de cor suficiente
A cor de fundo do elemento não pôde ser determinada porque o elemento contém um nó de imagem.
1 ocorrência em 1 página · Como verificar
Elementos a verificar (1 mostrados)
h1 <h1>Gear for the long way home</h1>
Teste suas correções de novo
Quando o seu desenvolvedor tiver feito as mudanças, teste de novo. Executamos outra vez as mesmas verificações automatizadas nas mesmas páginas, o teste de teclado e o percurso pelo teclado, e mostramos quais problemas não conseguimos mais reproduzir. 5 novos testes estão incluídos.
Os novos testes são executados em relatórios pagos.
Verificações manuais
Ferramentas automatizadas não conseguem avaliar estes itens. Faça essas verificações antes de considerar o trabalho concluído.
- Conclua o checkout usando só o teclado: nosso percurso automatizado para no botão de finalizar compra e nunca entra no checkout.
- Repita com um leitor de tela (VoiceOver no Mac: Cmd+F5; NVDA no Windows) e confirme que preços, variantes e erros são anunciados.
- Aplique zoom de 200% no navegador e confirme que nada se sobrepõe nem desaparece.
- Confira se os vídeos de produto e da marca têm legendas precisas.
- Envie formulários com erros (newsletter, contato, checkout) e confirme que os erros são descritos em texto.
- Confira se carrosséis e pop-ups podem ser pausados ou fechados, inclusive com a tecla Escape.
Rascunho de declaração de acessibilidade
Edite as partes entre colchetes e publique o texto em uma página com link no seu rodapé.
Declaração de acessibilidade de harborandpine.example Queremos que todas as pessoas possam comprar em harborandpine.example, incluindo quem usa leitores de tela, navegação pelo teclado, ampliação ou outras tecnologias assistivas. Buscamos atender às Diretrizes de Acessibilidade para Conteúdo Web (WCAG) 2.2 no nível AA. O que fazemos - Testamos nossa loja com ferramentas automatizadas de acessibilidade e corrigimos os problemas que elas encontram. - Testamos as principais etapas de compra (navegação pela loja, páginas de produto, carrinho e checkout) com teclado e leitor de tela. - Avaliamos a acessibilidade de apps e widgets de terceiros antes de adicioná-los. Limitações conhecidas (em 24 de setembro de 2026) - Acesso pelo teclado e foco (WCAG 2.1.1). Planejamos corrigir isso até 2026-10-08. - Links e botões sem nome (WCAG 2.4.4, 4.1.2). Planejamos corrigir isso até 2026-10-08. - Imagens sem alternativa em texto (WCAG 1.1.1). Planejamos corrigir isso até 2026-10-08. - Campos de formulário sem rótulo (WCAG 4.1.2). Planejamos corrigir isso até 2026-10-08. - Baixo contraste de cores (WCAG 1.4.3). Planejamos corrigir isso até 2026-10-08. Feedback e ajuda Se você tiver dificuldade para usar qualquer parte da nossa loja, entre em contato pelo [seu e-mail] ou pelo [seu telefone]. Informe a página e o problema, e vamos ajudar você a concluir sua compra e responder em até 5 dias úteis. Esta declaração foi preparada em 24 de setembro de 2026 e será revisada pelo menos uma vez por ano.
Registro de evidências
Cada página foi carregada no Chromium e testada com o axe-core 4.13.0. O hash SHA-256 identifica os resultados brutos de cada página.
| Página | Testada em (UTC) | HTTP | Problemas | SHA-256 |
|---|---|---|---|---|
| Página inicialhttps://harborandpine.example/ | 2026-09-24 14:05:00 | 200 | 15 | da1e5470a57859a864332912dd1e4f62b4c4f64487ba144865b74879519599a3 |
| Página de coleçãohttps://harborandpine.example/collections/all | 2026-09-24 14:05:09 | 200 | 20 | 28d8dfcf5ca953af353264a930a351bea3cf23f98a303874b32e5da355a4c8b0 |
| Página de produtohttps://harborandpine.example/products/trail-daypack | 2026-09-24 14:05:18 | 200 | 20 | 68a173ddfd16eeeef5e36d6c0fa9d426769f0d96e358c5e35b67608dd84139b4 |
| Carrinhohttps://harborandpine.example/cart | 2026-09-24 14:05:27 | 200 | 12 | 5b7945c2cdf779dcef2bd8975d96eb8f42d8dedbf10e767ec80199dd22ce257c |
| Página de conteúdohttps://harborandpine.example/pages/about | 2026-09-24 14:05:36 | 200 | 9 | daf61ae856358a574e63f9357db0bfd9ae6079065acf3aebd5b3c5a7f460e53f |
| Página adicionalhttps://harborandpine.example/products/pine-wool-beanie | 2026-09-24 14:08:00 | 200 | 20 | f708ccd7de34dfb65d59d3716580b6ec15a6420020c8387fa4da4e2ff5bd52d3 |
| Página adicionalhttps://harborandpine.example/products/enamel-camp-mug | 2026-09-24 14:08:07 | 200 | 19 | c619bcd29e89d06099d174b9fc19305a42f2fa9bdddb600a750c867fc7477022 |
| Página adicionalhttps://harborandpine.example/products/harbor-lantern | 2026-09-24 14:08:14 | 200 | 20 | 5720b7433b75050ba413ac74c2bd726b0620aaa68f7918083052383257d5c418 |
| Página adicionalhttps://harborandpine.example/products/insulated-bottle | 2026-09-24 14:08:21 | 200 | 19 | 6f1972c22e477c9a63e2dfde1123ed759718f6a75e1606b23f208848691510fd |
Escopo e método
O que testamos
- 9 páginas (página inicial, página de coleção, página de produto, carrinho, página de conteúdo, página adicional) carregadas no Chromium em 1366×900.
- Regras do axe-core 4.13.0 para os níveis A e AA da WCAG 2.0, 2.1 e 2.2, mais regras de boas práticas (mostradas como P3).
- Um teste de teclado: 40 toques na tecla Tab na página inicial, em busca de armadilhas e de indicadores de foco ausentes.
- Um percurso de compra só com o teclado da página inicial até o botão de finalizar compra (veja acima).
- Uma verificação de refluxo com 320 pixels CSS de largura em página inicial e página de produto (WCAG 1.4.10).
O que não testamos
- Páginas de checkout e de pagamento, envio de formulários, páginas de conta e páginas que exigem login.
- O que um leitor de tela realmente anuncia, além das regras automatizadas.
- Legendas de vídeo e audiodescrição, documentos PDF e conteúdo dentro de frames de terceiros.
- Linguagem simples, acessibilidade cognitiva e tudo o mais que exige julgamento humano (veja Verificações manuais).
Como interpretar os resultados
- Falha verificada
- Um teste automatizado ou o percurso pelo teclado falhou, com a evidência mostrada.
- Requer revisão
- Um teste sinalizou algo que não conseguiu decidir; uma pessoa deve verificar.
- Aprovado
- A regra automatizada não encontrou falhas nas páginas testadas.
- Não testado
- Fora do que os testes automatizados conseguem cobrir aqui; veja Verificações manuais.
Receba este relatório para o seu site.
Comece pela análise gratuita para ver seus problemas e como eles se relacionam com a sua notificação. O Relatório de Acessibilidade custa $249, em pagamento único, e fica pronto em cerca de 10 minutos.
Analise seu site grátisEste relatório descreve os resultados de testes automatizados e traz orientações de correção. Ele não é aconselhamento jurídico e não certifica conformidade com a ADA, a Lei Europeia de Acessibilidade ou qualquer outra lei.

