suit: Telefonnummern für Smartphones formatieren

Beitrag lesen

Und dabei verwendest du die Schreibweise "tel:+498932168"?

Ich verwende die E.123-Notation mit Bindestrichen statt den Leerzeichen, das ist ebenfalls mit RFC 3986 zu vereinbaren und wird dort sogar so als Beispiel verwandt

oder sich beklagt, dass die Telefonnummer nicht in der in Österreich übliche Klammer-Schreibweise steht.

In den Elementinhalt des a-Elements kannst du doch schreiben, was du willst. <a href="tel:+498932168">(089) 32 16 8</a>

Das ist richtig, davon sprach ich nicht.

die Nummer erscheint im Display und eine 0 zu viel steht drin und man kann die Nummer nicht wählen.

??

Wenn du die Nummer _nicht_ verlinkst und z.B. schreibst +43 (0) 123 / 45 67 89 wird die Telefonnummer ohne Verlinkung als +430123456789 erkannt (zumindest von allen iOS-Geräten unterschiedlichster Evolutionsstufen) - da ist dann eine Null zu viel.

Jetzt gibts also 2 Kunden:

  1. ich will, dass die Nummer gut aussieht - auch wenn ich irgendwelche absurden oder antiken nicht-(mehr-)?Normen erfülle

Lösung: <a href="tel:+43-123-456789">+43 (0) 123 / 45 67 89</a>

  1. ich will, dass beim Klicken der Nummer auf einem Desktop-Gerät kein "Weiß nicht, wie er mit diesem Protokoll umgehen soll"-Verweis kommt

Lösung: +43-123-456789

Wobei Lösung #2 den Nachteil hat, dass sie auf vielen ordentlichen Browsern nicht funktioniert, weil ein kein Link einfach kein Link ist

Allerdings hat Lösung #2 den signifikaten Vorteil, dass man z.B. Fax-Nummern nicht klicken/anrufen kann, was unter iOS kein Problem ist.

Die Empfehlung an meine Kunden ist daher idR. folgendes um deren Kontaktinformationen auszuzeichnen (#1 für Telefonnummern und #2 für Fax-Nummern):

  <div class="tel">  
    <span class="type">Tel</span>.:  
    <a class="value" href="tel:+43-123-456789">+43-123-456789</a>  
  </div>  
  <div class="tel">  
    <span class="type">Fax</span>:  
    <span class="value">+43-123-456789-99</span>  
  </div>

Im Fließtext selbst kann man die dann ebenfalls problemlos verlinken, sofern man TYPO3 geringfügig patcht, da das tel:-Schema nicht enthalten ist und der default-Handler aktiviert wird, und ein unsinniges http:// davorstellt.

localconf.php wird hierfür mit dieser Zeile ergänzt:

$TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_content.php']['typolinkLinkHandler']['tel'] = '';

Das ersetzt den Linkhandler durch "nichts" und die Eingabe geht leer (allerdings ohne Validierung) durch - ist ein schneller dreckiger fix, die deluxe-Variante wäre noch ein Syntax-Check :)

Damit deckt die meisten relevanten Anwendungsfälle ab - mit Ausnahme von Skype, aber da soll Microsoft wie gesagt lieber mal anstatt callto: das Standardkonforme tel:-Schema registrieren. Im MSDN gäb' es da sogar einen Artikel dazu.

Registering an Application to a URI Scheme