code - <nav> o<menú>(HTML5)
html5 structure example code (4)
Aquí hay una publicación de HTML5Doctor en el navegador con una sección sobre cómo es diferente del menu
(básicamente, úsala en aplicaciones reales). Parece que quieres nav
W3Schools.com y estoy bastante seguro de que recuerdo haber visto que W3C.org declara que <menu>
debería usarse para los menús de la barra de herramientas y enumerar los comandos de control de formularios.
Entonces, ¿cuál debería usar para mi menú principal? Nav
, o Menu
? ¿Importa?
Con el <menu>
generalmente se usa para menús contextuales.
MDN tiene buena documentación: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu
<nav>
es una sección (como <section>
o <article>
) por lo que aparecerá en el esquema del documento HTML. Debido a esto, usaría <menu>
99% del tiempo. Para mí, <nav>
es una mezcla entre <section>
y <menu>
, con la constricción añadida de que <nav>
debe usar específicamente para la navegación, mientras que <menu>
puede ser para cualquier cosa que se llame menú (incluido un barra de navegación). Entonces, la mayoría de las barras de navegación, a pesar del hecho de que son barras de navegación, no se ajustan a los estrictos requisitos de <nav>
, y <menu>
es más apropiado.
Nunca en mi carrera de desarrollo web encontré una situación en la que quería que mi barra de navegación formara parte del esquema del documento.
nav
se usa para grupos de enlaces internos ( a
elementos). En general, esto significa que los enlaces deben viajar a páginas separadas o cambiar el contenido en el caso de una página AJAX. Espere algún tipo de cambio de contenido al hacer clic en un elemento de nav
.
menu
se usa para grupos de controles ( a
, input
, button
). En general, esto significa que las entradas deben realizar una función dentro de la página. Espere algún tipo de interacción de JavaScript al hacer clic en un elemento del menu
.
nav
: la navegación para el sitio.
menu
: el menú para una aplicación web.