web-dev-qa-db-ja.com

名前属性は廃止されました。アンカーを扱うときの正しい動作は何ですか?

w3 html5 validator を使用してコードをテストすると、次の警告メッセージが表示されます。

警告name属性は廃止されました。代わりに、最も近いコンテナにid属性を配置することを検討してください。

質問:

  • 最も近いコンテナとはどういう意味ですか?
  • <a>は廃止されましたか?
  • idの代わりにnameを使用すべきですか?
17
Kzqai

[A]空のプレースホルダータグは全体として非推奨であり、アンカーは代わりにidを持つ任意の要素を単純に指すことができますか?

ページ内リンクが必要なヘッダータグ(MediaWikiのデフォルトの動作に従う)にユーザーをジャンプすることを好みますが、はい、任意の要素のIDを指定できます。

9
danlefree

ユーザーをページ内リンク(フラグメント識別子とも呼ばれる)にジャンプする必要がある場合は、id属性を設定できます(これは- frag ID以外にも使用されますany要素。次に、href要素のa属性のURLで通常の#を使用します。以下に例を示します。

<body>
  <p>Despite the many
    <a href="#benefits-of-gum-chewing">benefits</a>
    you may experience while chewing gum, there are also many drawbacks,
    especially with 
    <a href="http://www.example.org/sugar.html#cons">non-sugarless</a>
    gum.</p>
  ...
  <section id="benefits-of-gum-chewing">
    <h1>Benefits of Gum Chewing</h1>
    ...
  </section>
</body>

独自のページを作成するときは、idを各<section>タグ(HTML5)に付けます(使用する予定がなくても)。 idの値は、見出しのコンテンツのURLフレンドリーバージョンです。同じid<h1>などに割り当てることにより、同じ効果を得ることができます。

最後に、空の<a>タグは非推奨ではありません。 HTML5仕様 に示されているとおりです。

a要素にhref属性がない場合、この要素は、リンクが配置されているプレースホルダーを表します…

さらに、 area elements にも同じことが当てはまります。

hrefおよびa要素のarea属性は不要です。これらの要素にhref属性がない場合、ハイパーリンクは作成されません。

17
chharvey

HTML5では、name属性は非推奨になりました。そのため、idの代わりにnameを使用することになります。それ以外の場合、他はすべて同じです。

<a>は非推奨ではありません。

1