Skip to main content
Validación HTML

Valor incorrecto “callto:X” para el atributo “href” en el elemento “a”: Carácter ilegal en los datos del esquema: no se permite espacio.

Acerca de este problema HTML

Cuando escribes un enlace de teléfono usando <a href="callto:...">, puedes encontrarte con dos problemas distintos a la vez. Primero, el esquema callto: es un protocolo heredado y no estándar originalmente asociado con Skype. El esquema URI correcto y ampliamente soportado para enlaces de teléfono es tel:, como se define en RFC 3966. Segundo, los espacios dentro de los datos del esquema URI son caracteres ilegales. Las URIs no deben contener espacios sin codificar en ningún lugar, y las URIs telefónicas específicamente esperan un número de teléfono compacto compuesto por dígitos, guiones (-), puntos (.), y un signo más (+) inicial opcional para la marcación internacional.

El validador W3C genera este error porque el valor proporcionado a href viola las reglas de sintaxis URI. Los navegadores aún pueden intentar manejar el enlace, pero el comportamiento será inconsistente: algunos navegadores móviles pueden no reconocer callto: en absoluto, y los espacios en la URI pueden causar que el número se analice incorrectamente o se trunque. Usar el esquema estándar tel: con un número correctamente formateado asegura que el enlace funcione de manera confiable en todos los dispositivos y plataformas, incluyendo teléfonos móviles, aplicaciones VoIP y tecnologías de asistencia.

Cómo solucionarlo

  1. Reemplaza callto: con tel: — El esquema tel: es el estándar para enlaces de números de teléfono y está soportado por todos los navegadores modernos y sistemas operativos móviles.
  2. Elimina espacios y barras — Quita todos los espacios, barras o paréntesis del número de teléfono. Estos caracteres no son válidos en una URI tel: sin codificación por porcentaje, y no sirven ningún propósito funcional en el destino del enlace.
  3. Usa un + inicial para números internacionales — Si es aplicable, incluye el código de marcación internacional completo con prefijo + (ej., +1 para Estados Unidos, +49 para Alemania). Esto hace que el enlace funcione independientemente de la ubicación del llamador.
  4. Separadores visuales opcionales — Si quieres separadores visuales dentro del href para mejorar la legibilidad en tu código fuente, usa guiones (-) o puntos (.), que están permitidos en URIs tel:. Sin embargo, el enfoque más simple y seguro es solo dígitos (más el + inicial opcional).

Ejemplos

Incorrecto: callto: con espacios y barras

Esto desencadena el error del validador porque los espacios y barras son ilegales en los datos del esquema URI, y callto: no es estándar.

<a href="callto:07142/ 12 34 5">Llámanos</a>

Incorrecto: tel: con espacios

Incluso con el esquema correcto tel:, los espacios en el número de teléfono siguen siendo caracteres URI no válidos.

<a href="tel:07142 12 34 5">Llámanos</a>

Correcto: tel: solo con dígitos

<a href="tel:0714212345">Llámanos</a>

Correcto: número internacional con prefijo +

<a href="tel:+490714212345">Llámanos</a>

Correcto: usando guiones para legibilidad

Los guiones son caracteres válidos en URIs tel: y pueden mejorar la legibilidad del código fuente sin afectar la funcionalidad.

<a href="tel:+49-07142-12345">Llámanos</a>

Mostrar un número formateado al usuario

Aún puedes mostrar un número formateado de manera amigable para el usuario como el texto visible del enlace mientras mantienes el valor href limpio y válido.

<a href="tel:+490714212345">+49 (0) 7142 / 12 34 5</a>

Este enfoque te da lo mejor de ambos mundos: el texto del enlace es fácil de leer para los usuarios, y el valor href es una URI tel: válida que cumple con los estándares, funciona de manera confiable en todos los dispositivos y pasa la validación W3C.

Encuentra problemas como este automáticamente

Rocket Validator escanea miles de páginas en segundos, detectando problemas de HTML en todo tu sitio web.

Ayúdanos a mejorar nuestras guías

¿Te ha sido útil esta guía?

¿Listo para validar tus sitios?
Inicia tu prueba gratuita hoy.