Telefonní čísla v HTML

Standardní odkazy na http:// či ftp:// soubory jsou běžné. Pro odeslání emailu je běžně používat odkaz mailto:. A vzhledem k tomu, jak roste podíl mobilního internetu, není žádnou výjimkou, že prohlížeč by, stejně jako odeslat email, mohl rovnou vytočit telefonní číslo. Tak proč to uživatelům neusnadnit?

Jak na to?

Snadno pomocí odkazu používajícím protokol tel:+.

Vzhledem k tomu, že internet je celosvětový a prohlížeč nemusí vědět, kde se zrovna nachází, je potřeba zadat telefonní číslo v mezinárodním formátu s plus na začátku. Stejně tak je dobré zadat pouze čísla bez ostatních znaků, které se často do čísla píšou pro lepší čtení (např. mezery, pomlčky, závorky, apod.), aby prohlížeč neměl problém s pochopením toho, co po něm vlastně chcete:

Amazon support phone:
<a href="tel:+12062662992">
    1 (206) 266-2992
</a>

NIC.cz zákaznická linka:
<a href="tel:+420731657660">
    731 657 660
</a>

Pro odzkoušení můžete zkusit kliknout:

Amazon support phone:
1 (206) 266-2992

NIC.cz zákaznická linka:
731 657 660

Na desktopu samozřejmě záleží na tom, zda máte nainstalovaný nějaký program pro vytáčení čísel (např. Skype). Prohlížeč se zpravidla zeptá, zda chcete povolit otevření externí aplikace.

Na Androidu pak záleží na tom, zda máte nainstalovány dodatečné aplikace schopné zpracovat telefonní čísla – např. pokud máte Skype pro Android, můžete zvolit, zda budete volat přes GSM nebo Skype. Některé antivirové programy umí ověřit pravost telefonního čísla a tak se také zobrazí v nabídce. Po otevření aplikace pro volání si můžete zvolit, zda chcete číslo zavolat nebo jen uložit do seznamu.

Poznámka: Některé starší telefony a desktop prohlížeče mohou místo tel:+ podporovat callto:, které bylo původně určeno pro Skype volání, ale v současné době i Skype pochopil, že správně je tel:+ (asi proto, že teď patří Microsoftu, který též vydává mobilní operační systém a tak ví, jak se to dělá :), takže můžete na ostatní protokoly v klidu zapomenou.

Zákaz autodetekce

Na iPhonu existuje ještě autodetekce, která se snaží čísla podobná telefonním číslům převést na klikatelné odkazy. Pokud ale zrovna neprovozujete stránku „Zlaté stránky“, asi vám tahle vlastnost přijde zbytečná. Vypnout se dá dvěma způsoby:

  • Vložením nějakého HTML doprostřed čísla (doporučeno po 2 až 3 číslicích), protože iPhone hledá jen v čistém textu, a příliš krátká čísla ignoruje:
Number of visitors: 
    1<span>23</span>45<span>78</span>9
  • Vložením META hlavičky, která autodetekci globálně vypíná:
<meta name="format-detection" 
      content="telephone=no">

Podívejte se na ukázkovou stránku pro detekci telefonního čísla.

Poznámka: autodetekce funguje na základě amerického formátu, který používá specifické délky telefonních čísel podle regionů (např. 555-0123 nebo 1-800-555-0123). Na česká devítimístná čísla tak nebude fungovat a musíte vždy ručně vytvořit správný odkaz.

CSS vylepšení

S využitím CSS a Unicode možností můžete nechat automaticky označit odkazy na telefonní čísla ikonkou telefonu:

a[href^="tel:"]:before {
    content: "\260e";
    margin-right: 0.5em; 
}

NIC.cz zákaznická linka:
731 657 660

Google doporučení pro SEO

Google doporučuje uvádět čísla pomocí speciální HTML struktury, která následně umožní vyhledávačům číslo správně rozpoznat a zobrazit ve výsledcích i s popiskem:

<div itemscope
  itemtype="http://schema.org/LocalBusiness">
    <h1 itemprop="name">
        NIC.cz zákaznická linka
    </h1>:
    <span itemprop="telephone">
        <a href="tel:+420731657660">
            731 657 660
        </a>
    </span>
</div> 

2 komentáře u „Telefonní čísla v HTML“

  1. Zdravim. Chtel bych se zeptat, jestli se da zjistit odkud je format tel. cisla ?-???-???-?? Diky Petr

    1. U telefonních čísel je problém, že se průběžně mění s rostoucím počtem přístrojů a dalších technologií (digitalizace, mobilní telefony, internetové volání, atd.). Například v Německu, USA, Kanadě apod. má každý stát (nebo velké město) jiný počet číslic podle toho, kolik telefonů na jejich území provozují.
      Navíc dost států používá pro různé technologie různé formáty čísel (např. 6-místné pro pevné a 10-místné pro mobilní telefony).
      V některých státech (hlavně USA) se navíc neuvádí úvodní +, takže se pak nedá poznat, jestli jde o místní nebo mezinárodní formát. Jinde, třeba v Izraeli, je mezinárodní předvolba 01x podle toho, přes kterého operátora chcete mezinárodní hovor spojit.
      U vašeho čísla by jedna číslice na začátku napovídala, že to bude právě USA, kde mezinárodní formát začíná jedničkou, pak následují tři čísla oblasti (state nebo city) a pak 5 až 7 čísel místních.
      Mě se osvědčila Wikipedie, která má (v angličtině) na tohle téma obsáhlé články, např. https://en.wikipedia.org/wiki/National_conventions_for_writing_telephone_numbers

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..