El título lo explica bastante bien.
Ahora que tenemos una <nav>
etiqueta dedicada ,
Es esto:
<nav>
<ul>
<li><a href="#foo">foo</a></li>
<li><a href="#bar">bar</a></li>
<li><a href="#baz">baz</a></li>
</ul>
</nav>
algo mejor que lo siguiente?
<nav>
<a href="#foo">foo</a>
<a href="#bar">bar</a>
<a href="#baz">baz</a>
</nav>
Quiero decir, asumiendo que no necesito un nivel DOM adicional para algún posicionamiento / relleno CSS, ¿cuál es la forma preferida y por qué?
html
html-lists
nav
kikito
fuente
fuente
Respuestas:
el elemento de navegación y la lista proporcionan información semántica diferente:
El elemento de navegación comunica que estamos tratando con un bloque de navegación importante.
La lista comunica que los enlaces dentro de este bloque de navegación forman una lista de elementos
En http://w3c.github.io/html/sections.html#the-nav-element puede ver que un elemento de navegación también podría contener prosa.
Entonces sí, tener una lista dentro de un elemento de navegación agrega significado.
fuente
<nav>
sin<ul><li>
parece que tendrá menús infantiles más dinámicos. ¿Qué sucede si tiene varias listas de menú que son de un tipo y posición diferentes en el<nav>
? Agruparía esas listas de menú como<ul><li>
en el<nav>
. Entonces, si sus menús son regulares, iría con ellos<ul><li>
.En este punto, mantendría los
<ul><li>
elementos, ya que no todos los navegadores admiten etiquetas HTML5 todavía.Por ejemplo, me encontré con un problema al usar la
<header>
etiqueta: Chrome y FF funcionaron como un encanto, pero Opera falló.Hasta que todos los navegadores admitan HTML por completo, los incluiría, pero confío en los antiguos para la compatibilidad con versiones anteriores.
fuente
:)
Realmente depende de ti. Si usualmente usó una lista desordenada para marcar su menú de navegación, entonces diría que continúe haciéndolo dentro del elemento <nav>. El objetivo del elemento <nav> es identificar la navegación del sitio a un lector de computadora, por ejemplo, por lo que si usa una lista o simplemente enlaces es irrelevante.
fuente
nav
S ya
s son tan buenas como las listas ahora.Para mí, las listas desordenadas son marcas adicionales que no son realmente necesarias. Cuando miro un documento HTML, quiero que sea lo más limpio y fácil de leer posible. Ya está claro para el espectador que se presenta una lista si se utiliza la sangría adecuada. Por lo tanto, agregar UL a estas etiquetas a es innecesario y dificulta la lectura del documento.
Aunque puede ganar algo de flexibilidad, creo que es una mejor idea no inflar el marcado con clases ul no semánticas y diseñar los elementos a de una sola vez. Y no tienes excusa: usa los pseudo-selectores: before y: after.
Editar : Me he enterado de que algunos lectores de pantalla ARIA tratan las listas de manera diferente a las simples etiquetas de anclaje. Si su sitio web está dirigido a personas discapacitadas, podría considerar usar el enfoque basado en listas.
fuente
No, son equivalentes. Recuerde, HTML 5 es compatible con las listas HTML 4, por lo que puede usarlas en el mismo sentido. La compensación es menos código para la segunda versión.
Si le preocupa la compatibilidad con versiones anteriores con respecto a los navegadores, asegúrese de incluir esta corrección para proporcionar la funcionalidad de etiquetas como
<nav>
y<article>
.fuente
Si estamos hablando "según el libro", entonces no; no necesita usar listas para marcar su navegación. La única ventaja real que ofrecen es proporcionar un mayor grado de flexibilidad al peinar.
fuente
Conservaría las
<ul><li>
etiquetas, porque las nuevas etiquetas (<nav>
,<section>
,<article>
etc.) son solo versiones más semánticas del<div>
s.Por la misma razón, no solo tendrías una gran cantidad de enlaces en una
<div>
, también deberían estar estructurados dentro de una<nav>
etiqueta.fuente
Hay una publicación muy detallada sobre Trucos CSS sobre esta pregunta exacta. Obviamente, es un tema muy debatido; la publicación tiene más de 200 comentarios.
Navegación en listas: ser o no ser (Trucos CSS, enero de 2013)
fuente