Skip to main content
Validação HTML

Valor inválido X para o atributo “target” no elemento “a”: Palavra-chave reservada X utilizada.

Sobre este problema HTML

O atributo target especifica onde mostrar o recurso ligado. A especificação HTML define um conjunto de palavras-chave reservadas que começam todas com um underscore: _blank, _self, _parent e _top. Qualquer outro valor que comece com underscore é considerado inválido porque o prefixo underscore é reservado para palavras-chave atuais e futuras definidas pela especificação.

Isto é importante por várias razões. Primeiro, os navegadores podem lidar com valores prefixados com underscore não reconhecidos de forma inconsistente — alguns podem tratá-los como _blank, enquanto outros podem ignorá-los completamente ou tratá-los como contextos de navegação nomeados. Isto leva a comportamento imprevisível entre diferentes navegadores. Segundo, utilizar palavras-chave reservadas mas indefinidas sinaliza um provável erro de digitação ou mal-entendido do atributo, que pode fazer com que a navegação se comporte de forma diferente da pretendida. A conformidade com os padrões garante que as suas ligações funcionam de forma fiável para todos os utilizadores.

As palavras-chave válidas e os seus significados são:

  • _self — Abre a ligação no contexto de navegação atual (o comportamento predefinido).
  • _blank — Abre a ligação num novo contexto de navegação sem nome (tipicamente num novo separador).
  • _parent — Abre a ligação no contexto de navegação pai, ou _self se não houver pai.
  • _top — Abre a ligação no contexto de navegação mais alto, ou _self se não houver ancestral.

Se precisar de direcionar uma frame ou janela nomeada específica, utilize simplesmente um nome sem um underscore inicial. Qualquer string que não comece com _ é tratada como um contexto de navegação nomeado válido.

Exemplos

Incorreto: Palavra-chave reservada inválida

Estes exemplos utilizam valores prefixados com underscore que não são palavras-chave reconhecidas:

<!-- Erro de digitação: "_blanks" não é uma palavra-chave válida -->

<a href="https://example.com" target="_blanks">Example</a>

<!-- "_new" não é uma palavra-chave válida -->

<a href="https://example.com" target="_new">Open in new tab</a>

<!-- "_tab" não é uma palavra-chave válida -->

<a href="https://example.com" target="_tab">Open link</a>

Correto: Utilizando uma palavra-chave válida

<!-- Use "_blank" para abrir num novo separador -->

<a href="https://example.com" target="_blank">Example</a>

<!-- Use "_self" para abrir no mesmo separador (também é o predefinido) -->

<a href="https://example.com" target="_self">Example</a>

<!-- Use "_parent" para abrir na frame pai -->

<a href="https://example.com" target="_parent">Example</a>

<!-- Use "_top" para abrir na frame mais alta -->

<a href="https://example.com" target="_top">Example</a>

Correto: Utilizando um contexto de navegação nomeado personalizado

Se pretende direcionar uma janela ou frame nomeada específica em vez de utilizar uma palavra-chave, remova o prefixo underscore:

<!-- Válido: "myframe" é um nome de contexto de navegação personalizado -->

<a href="https://example.com" target="myframe">Open in myframe</a>

<!-- Válido: direcionando um iframe nomeado -->

<iframe name="content-frame" src="about:blank"></iframe>
<a href="https://example.com" target="content-frame">Load in iframe</a>

Um erro comum é utilizar _new com a intenção de abrir uma ligação num novo separador. Embora alguns navegadores possam tratar _new de forma semelhante a _blank, não é uma palavra-chave válida. Utilize _blank em vez disso. Note que ao utilizar target="_blank", é uma boa prática de segurança incluir também rel="noopener" (embora os navegadores modernos agora façam isto por predefinição):

<a href="https://example.com" target="_blank" rel="noopener">Example</a>

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.