2011-03-03 16 views
31
<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> 

¿Es más semánticamente correcto para tener un <nav> alrededor de éstos tanto <ul> forma individual, o sería mejor NAV envolver ambos?HTML5 etiqueta nav uso correcto

¿También sería apropiado usar la etiqueta de navegación para ajustar los elementos del menú del pie de página?

Respuesta

43

citar las especificaciones:

El elemento de navegación representa una sección de una página que enlaza con otras páginas o a las partes dentro de la página: una sección con enlaces de navegación.

No todos los grupos de enlaces en una página necesita estar en un elemento de navegación - sólo las secciones que consisten en grandes bloques de navegación son apropiados para el elemento de navegación. En particular, es común para los pies de página tener una lista corta de enlaces a varias páginas de un sitio, tales como como los términos del servicio, la página de inicio , y una página de derechos de autor. El elemento de pie de página solo es suficiente para tales casos , sin un elemento de navegación.

Así que siéntase libre de envolver ambos en una sola etiqueta de navegación. No envuelva el pie de página, pero utilizar la etiqueta de pie de página aquí :)

Leer las especificaciones aquí: http://dev.w3.org/html5/spec/Overview.html#the-nav-element

6

yo estaría de acuerdo con Martin. Envuélvalos en el elemento de navegación one.

En cuanto al pie de página, sí use otro elemento de navegación, siempre que los elementos estén navegando dentro del sitio.

+3

@Ian: las especificaciones mencionan específicamente que el pie de página no necesita un elemento de navegación. –

+0

Así que lo hacen, qué descuidado de mí. Aunque es extraño, ya que sigue siendo navegación. –

+1

@Ian Entonces, para que quede claro, es posible mostrar ** dos ** elementos de navegación en cualquier página, siempre que ambas cumplan sin ambigüedades con las especificaciones. –

10

La búsqueda de la razón de la navegación ha estado sucediendo desde hace años. Simplemente busque en Google ahora mismo y encontrará las fechas en la pregunta que se remontan a su presentación. El único uso real para nav que he encontrado hasta ahora es asociarlo con estilo en css. Antes de decir que hay mejores formas de hacerlo, considere que los programadores no son las únicas personas que hacen marcas de página. Para un artista comercial que diseña páginas web para ganarse la vida, es mejor tener una etiqueta simple que pensar en clases y subclases. Si has seguido la discusión entre varios grupos por un tiempo, tendrías la sensación de que podría tener razón sobre esto. Muchos desarrolladores de páginas tienen que ver con el estilo: son artistas, no programadores.

Un poco más de confirmación: si nos fijamos en las nuevas etiquetas estructurales en HTML5, puede obtener fácilmente la idea de que el comité quería elementos principales bien definidos de una página. Cada elemento principal puede verse y comportarse de manera diferente. Si desea diseñar una página web típica, entonces puede ser muy conveniente si alguien ya ha dado nombres a las etiquetas de sección de la página para que pueda pasar a la práctica de diseñarlos. Inserte una etiqueta de navegación en la parte de la página donde proporciona una sección de navegación. ¿Qué es eso, preguntas? No es una de las otras secciones ya predefinidas como el pie de página o la barra lateral. Here's a tutorial showing where the author believes the navigation section is - justo donde lo esperarías.

Eso está bien. Si quiero construir una página que sea como un millón de páginas, y mi única preocupación es hacer que mis elecciones de colores y elementos artísticos sean diferentes a los demás, todo es bastante rutinario. Como programador, no siempre quiero eso. Quiero flexibilidad para lograr lo que la funcionalidad prevista necesita de una manera lógica y fácil de usar. Sería bueno si eso es más fácil que difícil.Entonces, solo para dar un poco de contraste para mostrar que hay dos lados en esta historia: lamento la pérdida de marcos y marcos en HTML5. iFrames son sustitutos pobres.

Los ganadores que están interesados ​​en el estilo sin preocuparse demasiado por la estructura y funcionalidad designables siempre han querido impulsar el desarrollo en css, que no es un lenguaje de programación. RE: pérdida de fotogramas, parece que voy a retroceder hasta los días en que la mayoría de las páginas web estaban estructuradas por tablas; excepto que quieren que defina tablas en css en lugar de etiquetas en la página. Parecen estar haciendo todo lo posible para bloquear cualquier avance en las páginas dinámicas; permitiendo solo recargas de página completa para reestructurar cosas. (No es cierto si desea desvanecerse de una imagen a otra dentro de la misma estructura de página.)

Quizás he dicho algo más de lo necesario para responder la pregunta, pero pensé que sería útil ampliar un poco en el contexto general.

+4

Votado; respuesta útil. WTF tiene -4? – mxcl

+7

Imagino que las personas pueden haber votado negativamente porque no están de acuerdo con las opiniones expresadas. '