Sobre este problema HTML
Quando o W3C HTML Validator reporta “Expected a slash”, significa que o analisador de URL encontrou um caractere inesperado onde deveria aparecer um /. Os URLs seguem uma sintaxe rigorosa definida pela URL Living Standard. Para URLs baseados em esquemas, o formato requer que o esquema (como https:) seja imediatamente seguido por // e depois pela autoridade (hostname). Qualquer desvio — como um espaço, uma barra em falta ou um caractere codificado no lugar errado — tornará o URL inválido.
Isto é importante por várias razões. Os navegadores podem tentar corrigir URLs mal formados, mas o seu comportamento é inconsistente e imprevisível. Um atributo src quebrado pode fazer com que as imagens não carreguem, scripts falhem silenciosamente ou elementos de média mostrem conteúdo de fallback. Os leitores de ecrã e tecnologias assistivas dependem de URLs válidos para fornecer informações significativas aos utilizadores. Os crawlers de motores de busca também podem falhar ao seguir ou indexar recursos com URLs mal formados.
Causas comuns deste erro incluem:
-
Espaços acidentais inseridos no URL, especialmente entre o esquema e as barras duplas (por exemplo,
https: //em vez dehttps://). -
Barras em falta no esquema (por exemplo,
https:/example.comcom apenas uma barra). - Artefactos de copiar-colar onde caracteres invisíveis ou quebras de linha ficam incorporados na string do URL.
- Problemas de template ou CMS onde a geração dinâmica de URLs introduz caracteres inesperados.
Para corrigir o problema, inspecione cuidadosamente o valor do atributo src e garanta que forma um URL válido e completo sem caracteres perdidos. Se o URL for gerado dinamicamente, verifique o código que o constrói.
Exemplos
Incorreto: espaço entre o esquema e as barras
<img src="https: //example.com/photo.jpg" alt="A photo">
O espaço depois de https: quebra o URL. O validador espera um / imediatamente após os dois pontos, mas encontra um espaço.
Corrigido: remova o espaço
<img src="https://example.com/photo.jpg" alt="A photo">
Incorreto: barra simples em vez de barra dupla
<script src="https:/cdn.example.com/app.js"></script>
O esquema do URL requer // após https:, mas apenas um / está presente.
Corrigido: use a barra dupla correta
<script src="https://cdn.example.com/app.js"></script>
Incorreto: quebra de linha incorporada no URL
Por vezes, copiar-colar ou renderização de templates introduz quebras de linha ocultas:
<video src="https://
example.com/video.mp4">
</video>
Corrigido: garanta que o URL está numa única linha sem quebras
<video src="https://example.com/video.mp4"></video>
Incorreto: URL relativo ao protocolo com uma barra em falta
<img src="/example.com/logo.png" alt="Logo">
Se a intenção é um URL relativo ao protocolo, precisa de duas barras. Com uma única barra, isto torna-se um caminho absoluto no domínio atual em vez de uma referência ao example.com.
Corrigido: use duas barras para URLs relativos ao protocolo
<img src="//example.com/logo.png" alt="Logo">
Dica: Se estiver com dificuldades em detetar o problema, cole o URL na barra de endereços do seu navegador para ver se resolve corretamente, ou use um editor de texto que revele caracteres invisíveis (como espaços de largura zero ou espaços fixos) que possam estar escondidos na string.
Encontre problemas como este automaticamente
O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.
Saiba mais: