Подтвердить что ты не робот

Правильное использование тега HTML5 nav

<ul class="mainMenu">
    <li><a href="#">Home</a></li>
    <li><a href="#">Forum</a></li>
    <li><a href="#" class="mainSelected">Construct</a></li>
    <li><a href="#">Arcade</a></li>
    <li><a href="#">Manual</a></li>
</ul>
<ul class="subMenu">
    <li><a href="#">Homepage</a></li>   
    <li><a href="#">Construct</a></li>
    <li><a href="#" class="underSelected">Products</a></li>
    <li><a href="#">Community Forum</a></li>
    <li><a href="#">Contact Us</a></li>
</ul>

Является ли более семантически правильным иметь <nav> вокруг обоих этих <ul> в отдельности, или должен ли один перенос оболочки оба?

Также было бы целесообразно использовать тег nav для обертывания элементов меню нижнего колонтитула?

4b9b3361

Ответ 1

Чтобы процитировать спецификации:

Элемент nav представляет собой раздел страницы, которая ссылается на другие страницы или к частям на странице: раздел с навигационными ссылками.

Не все группы ссылок на странице нуждаются быть в навигационном элементе - только разделы которые состоят из большой навигации блоки подходят для навигации элемент. В частности, это для нижнего колонтитула иметь короткий список ссылки на различные страницы сайта, такие как как условия обслуживания, дома страницы и страницы с авторскими правами. Нижний колонтитул одного элемента достаточно для таких случаях, без элемента навигации.

Так что не стесняйтесь обернуть оба в одном теге nav. Не заверните нижний колонтитул, но используйте тег нижнего колонтитула:)

Прочитайте спецификации здесь: http://dev.w3.org/html5/spec/Overview.html#the-nav-element

Ответ 2

Поиски причины для навигации продолжаются уже много лет. Просто google сейчас, и вы найдете даты на вопросе, которые вернутся к его вступлению. Одно фактическое использование для навигации, которое я нашел до сих пор, - связать его со стилем в css. Прежде чем вы скажете, есть лучшие способы сделать это, подумайте, что программисты - это не единственные люди, которые делают разметку страницы. Для коммерческого художника, который разрабатывает веб-страницы для жизни, лучше иметь один простой тег, чем думать о классах и подклассах. Если вы некоторое время последовали за обсуждением среди разных групп, у вас возникло бы чувство, что я вполне могу быть прав по этому поводу. Многие разработчики страниц все о стиле - это художники, а не программисты.

Немного больше подтверждения: если вы посмотрите на новые структурные теги в HTML5, вы можете легко понять, что комитет хочет четко определить основные элементы страницы. Каждый главный элемент может выглядеть и вести себя по-разному. Если вы хотите создать типичную веб-страницу, тогда это может быть очень удобно, если кто-то уже дал имена тегам раздела страницы, чтобы вы могли сразу перейти к их стилизации. Выбросьте тег nav в той части страницы, где вы предоставили раздел навигации. Что это, спросите вы? Это не один из других уже заранее определенных разделов, таких как нижний колонтитул или боковая панель. Здесь учебник, показывающий, где автор считает, что раздел навигации - - прямо там, где вы ожидаете.

Это хорошо. Если я хочу создать страницу, похожую на миллион других страниц, и моя единственная проблема заключается в том, чтобы сделать мой выбор цвета и художественные элементы отличными от других, все это довольно рутинно. Как программист, я не всегда этого хочу. Я хочу, чтобы гибкость выполняла все необходимые функции в логической и простой форме. Было бы неплохо, если бы это было легче, чем сложнее. Итак, просто чтобы немного контрастировать, чтобы показать, что есть две стороны этой истории - я жалуюсь на потерю наборов фреймов и фреймов в HTML5. iFrames являются плохими заменителями.

Победители, которые интересуются стилем, не заботясь о конструктивной структуре и функциональности, всегда хотели продвинуть разработку в css, что не является языком программирования. RE: потеря фреймов, похоже, что я буду полностью отброшен до тех пор, пока большинство веб-страниц не будут структурированы таблицами; за исключением того, что они хотят, чтобы я определял таблицы в css, а не теги на странице. Кажется, что они делают все возможное, чтобы блокировать любые изменения на динамических страницах; позволяя только полную перезагрузку страниц для реструктуризации вещей. (Не верно, если вы хотите исчезать с одного изображения на другое с той же структурой страницы.)

Возможно, я сказал немного больше, чем нужно, чтобы ответить на вопрос, но я подумал, что было бы полезно немного расширить контекст.

Ответ 3

Я согласен с Мартином. Оберните их в один элемент nav.

Что касается нижнего колонтитула, да, используйте другой элемент nav, если элементы перемещаются внутри сайта.