Skip to main content
Validação HTML

Valor inválido “X” para o atributo “href” no elemento “a”: Carácter ilegal nos dados do esquema: “<” não é permitido.

Sobre este problema HTML

Um carácter < num valor do atributo href não é permitido porque é um carácter reservado em URLs e deve ser codificado em percentagem.

O atributo href num elemento <a> deve conter um URL válido ou fragmento de URL. Caracteres como <, >, {, }, e outros não são permitidos diretamente em URLs de acordo com a RFC 3986. O carácter < é especialmente problemático porque os navegadores e analisadores interpretam-no como o início de uma tag HTML, o que pode quebrar a sua marcação e introduzir riscos de segurança como vulnerabilidades XSS.

Este erro aparece comumente quando a sintaxe de template (por exemplo, {{variable}}), entrada de utilizador não escapada, ou URLs malformados acabam dentro de um valor href. Se você genuinamente precisar de um < num URL, deve ser codificado em percentagem como %3C. Da mesma forma, > deve ser codificado como %3E.

Exemplo com o problema

<a href="https://example.com/search?q=<value>">Search</a>

Como corrigir

Codifique em percentagem os caracteres especiais no URL:

<a href="https://example.com/search?q=%3Cvalue%3E">Search</a>

Se você está a gerar URLs dinamicamente no lado do servidor, use a função de codificação de URL incorporada da sua linguagem (por exemplo, encodeURIComponent() em JavaScript, urlencode() em PHP) para garantir que todos os caracteres especiais são adequadamente escapados antes de os inserir nos atributos href.

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.