web-dev-qa-db-ja.com

ウェブサイトで「tel:」を使用して電話番号を手動でハイパーリンクする必要がありますか?

コードでは、hrefの電話番号の前に「tel:」を付加することで、ウェブサイトの電話番号をリンクにすることができます。

したがって、たとえば、次のように800-867-5309へのリンクを作成できます。

<a href="tel:+18008675309">800-867-5309</a>

一部の電話では、適切にフォーマットされた電話番号がリンクに自動的に変換され、クリックすると、その番号(iPhoneなど)にダイヤルするかどうかを確認するプロンプトが表示されます。

これらのリンクを手動で追加して、デスクトップにリンクされた電話番号が表示されるようにすることは理にかなっていますか?

デスクトップコンピューターで、これらのリンクのいずれかをクリックすると、コンピューターはある種のデフォルトの通信プログラムを開こうとします。

デフォルトの通信プログラムを設定していない場合、これは完全に不慣れなプログラムを開く可能性があるため、少し不快なものになる可能性があります。これは「予期しない結果」の領域に該当すると思います。

この種のベストプラクティスはありますか?

電話番号のリンクは、おそらく他のリンクとは異なる形式にする必要がありますか?

29
magzalez

マークアップで「tel:」の代わりに microformats を使用して、ブラウザで処理することをお勧めします。

パワーユーザーは plugin またはユーザースクリプトをインストールできます。ブラウザーが電話番号をリンクにネイティブに変換してmicrodataを再フォーマットしたり、コンテキストメニューに新しいアイテムを表示してそのデータを処理したりしない場合(例: "importアドレス帳に」、「直接呼び出す」など)。

12
Michael

ご存じのように、電話をかけることができるデバイスを使用している場合はこれが理想的ですが、デスクトップまたはラップトップでWebサイトを閲覧する場合は「いいえ」と答えます。

あなたが言うように、ユーザーがリンクを処理できるプログラムがインストールされていない場合、これは試行錯誤するため、これは悪いUXです。

Skypeには クリックして呼び出す があり、インストールすると、(パターンマッチングを介して)電話番号と思われるものがこの形式に変更されます。ただし、メタスタックオーバーフローに関するこの質問が証言しているので、それは間違いのない証拠ではありません。

Skypeプラグインはユーザーの評判とバッジを電話番号に変換します

Skypeのようなアプリケーションがユビキタスになると、フォーマットを制御でき、常に正しくフォーマットされるため、これは良いアイデアになります。

5
ChrisF

この時点で、tel:を処理できるほぼすべてのデバイスは、電話番号を自動的にtel:ハイパーリンクに変換します。できないデバイスは、ユーザーが好まないエラーメッセージを生成します。したがって、私は手動のtel:リンクのみを使用します。それらの有用性が、エラーメッセージまたは予期しない結果のリスクを上回る場合のみです。 tel:をサポートするデバイスは比較的少なく、自動的に作成しないため、現在は使用しないでください。

4
Owen Johnson

おそらく css media attributes を使用して、ユーザーが閲覧しているデバイスを認識し、モバイルの場合は電話番号をリンクとして表示することができます。それ以外の場合は、通常どおりに表示します。

1
Tim