Web標準普及プロジェクト

<a href="#top">はページ上端へのアンカーではありません

いくつかのサイトで<a href="#top">ページ上端へ</a>というアンカーを設置しているのに、そのページ内のname属性、 id属性にtopという値が設定された要素の無いため、このアンカーが動作しないという報告がありました。 調査したところ、このサンプルによりページ上端へジャンプするのはIE、Opera(6で確認、7以降はジャンプしない)、Netscape4.xでした。 MozillaでもQuirksモードでのみ、これらとの互換性のためにページ上端へとジャンプするように修正されましたが、 これは本来の仕様とは異なるため、MozillaのStandardモードではサポートされていません

筆者は今まで様々なHTMLの解説書等を読んできましたが、このような拡大解釈が記載されていた書籍は記憶にありません。 何故、この問題が多数報告されたのか、疑問ばかりが残ります・・・・

とにかく、仕様上はアンカーで#topという名前へとジャンプするように指定するのであれば、 正しくページ内にtopという名前を持つ要素を配置する必要があります

以下にサンプルを用意しました。 このページにtopを値にもつidもnameも存在しません、つまりリンクをクリックしてもページ上端へとスクロールしないのが正しい動作です。

<a href="#top">ページ上端へ</a>

ページ上端へ