39

私は役割と少し混乱しています。navページに要素で囲まれたナビゲーションがあり、を指定している場合role="navigation"

<nav role="navigation">
    ...
</nav>

navセクションがナビゲーションであることは、すでに意味的に明示的ではありませんか?

または、ページに他のナビゲーションセクションがあり、そのうちの1つだけに役割を指定した場合、このセクションがページで最も重要になりますか?そして、role="navigation"退屈なナビゲーションを持たない人は?

4

4 に答える 4

35

最新のブラウザ/テクノロジーのほとんどがHTML5<nav>要素をナビゲーションとして認識し、同じ注意を払っているのは事実です。ただし、role="navigation"属性を明示的に設定することで、より多くのテクノロジーが属性を取得できるようになります。

たとえば、障害を持つユーザー向けのスクリーンリーダーやその他のテクノロジーが完全に標準に準拠していることはめったにありません(特にIE6以下に戻る必要がある場合)。そのため、役割属性を明示的に追加することで、可能な限り多くのユーザー。

また(これは単なる推測ですが)あまり知られていない検索エンジンの中には、まだHTML5を完全に認識していないものもあるため、これらの役割を追加すると、サイトのクロール機能に役立つはずです。

于 2013-02-16T14:03:19.183 に答える
21

W3Cからこれを見てください。それは言う:

ほとんどの場合、デフォルトの暗黙的なARIAセマンティクスに一致するARIAロールやaria- *属性を設定する必要はなく、これらのプロパティはブラウザによってすでに設定されているため、お勧めしません。

したがって、これ<main role="main">不要であり、お勧めしません。とは言うものの、Bootstrapのナビゲーションバーの例(私を含むすべての人がコピーして貼り付ける)にはが付属してい<nav role="navigation">ます。

正直なところ、何が正しいのかわかりません。

于 2014-09-24T10:50:26.113 に答える
5

W3Cは次のように推奨しています。「ただし、ARIAをサポートするユーザーエージェントが構造にアクセスしやすくするとともに、HTML5をサポートしないユーザーエージェントも構造を理解できるようにするために、ARIA role="navigation"を追加することをお勧めします。 「」 https://www.w3.org/WAI/GL/wiki/Using_HTML5_nav_element

于 2016-08-11T08:53:52.110 に答える
2

要素を使用する<nav>と、セクションがの役割を持っていることが自動的に通知されますnavigation。開発者は、ARIAよりも正しいセマンティックHTML要素を使用することを常に好む必要があります。

出典:ARIAに関するMDNの記事:ナビゲーションの役割

于 2021-05-12T12:16:08.333 に答える