Sobre este problema HTML
Uma ligação mailto: segue a sintaxe URI conforme definida pela RFC 3986, que não permite caracteres de espaço em bruto em qualquer lugar do URI. Quando o validador W3C encontra um espaço dentro do valor href de uma ligação mailto:, reporta-o como um caracter ilegal nos dados do esquema. Isto acontece mais comummente devido a um erro tipográfico no próprio endereço de email — por exemplo, inserir acidentalmente um espaço no nome de domínio (example .com) ou na parte local (user name@example.com). Também pode ocorrer quando parâmetros de consulta como subject ou body contêm espaços não codificados.
Isto é importante por várias razões. Primeiro, os navegadores podem truncar ou interpretar incorretamente o href no limite do espaço, significando que o cliente de email pode abrir com um endereço de email incorreto ou incompleto. Segundo, as tecnologias assistivas dependem de URIs bem formados para comunicar destinos de ligação aos utilizadores. Uma ligação mailto: mal formada pode confundir leitores de ecrã ou impedir que os utilizadores compreendam para onde a ligação leva. Terceiro, marcação inválida sinaliza má qualidade aos motores de busca e ferramentas automatizadas.
Para corrigir esta questão:
-
Verifique o endereço de email quanto a erros tipográficos. Remova quaisquer espaços acidentais na parte local (antes do
@) ou na parte do domínio (depois do@). -
Codifique percentualmente os espaços nos parâmetros de consulta. Se estiver a usar parâmetros
subject,body, ouccno URImailto:, substitua os espaços por%20. - Evite copiar e colar endereços de email de documentos formatados, que podem introduzir espaços ininterruptos ou outros caracteres de espaço em branco invisíveis.
Exemplos
Inválido — espaço no endereço de email
Um espaço no nome de domínio torna o URI inválido:
<a href="mailto:user@example com">Send Email</a>
Válido — endereço de email corrigido
Remova o espaço para formar um endereço de email válido:
<a href="mailto:user@example.com">Send Email</a>
Inválido — espaço na parte local
<a href="mailto:john doe@example.com">Send Email</a>
Válido — espaço removido da parte local
<a href="mailto:johndoe@example.com">Send Email</a>
Inválido — espaços não codificados no parâmetro subject
<a href="mailto:info@example.com?subject=Hello World">Email Us</a>
Válido — espaços codificados percentualmente no parâmetro subject
Substitua cada espaço por %20 nos valores dos parâmetros de consulta:
<a href="mailto:info@example.com?subject=Hello%20World">Email Us</a>
Válido — mailto completo com múltiplos parâmetros
<a href="mailto:support@example.com?subject=Bug%20Report&body=Please%20describe%20the%20issue.">
Report a Bug
</a>
Encontre problemas como este automaticamente
O Rocket Validator analisa milhares de páginas em segundos, detetando problemas HTML em todo o seu site.