Guida all'utilizzo dell'HTML5
HTML5 introduce due nuovi elementi con un ruolo apparentemente identico:
In realtà i due elementi sono tutt'altro che simili, ed è improbabile che siano utilizzati contemporaneamente. L'elemento <nav> á utilizzato per raggrupare tutti gli elementi <a>, mentre l'elemento <nav> raggruppa sia <a> che <input>, <button> ed i nuovi elementi <command>.
Tali elementi possono essere raggruppati utilizzando elementi <li>, proprio come un <ul> od un <ol>.
Perchè questa differenza?
Sintetizzando, l'elemento <menu> è stato concepito per le applicazioni web, non per i siti web ed è stato progettato per gestire elementi interattivi che generaro azioni o eventi.
I menu possono essere dei seguienti tipi:
- context (contesto)
- toolbar (barra degli strumenti)
- list o lista (che è il valore di default)
Ecco un esempio:
<menu type="toolbar" label="Main">
<li>
<menu label="File">
<button type="button" onclick="newFile();">Nuovo</button>
<button type="button" onclick="openFile();">Apri</button>
<button type="button" onclick="closeFile();">Chiudi</button>
</menu>
</li>
<li>
<menu label="Edit">
<button type="button" onclick="undo();">Avanti</button>
<button type="button" onclick="redo();">Indietro</button>
<button type="button" onclick="copy();">Copia</button>
<button type="button" onclick="paste();">Incolla</button>
</menu>
</li>
</menu>
* Le voci del menu context non sono disponibili per l'utente fino a quando il menu non è attivato dallo stesso utente (facendo click o premendo un bottone)
Conclusioni.
L'elemento nav raggruppa gli elementi di navigazione principale e rappresenta una parte della pagina che contiene link ad altre pagine, o ad elementi presenti nella stessa pagina; dunque una sezione con dei link di navigazione. Non tutti i gruppi di link devono essere posti in un elemento nav: solo i link principali sono appropriati. Ad esempio, è pratica comune aggiungere al footer gruppi di link a varie sezioni del sito, ma in questi casi l’elemento più appropriato è footer.
L'elemento menu è invece usato per una specifica lista di comandi.