ガラケーのキャリア毎のアンカータグの挙動について実験
これは何?
ガラケーのキャリア毎のアンカータグの挙動が知りたかったので実験した結果です
知りたいこと
- 終点アンカーは、name, id どちらで有るべきか?
- 終点アンカーを持つタグは、Aタグ以外でもよいのか?
先に結論
全キャリアで正しく動作させるには、終点アンカーは、A タグで、name でアンカー名を指定する
- 但し、W3CのXHTML1.1 違反なので、id も指定したほうが無難
具体的にはこんな感じ
<a href="#test">START</a> <a id="test" name="test">GOAL</a>
免責事項
それぞれ、1機種のみでの確認の為、他機種だと別の挙動をするかも
実験内容
以下のXHTML(XHTML 1.1)にて、いろんな条件のアンカータグを書いて、挙動を調査
条件
- 目的地アンカー(終点アンカー)が A タグで、name と id 両方で指定
- 目的地アンカー(終点アンカー)が A タグで、name で指定
- 目的地アンカー(終点アンカー)が A タグで、id で指定
- 目的地アンカー(終点アンカー)が div タグで、name と id 両方で指定
- 目的地アンカー(終点アンカー)が div タグで、name で指定
- 目的地アンカー(終点アンカー)が div タグで、id で指定
使用機種
仕様を見てみた
softbank
- 終了アンカーは、a タグに name 属性を付けて対応するように書かれている
[ページ内ラベルを指定する場合] 「<a name=#label>~</a>」で指定した位置へ遷移するには、同一ページ(ファイル)内であるならば、「<a href=#label>」と定義したアンカーを用い、別ページ(ファイル)の場合には、「<a href=(当該ファイルへの URI)#label>」 と定義したアンカーを用いる。
docomo
a タグの name属性の解説の例文では、終了アンカーは、a タグの name 属性
仕様書では、a タグ以外に name 属性が無い
name 値 《char》 意味 アンカーに名前をつけます。 注意点 <A name="top">ページトップ</A> <A href="#top">ページのトップへ</A>
au
説明文を読む限りでは、終了アンカーは、任意の要素に、id or name 属性で定義する
- 実際に動かすと、div の name 属性では動作しない
アンカーとは、ある文章の一部からある文章 (またはその一部) へとリンクが設定されている場合の、その出発地点と到達地点のことで、a要素を利用することで、その両方を指定する事ができます。 a要素をリンクの出発地点とする場合は、href属性でリンク先のURLを指定します。文章の特定の部分を到達地点とした場合は、name属性またはid属性を使用して、そこに名前 (識別子) を付けておきます。この場合、リンク先のhref属性で「URL#名前」と指定する事で、その文書内のその位置にリンクさせる事ができます。
w3c (XHTML1.1)
XHTML1.1 より、a タグから name 属性が無くなった
On the a and map elements, the name attribute has been removed in favor of the id attribute