HTML检查 - 在href中使用tel时网站无效

4

当我尝试在这里验证时,出现了以下错误:

Bad value tel:0000 00 00 00 for attribute href on element a: Illegal character in scheme data: not a URL code point

我的HTML代码如下:

<a href="tel:0000 00 00 00">0000 00 00 00</a>

有没有办法修复这个问题?

3个回答

5

去掉空格。在URL中,文字空格是不允许的,而且它们不是电话号码数据的一部分,只是用于人类阅读的格式。


2
假设验证器是根据RFC 3966中给出的语法检查URL,它在空格字符上失败了。移除这些空格,或用一个visual-separator字符(例如-)替换它们,你就可以通过了。
示例:
<a href="tel:0000-00-00-00">0000 00 00 00</a>

规范的第3节包含语法。特别是:
phonedigit           = DIGIT / [ visual-separator ]
visual-separator     = "-" / "." / "(" / ")"

参见 5.1.1节,其中提到:

尽管 ITU-T E.123 建议在打印电话号码时使用空格字符作为视觉分隔符,但“tel” URI 不得使用空格作为视觉分隔符,以避免过多的转义。


-3

不要使用超链接,而是使用微数据。移动电话将识别它是一个电话号码,并允许点击,但不会影响普通的网页浏览器。

<div class="vcard">
<div class="tel">
    12345555555
</div>

请查看:

https://dev59.com/W2Yr5IYBdhLWcg3wxM4k#13409099


“正常”的网络浏览器是什么?阅读您链接问题的此其他答案,了解为什么隐藏URL会损害用户。此外,您的建议不太可能被验证器检查,因此错误不容易被发现(这也是Paul最初来到这里的原因!)。 - Toby Speight

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接