Skip to main content
Validação HTML

Visto “=” quando esperado um nome de atributo. Causa provável: Nome de atributo em falta.

Sobre este problema HTML

O parser HTML lê atributos de elementos procurando por um nome, depois um =, depois um valor. Quando encontra = num local onde espera que um nome comece, significa que algo correu mal com a sintaxe do atributo. Isto pode acontecer de várias formas: um nome de atributo está completamente em falta antes do =, há um == duplo em vez de um único =, foi acidentalmente inserido um espaço no meio de um nome de atributo, ou o valor de um atributo anterior foi deixado sem aspas fazendo com que o parser perca o controlo de onde um atributo termina e o próximo começa.

Isto é um problema porque os navegadores podem silenciosamente descartar o atributo malformado, aplicá-lo incorretamente, ou até mesmo interpretar mal os atributos circundantes. Isto leva a comportamento imprevisível entre diferentes navegadores. Leitores de ecrã e outras tecnologias de apoio podem também falhar ao interpretar o elemento corretamente, criando problemas de acessibilidade.

Como corrigir

  1. Verifique nomes de atributo em falta — Certifique-se de que cada sinal = é precedido por um nome de atributo válido como class, id, src, etc.
  2. Verifique sinais de igual duplos — Substitua qualquer == por um único =.
  3. Verifique espaços em nomes de atributo — Nomes de atributo não podem conter espaços. Remova espaços acidentais dentro dos nomes.
  4. Verifique valores de atributo sem aspas — Coloque sempre os valores de atributo entre aspas duplas. Um valor sem aspas contendo caracteres especiais pode fazer com que o parser leia mal os atributos subsequentes.
  5. Verifique caracteres = perdidos — Procure por sinais = sobrantes de erros de copiar-colar ou edições incompletas.

Exemplos

Nome de atributo em falta antes do =

Um = aparece sem nome de atributo antes dele:

<!-- ❌ Mau: sem nome de atributo antes do = -->

<img ="photo.jpg" alt="A photo">

<!-- ✅ Corrigido: adicionado o nome de atributo src -->

<img src="photo.jpg" alt="A photo">

Sinal de igual duplo

Um erro de digitação cria == em vez de =:

<!-- ❌ Mau: sinal de igual duplo -->

<a href=="https://example.com">Link</a>

<!-- ✅ Corrigido: sinal de igual único -->

<a href="https://example.com">Link</a>

Espaço dentro de um nome de atributo

Um espaço divide o que deveria ser um nome de atributo em dois tokens, deixando um = órfão:

<!-- ❌ Mau: espaço em "data-value" divide o atributo -->

<div data- value="10">Content</div>

<!-- ✅ Corrigido: sem espaço no nome do atributo -->

<div data-value="10">Content</div>

Valor de atributo sem aspas causando uma cascata

Quando um valor não está entre aspas, o parser pode interpretar mal onde termina, fazendo com que o = do próximo atributo apareça numa posição inesperada:

<!-- ❌ Mau: valor de class sem aspas com espaço causa problemas de parsing -->

<p class=my class id="intro">Text</p>

<!-- ✅ Corrigido: valor de atributo devidamente entre aspas -->

<p class="my-class" id="intro">Text</p>

= perdido de uma edição incompleta

Um = sobrante de um atributo eliminado ou parcialmente editado:

<!-- ❌ Mau: = perdido deixado após remover um atributo -->

<div class="container" = >Content</div>

<!-- ✅ Corrigido: removido o = perdido -->

<div class="container">Content</div>

Encontre problemas como este automaticamente

O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.

Ajude-nos a melhorar os nossos guias

Este guia foi útil?

Pronto para validar os seus sites?
Comece o seu teste gratuito hoje.