risposta-alla-domanda-sullo-sviluppo-web-bd.com

<nav> o <menu> (HTML5)

W3Schools.com e sono abbastanza sicuro di ricordare di aver visto W3C.org affermare che <menu> dovrebbe essere usato per i menu della barra degli strumenti e per elencare i comandi di controllo dei moduli.

Quindi, quale dovrei usare per il mio menu principale? Nav o Menu? Importa?

100
anon271334

nav viene utilizzato per gruppi di collegamenti interni (a elementi). In genere questo significa che i collegamenti dovrebbero spostarsi su pagine separate o modificare il contenuto nel caso di una AJAX. Aspettati una sorta di modifica del contenuto quando fai clic su un elemento nav.

menu viene utilizzato per gruppi di controlli (a, input, button). Generalmente questo significa che gli input dovrebbero svolgere una funzione all'interno della pagina. Aspettati una sorta di interazione javascript quando fai clic su un elemento menu.

nav: il navigazione per il sito.

menu: il men per un'applicazione web.

160
zzzzBov

Ecco un HTML5Doctor post su nav con una sezione su come è diverso da menu (in pratica, usalo nelle app reali). Sembra che tu voglia nav.

10
Su'

Il posto migliore per ottenere questa risposta sono gli stessi HTML 5.

Il menu è definito in HTML 5.1 2nd Edition .

", Rappresenta un gruppo di comandi".


Nav è definito in HTML 5 .

È "... una sezione di una pagina che si collega ad altre pagine o parti all'interno della pagina: una sezione con collegamenti di navigazione."

Ci sono note per la navigazione che non ho incluso ma che penso siano importanti, ma penso che sia meglio per te ottenere la definizione tu stesso dagli standard.

Le definizioni contrassegnate in questo post come risposta sono vicine alla correzione ma contengono dichiarazioni estranee che rendono la risposta stessa errata.

1
kevin

Con il <menu> viene solitamente utilizzato per i menu di scelta rapida.

MDN ha una buona documentazione su di esso: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/men

1
Jack

<nav> è una sezione (come <section> o <article>) in modo che appaia nella struttura del documento HTML. Per questo motivo, vorrei utilizzare <menu> Il 99% delle volte. Per me, <nav> è un mix tra <section> e <menu>, con l'aggiunta della limitazione che <nav> dovrebbe essere utilizzato specificamente per la navigazione, mentre <menu> può essere per tutto ciò che potrebbe essere chiamato un menu (inclusa una barra di navigazione). Pertanto, la maggior parte delle barre di navigazione, nonostante siano barre di navigazione, non soddisfano i severi requisiti di <nav>, e <menu> è più appropriato.

Nella mia carriera di sviluppo web non ho mai trovato una situazione in cui volevo che la mia barra di navigazione facesse parte del profilo del documento.

0
Nick Manning