Acerca de este problema HTML
Un enlace mailto: sigue la sintaxis URI definida por RFC 3986, que no permite caracteres de espacio en bruto en ninguna parte del URI. Cuando el validador W3C encuentra un espacio dentro del valor href de un enlace mailto:, lo reporta como un carácter ilegal en los datos del esquema. Esto ocurre más comúnmente debido a un error tipográfico en la propia dirección de correo electrónico — por ejemplo, insertar accidentalmente un espacio en el nombre del dominio (ejemplo .com) o en la parte local (nombre usuario@ejemplo.com). También puede ocurrir cuando los parámetros de consulta como subject o body contienen espacios no codificados.
Esto es importante por varias razones. Primero, los navegadores pueden truncar o malinterpretar el href en el límite del espacio, lo que significa que el cliente de correo puede abrirse con una dirección de correo electrónico incorrecta o incompleta. Segundo, las tecnologías de asistencia dependen de URI bien formados para comunicar los destinos de los enlaces a los usuarios. Un enlace mailto: mal formado puede confundir a los lectores de pantalla o impedir que los usuarios entiendan hacia dónde lleva el enlace. Tercero, el marcado inválido señala mala calidad a los motores de búsqueda y herramientas automatizadas.
Para solucionar este problema:
-
Verifica errores tipográficos en la dirección de correo electrónico. Elimina cualquier espacio accidental en la parte local (antes de
@) o en la parte del dominio (después de@). -
Codifica con porcentaje los espacios en los parámetros de consulta. Si estás usando parámetros
subject,bodyoccen el URImailto:, reemplaza los espacios con%20. - Evita copiar y pegar direcciones de correo electrónico de documentos formateados, que pueden introducir espacios sin salto u otros caracteres de espacio en blanco invisibles.
Ejemplos
Inválido — espacio en la dirección de correo electrónico
Un espacio en el nombre del dominio hace que el URI sea inválido:
<a href="mailto:user@example com">Enviar Email</a>
Válido — dirección de correo electrónico corregida
Elimina el espacio para formar una dirección de correo electrónico válida:
<a href="mailto:user@example.com">Enviar Email</a>
Inválido — espacio en la parte local
<a href="mailto:john doe@example.com">Enviar Email</a>
Válido — espacio eliminado de la parte local
<a href="mailto:johndoe@example.com">Enviar Email</a>
Inválido — espacios no codificados en el parámetro subject
<a href="mailto:info@example.com?subject=Hello World">Contáctanos</a>
Válido — espacios codificados con porcentaje en el parámetro subject
Reemplaza cada espacio con %20 en los valores de los parámetros de consulta:
<a href="mailto:info@example.com?subject=Hello%20World">Contáctanos</a>
Válido — mailto completo con múltiples parámetros
<a href="mailto:support@example.com?subject=Bug%20Report&body=Please%20describe%20the%20issue.">
Reportar un Error
</a>
Encuentra problemas como este automáticamente
Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.