Skip to main content
Validação HTML

Valor inválido X para o atributo “src” no elemento “script”: Carácter ilegal no segmento do caminho: espaço não é permitido.

Sobre este problema HTML

Os URLs seguem regras de sintaxe rigorosas definidas pela RFC 3986, que não permite caracteres de espaço literais em nenhum lugar do URI — incluindo segmentos de caminho, strings de consulta e identificadores de fragmento. Quando o Validador HTML do W3C encontra um espaço no atributo src de um elemento <script>, marca-o como um carácter ilegal porque o valor do atributo não é um URL válido.

Embora a maioria dos navegadores modernos corrijam isto silenciosamente codificando o espaço antes de fazer o pedido, depender deste comportamento é problemático por várias razões:

  • Conformidade com as normas: A especificação HTML exige que o atributo src contenha um URL válido. Um URL com um espaço literal está tecnicamente malformado.
  • Fiabilidade entre navegadores: Nem todos os user agents, proxies ou CDNs lidam com URLs malformados da mesma forma. O que funciona num navegador pode falhar noutro contexto.
  • Interoperabilidade: Outras ferramentas que consomem o seu HTML — como linters, crawlers, leitores de ecrã e pipelines de build — podem não ser tão tolerantes como os navegadores.
  • Problemas de cópia-colagem e ligação: Espaços literais em URLs causam problemas quando os utilizadores copiam ligações ou quando os URLs aparecem em contextos de texto simples como emails, onde o espaço pode quebrar o URL em dois.

Como corrigir

Tem três opções, listadas da mais recomendada para a menos:

  1. Renomear o ficheiro ou diretório para eliminar espaços completamente (por exemplo, usar hífenes ou underscores). Esta é a solução mais limpa.
  2. Codificar o espaço em percentagem como %20 no valor do atributo src.
  3. Usar uma ferramenta de build ou bundler que gera referências com caminhos devidamente codificados ou sem espaços automaticamente.

Evite usar + como substituto de espaço em segmentos de caminho. O carácter + representa um espaço apenas em strings de consulta application/x-www-form-urlencoded, não em segmentos de caminho de URL.

Exemplos

❌ Inválido: espaço no segmento do caminho

<script src="https://example.com/media assets/app.js"></script>

O espaço entre media e assets torna este um URL inválido.

✅ Corrigido: codificar o espaço em percentagem

<script src="https://example.com/media%20assets/app.js"></script>

Substituir o espaço por %20 produz um URL válido e em conformidade com as normas.

✅ Melhor: renomear para evitar espaços completamente

<script src="https://example.com/media-assets/app.js"></script>

Usar um hífen (ou underscore) em vez de um espaço é a abordagem preferida. Mantém os URLs limpos, legíveis e livres de problemas de codificação.

❌ Inválido: espaço num caminho relativo local

Este problema não se limita a URLs absolutos. Caminhos relativos desencadeiam o mesmo erro:

<script src="js/my script.js"></script>

✅ Corrigido: codificar ou renomear o ficheiro local

<script src="js/my%20script.js"></script>

Ou, melhor ainda:

<script src="js/my-script.js"></script>

Múltiplos espaços e outros caracteres especiais

Se um URL contém múltiplos espaços ou outros caracteres especiais, cada um deve ser codificado individualmente. Por exemplo, { torna-se %7B e } torna-se %7D. Uma referência rápida para caracteres comuns:

Carácter Forma codificada
Espaço %20
[ %5B
] %5D
{ %7B
} %7D
<!-- Inválido -->

<script src="libs/my library [v2].js"></script>

<!-- Válido -->

<script src="libs/my%20library%20%5Bv2%5D.js"></script>

<!-- Melhor: renomear o ficheiro -->

<script src="libs/my-library-v2.js"></script>

Note que esta mesma regra se aplica ao atributo src noutros elementos como <img>, <iframe>, <audio> e <video>, bem como ao atributo href em <a> e <link>. Sempre que referenciar um URL em HTML, certifique-se de que não contém espaços literais.

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.