Несколько тегов <nav>

Можно ли использовать несколько тегов на одной странице в html5?

Я прочитал эту статью на Zeldman.com, но мне это не совсем понятно

то есть.

<header><nav>links here</nav></header>

<footer><nav>links here</nav></footer>

Ответ 1

Да, абсолютно. Вы можете иметь несколько тегов header, nav и footer без штрафа.

До тех пор, пока вы убедитесь, что вы используете теги семантически, и вы не помещаете их в недопустимые места (они являются элементами блочного уровня, поэтому вы не можете поместить их внутри встроенного элемента, например) то вы не должны слишком беспокоиться о том, что говорят клеветники. Все это легко догнать, обсуждая крошечные детали, вместо того, чтобы продвигаться вперед по вашему проекту.

Ответ 2

Ответ - да. У вас может быть тег <nav> в нижнем колонтитуле, для получения дополнительной информации проверьте документацию <nav>.

Ответ 3

Да, иметь несколько элементов <nav> абсолютно нормально.

Вы просто должны убедиться, что вы делаете их различимыми для людей, использующих программы чтения с экрана. Вы можете сделать это, пометив каждый <nav> с помощью aria-label.

<nav aria-label=primary>
  <ul>
    ...List on links here...
  </ul>
</nav>
<nav aria-label=secondary>
  <ul>
    ...List on links here...
  </ul>
</nav>

Или, если один из <nav> как видимый текст на экране, который можно идентифицировать как элемент маркировки, вы можете использовать aria-labelledby следующим образом:

<nav aria-label="Site Menu">
  <ul>
    ...List on links here...
  </ul>
</nav>
<article>
  <h1>Title</h1>
  ...
  <nav aria-labelledby="id-1">
    <h2 id="id-1">
      Related Content
    </h2>
    <ul>
      ...List on links here...
    </ul>
  </nav>
</article>

Вы можете узнать больше об использовании нескольких навигационных ориентиров.