Telefon-Links sind eine Sache. Ähnlich wie ein Ankerlink, den man antippt, um (wahrscheinlich) zu einer anderen Seite zu gelangen, sind dies Links, die man antippt, um eine Nummer auf einem telefonfähigen Gerät anzurufen. Sie existieren schon seit geraumer Zeit. Dennoch bereiten sie mir viel Verwirrung. Zum Beispiel erkennen viele Geräte Telefonnummern automatisch und erstellen die Links für uns, aber nicht immer.
Es gibt genügend Webverkehr auf Mobilgeräten und viele Desktop-Anwendungen, die Anrufe tätigen können, daher lohnt es sich, mehr über Telefon-Links zu erfahren.
Standardmäßige Verwendung
Wir haben einen Ausschnitt für Telefon-Links auf dieser Seite, der seit 2011 existiert
<a href="tel:1-562-867-5309">1-562-867-5309</a>
Dies funktioniert auch bei Textlinks
<a href="tel:1-562-867-5309">Click to Call!</a>
tel: ist weniger ein Feature als ein Protokoll, ähnlich wie http: und mailto: Protokolle für die <a> Tag-Funktion sind. Die Spezifikation selbst sagt nichts dazu, obwohl HMTL5 Unterstützung für benutzerdefinierte Protokollhandler bot, die die Verwendung eines solchen Protokolls ermöglichen.
Sie fragen sich wahrscheinlich, warum tel: als Standardverwendung gelten kann, obwohl es keine offizielle Spezifikation dafür gibt. Das liegt daran, dass es bereits im Jahr 2000 als vorgeschlagener Standard vorgeschlagen und später von iOS übernommen wurde, was es um 2007 zum De-facto-Standard machte. Es gibt andere telefonbasierte Protokolle (auf die wir später eingehen werden), aber wir werden uns auf tel: konzentrieren, da es relativ prominent ist.
Browser-Unterstützung
Wir sehen tel: als Protokollhandler für Links ohne offizielle Dokumentation; und wo es keine Dokumentation gibt, sehen wir oft Unterschiede in der Browserunterstützung und im Verhalten. Das heißt nicht, dass Browser das <a>-Tag selbst nicht erkennen. Stattdessen können Browser unterschiedliche Entscheidungen treffen, was zu tun ist, wenn dieser Link geklickt wird. Zum Beispiel kann ein Browser davon ausgehen, dass eine andere App geöffnet werden muss, und einen Dialog auslösen, der fragt, welche App verwendet werden soll. In anderen Fällen wird der Link möglicherweise ganz ignoriert.
| Browser | Verlinkt es? | Wenn geklickt wird… |
|---|---|---|
| Android | Ja | Startet die Telefon-App |
| BlackBerry 9900 | Ja | Initiieret einen Anruf |
| Chrome | Ja | Löst einen Dialog aus, der die Verwendung einer anderen App bestätigt |
| Edge | Ja | Löst einen Dialog aus, der die Verwendung einer anderen App bestätigt |
| Internet Explorer 11 | Ja | Löst einen Dialog aus, der die Verwendung einer anderen App bestätigt |
| Internet Explorer 11 Mobile | Ja | Initiieret einen Anruf |
| iOS | Ja | Löst Optionen aus, um anzurufen, eine Nachricht zu senden, die Nummer zu kopieren oder sie zu den Kontakten hinzuzufügen |
| Opera (OSX) | Ja | Löst einen Dialog aus, der die Verwendung einer anderen App bestätigt |
| Opera (Windows) | Ja | Löst einen Fehlerdialog aus, der das Protokoll nicht erkennt |
| Safari | Ja | Startet FaceTime |
Styling von Telefon-Links
Das Styling von Telefonnummern ist wie bei jedem anderen Link. Tatsächlich erbt es das Standardstyling für Anker.
a {
color: orange;
text-decoration: none;
}
Nehmen wir an, wir möchten nur auf Telefon-Links anwenden. Das können wir mit einem Pseudoselektor tun, der nach dem tel:-Text in einer gegebenen URL sucht.
a[href^="tel:"] {
color: orange;
text-decoration: none;
}
Tuts+ hat einen netten Trick mit dem Pseudoselektor ::before, um das Unicode-Telefonsymbol vor der angezeigten Nummer hinzuzufügen.
a[href^="tel:"]:before {
content: "\260e";
margin-right: 0.5em;
}
Alternative Telefon-bezogene Links
Ob Sie es glauben oder nicht, tel: ist nicht der einzige Weg, einen Anruf mit einem Link zu initiieren. Hier sind einige andere benutzerdefinierte telefonbezogene Protokollhandler, die uns zur Verfügung stehen.
callto:Genau wietel:, aber verwendet, um Anrufe über die Skype-App zu initiieren.- Automatisch erkannt: Viele Browser erkennen Telefonnummern automatisch im HTML und verlinken sie für Sie – Sie müssen die Markierung nicht ändern. iOS tut dies zum Beispiel vollständig, obwohl dies bei Chrome auf Android nicht der Fall zu sein schien.
sms:Überspringen Sie den Anruf und gehen Sie direkt zur Textnachricht. Dies scheint bei Browsern, einschließlich mobiler Browser, deutlich weniger unterstützt zu werden alstel:.fax:Zurück in die Zukunft mit Faxgeräten. Wiederum fleckige Zuverlässigkeit.
Bewährte Praktiken
Es ist irgendwie lustig, über Best Practices zu sprechen, wenn es um etwas ohne Spezifikationen geht. Die Spezifikation gibt eine kurze Meinung zur "Click-to-Call"-Idee ab, aber hier sind ein paar Dinge, die Sie bei der Arbeit mit Telefonnummern und Links beachten sollten.
Kontext berücksichtigen
Ein Telefon-Link kann ein hervorragender Call-to-Action sein, insbesondere auf Mobiltelefonen, wo er die Reibung zwischen Inhalt und Anruf reduziert. Gleichzeitig können Telefon-Links auf Desktop-Systemen als hinderlich angesehen werden, wenn ein Anruf nicht möglich wäre, weil das Gerät über keine unterstützende Anwendung verfügt.
Eine Idee wäre, eine spezielle Klasse für Telefon-Links zu erstellen und zu versuchen, sie basierend auf unserem Wissen über den Browser ein- oder auszublenden. Modernizr und Media Queries sind hier nützlich, aber insgesamt ungenau.
Länderkennzahlen verwenden
Eine Länderkennzahl ist nicht zwingend erforderlich, könnte aber eine nette Ergänzung für Websites mit internationalem Traffic sein. Länderkennzahlen können mit einem + vorangestellt werden, aber auch das ist nicht zwingend erforderlich.
<a href="tel:+01-562-867-5309">1-562-867-5309</a>
Suchmaschinenoptimierung
SEO-Experten haben hier vielleicht mehr hinzuzufügen als ich, aber Google bietet ein strukturiertes Datenformat für lokale Unternehmen an, und dessen Verwendung macht Telefon-Links für Crawler erkennbarer und formatiert sie auf Suchergebnisseiten so, dass die Nummer viel besser nutzbar ist. Dudley Storey bietet einen ausgezeichneten Überblick mit dem folgenden Beispiel.
<div itemscope itemtype="http://schema.org/LocalBusiness">
<h1 itemprop="name">Beach Bunny Swimwear</h1>
Phone:
<span itemprop="telephone">
<a href="tel:+18506484200">
850-648-4200
</a>
</span>
</div>

Auf der anderen Seite, wenn Sie möchten, dass Suchmaschinen Telefon-Links verfolgen, können Sie rel="nofollow" hinzufügen, um zu verhindern, dass Links verfolgt und indiziert werden. Dies könnte eine gute Idee für jeden Link sein, der nicht als Call-to-Action ausgewiesen ist, da Webcrawler dazu neigen würden, ihn ins Leere zu verfolgen.
<a href="tel:+01-562-867-5309" rel="nofollow">1-562-867-5309</a>
Nummernerkennung in iOS deaktivieren
Wenn Sie Telefon-Links zu Ihrer Markierung hinzufügen möchten, sollten Sie auch in Erwägung ziehen, iOS daran zu hindern, Telefonnummern automatisch zu erkennen und Ihre Stile zu überschreiben. Fügen Sie das Folgende zum <head> des Dokuments hinzu, um dies zu deaktivieren.
<meta name="format-detection" content="telephone=no">
Weitere Lektüre
- Quick Tip: Make Telephone Numbers Do Something von Tuts+
- Adding Phone Numbers To Web Pages With HTML5 and Microdata von Dudley Storey
- Original Draft Proposal 2806, das durch Proposal 3966 abgelöst wurde.
- Apple URL Scheme Reference
Verwende [href^=”tel:”]-Links seit 2009. Während Skype callto: verwenden mag, verwendet es auch "tel:"-Protokoll-Links für Maschinen mit Browsern, die Skype auf meinem Ubuntu und Windows 8.1 Laptop verwenden (möglicherweise ist ihr Click-to-Call-Plugin erforderlich, IDK).
Ich bin noch nie einem Benutzer mit einem modernen Smartphone begegnet, das keinen Anruf tätigen konnte, aber für Windows-Benutzer kann ein Registrierungseintrag erforderlich sein, um den Protokollidentifikator einem Programm zuzuordnen, wenn er zunächst nicht funktioniert.
http://caniuse.com/#search=tel
nofollowsagt Google nicht, dass es dem Link nicht folgen soll; es sagt ihm, dass es keinen Wert darauf legen soll, dass er von der Website stammt, auf der er sich befindet. Subtil, aber es wird Crawler nicht abschrecken (dastel:-Protokoll könnte es aber).Zeitgemäßer Beitrag, Geoff! Vielen Dank für den tiefen Einblick in Telefon-Links. Ich habe mich mit der Handhabung von Telefon-Links in meinen letzten Projekten beschäftigt. Eine gute Erinnerung, das strukturierte Datenformat von Google zu verwenden.
Außerdem kann man ein Logo, eine Straßenadresse und viele coole Dinge hinzufügen. Schauen Sie sich schema.org für detaillierte Informationen zu localbusiness und organization an, da es nützlicher ist als nur Telefonnummern.
http://schema.org/Organization
http://schema.org/LocalBusiness
Weiß jemand, wie man in der Meta-Beschreibung Click-to-Call generiert?
Super cooler Artikel! Erster Gedanke nach dem Lesen: Lass uns ein JS-Skript erstellen, das den Wert von href je nach Browser-Engine ersetzt. Bei Browsern ohne Unterstützung könnte es einfach zur Kontaktseite umleiten, anstatt Dialogfelder anzuzeigen.
Ich glaube, dass Inline-Schema ein wenig veraltet ist. Google empfiehlt stattdessen die Verwendung von JSON-LD.
Vielen Dank für den Hinweis auf JSON-LD (das ist die Schreibweise, nach der man bei einer SEO-Suche suchen sollte), das ist genau das, worauf ich gehofft habe, seit ich von schema.org erfahren habe.
Die Attribut-Suppe und der unordentliche HTML machen mir Kopfzerbrechen. :P (Ich hatte JSON-LD schon einmal gesehen, es aber als ein weiteres Google- "Schema" abgetan, um Seiten zu manipulieren, damit sie ihren Willen tun…. :P)
+01-562-867-5309
Das ist ein Fehler. Es gibt keine solche Telefonnummer. Die internationale Vorwahl für den North American Numbering Plan ist +1, und +0 ist reserviert/wird nicht verwendet.
Das ist auch mein Verständnis. Ich habe immer nur +1 für US-Nummern verwendet.
Keine Erwähnung der Firefox-Unterstützung?
Ich habe tel:-Links unter Firefox (Mac) vom Desktop ausprobiert und es versucht, FaceTime zu starten, was die korrekte Aktion für den Desktop ist.
Tolle Lektüre, Geoff. Sich an den De-facto-Standard zu halten, ist ein guter Weg. Telefonnummern können schwierig zu verwalten sein, da sie sich im Laufe der Zeit sehr organisch entwickelt haben. In einem häufigen Anwendungsfall werden wir irgendwann zwangsläufig Telefonnummern in Formularen sammeln.
Für Interessierte hier ist eine maschinenfreundliche und einfache Möglichkeit, dies mit String-Ersetzung während der Verarbeitung von Formulardaten zu tun: https://gist.github.com/jhabdas/66abcf1ac862179cf4bf
Ausgezeichneter Beitrag. Danke!
Sehr nützlicher Beitrag. Danke!
Ich bin mir nicht sicher, was Sie damit meinen, dass es keine Spezifikation gibt. IANA verwaltet die Registrierung von URI-Schemata: http://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml
Sie können auch Durchwahlen in der Nummer verwenden, indem Sie ein Komma und dann die Durchwahl anhängen. Das Komma steht für eine Pause.
Es gibt auch Microformats 2.0, das knapper ist als schema.org.
http://microformats.org/wiki/h-card
Schöner Artikel. Aber Sie müssen sich auf die Rechtschreibung konzentrieren wie "automagically", "HMTL5" und viele mehr. Sie können auch diesen Text durchsuchen.
—
Mit freundlichen Grüßen,
Sourav Basak [Blogger, Unternehmer und Denker]
http://www.namasteui.com
Hehe, 'automagically' ist ein US-amerikanisches Idiom. Eine Wortkombination aus "automatic" und "magic". Etwas, das automatisch geschieht und man nicht darüber nachdenken muss, wie es passiert; es geschieht wie von Zauberhand!