Интересная статья была опубликована на CSS-хитрости Криса Койера: навигация в списках: быть или не быть . Статья вызвала множество комментариев и дебатов. Вот резюме …
Столкнувшись с созданием меню навигации, большинство веб-разработчиков реализуют такой код, как:
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Products</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">About Us</a></li>
<li><a href="#">Contact Us</a></li>
</ul>
</nav>
Те, кто не эмигрировал из земли HTML4, пропустят <nav>
<ul id="nav">
Вопрос: нужны ли элементы списка?
Голые ссылки более чистые и чистые …
<nav>
<a href="#">Home</a>
<a href="#">Products</a>
<a href="#">Services</a>
<a href="#">About Us</a>
<a href="#">Contact Us</a>
</nav>
До HTML5 списки требовались:
- старые браузеры могут бороться со стилем встроенных элементов
- смежные ссылки могут вызвать проблемы с доступностью в программах чтения с экрана, и
- Вы должны были поместить навигацию во что-то — списки были хорошим вариантом.
Эти проблемы в основном исчезают с введением HTML5-элемента <nav>
Лишние элементы списка не нужны, потому что браузер / программы чтения с экрана понимают, что это блок навигации, и могут соответствующим образом обрабатывать ссылки.
Тем не менее, есть ряд веских причин для сохранения списков:
- Иерархические меню и подменю могут быть определены. Нет причин, по которым нельзя использовать другие элементы, хотя есть несколько преимуществ, например,
<nav> <h1>Main Menu</h1> <a href="#">Home</a> <a href="#">Products</a> <section> <h2>Product Menu</h2> <a href="#">Product One</a> <a href="#">Product Two</a> </section> <a href="#">Services</a> </nav>
- Списки предоставляют дополнительные элементы для CSS-хуков и стилей.
- Списки — это широко распространенная методика, которую разработчики знают и ожидают.
Списки навигации укоренились в качестве окончательного метода. Мало кто из нас рассматривает вялую навигацию; это неправильно — но так ли это? Это будет зависеть от обстоятельств, и в семантических ссорах легко увязнуть, но я подозреваю, что Крис прав: списки часто не нужны.
Я собираюсь попробовать навигацию по голой ссылке в моем следующем проекте. Вы будете?