2

いくつかの目的でタグを使用することを計画していまし<nav>たが、次のことが起こりました。

たとえば、次のマークアップを取り上げます。

<nav id="sidebar">

<div class="links">
<a href="/"></a>
<a href="/"></a>
<a href="/"></a>
</div>


<div class="links">
<a href="/"></a>
<a href="/"></a>
</div>


<div class="links">
<a href="/"></a>
</div>

<div class="statement">
random content here, unrelated to navigation
</div>

<div class="randomstuff">
unrelated to navigation, but still here
</div>

</nav>

検索エンジンは、この種のセマンティックタグの使用法を尊重しますか?つまり、直接ではない場合でも、navタグでラップされているすべてのコンテンツ(divなど)の優先度を「無視」または下げるか、必ずしもすべてのナビゲーションコンテンツです。

headerfooterタグの中にsが入っているのと同じ質問ですdiv

よろしくお願いします。

4

3 に答える 3

3

navナビゲーションに関するものではないコンテンツを含めるべきではありません。仕様が非常に明確であるだけでなく、アクセシビリティにも悪影響を及ぼします。

したがって、2つのdiv要素(.statementおよび.randomstuff)は要素から抜け出す必要がありnavます。それらがのコンテンツに「接線方向に関連している」場合にのみ、2つの要素をの内部の要素navに入れることができますが、これはあなたのコンテンツには当てはまらないと思います。asidenav

各ページに含まれているがナビゲーションではない一般的なページコンテンツにどのHTML5タグをお勧めしますか?ヘッダー、フッター、ナビゲーションと同じ目的を果たし、一般的で各ページに含まれるため、結果に含まれないようにします。

一般的な答えはありません。どの要素を使用するかはコンテンツによって異なります。

sectionセクション要素( 、、、、)と見出しarticleを使用してnav、全体的な構造(ドキュメントのアウトライン)を作成します。asideこれで、各セクション(要素と混同しないでくださいsection!)に/要素を含めることができます。それでおしまい。/に含まれていないセクション内のすべては、そのセクションのメインコンテンツと見なすことができます。より細かい要素は、コンテンツが果たす役割を示す追加の手がかりを与えることができます。headerfooterheaderfooteraddresssmall

さて、何か(検索エンジン、スクリーンリーダー、人工知能など)がドキュメントを消費したい場合は、マークアップを利用する可能性があります。これが当てはまるかどうか、またどの程度当てはまるかは、ユースケース、意志、スキル、コストなどのいくつかの要因によって異なります。したがって、「検索エンジンは…?」に対する一般的な答えはありませ。そして、誰もが毎日新しいものを作成することができます)そしてb)一部(特に一般的なウェブ検索の「ビッグプレーヤー」)はこのことについて詳細に話すのが好きではありません。

しかし、ユースケースに関して、これらすべてのユーザーエージェント/消費者にとって何が役立つかを想定することができます。

  • スクリーンリーダーは、メインコンテンツのみを読み取る機能を提供する場合があります(、、、、…を無視しnavます)asidefooter
  • ブログ投稿検索エンジンは、内部の単語を内部articleよりも高いスコアにする可能性がありますnav/aside
  • 検索エンジンは、ナビゲーション検索クエリの場合は、、、およびそれ以上の単語をスコアheaderリングし、リサーチクエリの場合はそれより低い単語をスコアリングする場合があります。footersmalladdress
  • 読みやすさのアドオンは、トップレベルの要素を無視してメインコンテンツを見つけようとするnav場合footerがありasideます
  • …</li>

HTMLは、すべての要素の意味を定義します。すべてのHTML作成者がこれを尊重するのであれば、マークアップを完全に利用するユーザーエージェントを構築して使用することができます。ただし、実際には、作成者は定型文のコンテンツを(誤って)使用navする可能性があります☺。これにより、消費するすべてのユーザーエージェントは、nav(他の非ナビゲーションコンテンツが含まれている可能性があるため、重要になる可能性があるため)の特別な意味を忘れることになります。それらのユースケースについて)。

于 2013-01-08T15:10:49.013 に答える
1

まず第一に、ナビゲーションに関係のないコンテンツはnavタグ内に含まれるべきではありません。

あなた(または他の誰か)がそのような間違ったマークアップを持っている場合に検索エンジンがそのようなコンテンツで何をするかについては、誰かの推測です。

簡単な答え:誰も知らない!

于 2013-01-07T09:12:32.960 に答える
1

ブロック全体でNAVを使用することは意味的に意味がありません。レイアウトの目的で汎用DIVを使用します。

セマンティックの目的で、リンクのセットに複数のNAV要素を使用できますが、仕様はかなりオープンなので、次のようにします。

<div id="sidebar">

<nav>
<div class="links">
<a href="/"></a>
<a href="/"></a>
<a href="/"></a>
</div>
</nav>

<nav>
<div class="links">
<a href="/"></a>
<a href="/"></a>
</div>
</nav>

<nav>
<div class="links">
<a href="/"></a>
</div>
</nav>

<section>
<div class="statement">
random content here, unrelated to navigation
</div>

<div class="randomstuff">
unrelated to navigation, but still here
</div>
</section>

</div>

「これは論理的に読めますか?」と正直に自問する必要があります。

真実は、 HTML5タグについては多くのHYPEがあります。個人的には、それらは素晴らしいアイデアだと思いますが、実際には、検索エンジンがそれらをどのように処理するかについては、現時点では推測にすぎません。

お役に立てれば。マイキー

于 2013-01-07T11:02:40.973 に答える