edubun
Italiano

Struttura semantica della pagina

La maggior parte delle pagine ha più o meno la stessa forma: un'intestazione, un menu, il contenuto principale e un piè di pagina. L'HTML ha un elemento per ciascuno, e gli screen reader permettono di saltare direttamente a ognuno.

Dalla zuppa di div ai punti di riferimento

Per anni le pagine sono state costruite con elementi <div> con nomi di classe come header o menu. Un <div> è un contenitore generico senza alcun significato, quindi il nome della classe era l'unico indizio, e lo vedeva solo chi leggeva il codice. Oggi l'HTML ha elementi che dicono che cos'è ogni regione. Browser, motori di ricerca e tecnologie assistive li capiscono, e chi usa uno screen reader può aprire un elenco di queste regioni, chiamate punti di riferimento (landmark), e saltare a quella che vuole, così come chi vede dà un'occhiata all'impaginazione.

Una forma di pagina comune. Solo le etichette sono standard; le posizioni vengono dal CSS e possono cambiare su un telefono.

Le regioni principali

  • <header>: contenuto introduttivo, di solito il nome o il logo del sito e spesso il menu principale. Anche un articolo può avere un suo header.
  • <nav>: un blocco di link di navigazione principali, come il menu del sito o un indice. Non tutti i gruppi di link ne hanno bisogno.
  • <main>: il contenuto specifico di questa pagina. Usa esattamente un <main> visibile per pagina, e non metterlo dentro header, nav, aside o footer.
  • <article>: un pezzo autonomo che avrebbe senso anche da solo, come un post di un blog, una notizia o la scheda di un prodotto.
  • <section>: una parte tematica di una pagina o di un articolo, di norma con un suo titolo.
  • <aside>: contenuto legato al contenuto principale ma separato da esso, come una barra laterale, un riquadro di glossario o dei link correlati.
  • <footer>: informazioni di chiusura come l'autore, il copyright e i link di contatto.

Questi elementi descrivono il significato, non la posizione. Un <nav> non deve per forza stare in cima, e un <aside> non deve per forza stare a destra; su un telefono l'aside di solito finisce sotto il contenuto principale. Le posizioni vengono dal CSS. Scegli l'elemento chiedendoti che cos'è il contenuto, così come hai scelto i livelli dei titoli in base alla struttura e non alla grandezza.

article o section?

La domanda da porsi è se il pezzo avrebbe senso da solo altrove, per esempio in un lettore di notizie o condiviso come link. Se sì, è un <article>. Se ha senso solo come parte di qualcosa di più grande, come la parte Ingredienti di una ricetta, è una <section>. Entrambi di norma iniziano con un titolo. Gli articoli possono contenere sezioni, e una sezione può contenere articoli, come una sezione Ultimi post che contiene diverse schede di post.

div e span hanno ancora un ruolo

Quando nessun elemento è adatto, usa <div> per un blocco e <span> per poche parole dentro una riga. Sono utili come agganci per il CSS, per esempio un <div class="cards"> che dispone delle schede in una griglia. La regola è cercare prima un elemento con un significato e ripiegare su uno generico solo quando niente descrive il contenuto. Una pagina fatta solo di div funziona, ma nasconde la sua struttura a chiunque non guardi il codice.

Un test rapido: apri la pagina con il CSS disattivato, oppure leggi la scaletta di titoli e punti di riferimento che ti mostra un'estensione del browser. Se la pagina si legge ancora in un ordine sensato, con un'intestazione, un menu, il contenuto principale e un piè di pagina chiari, la struttura fa il suo lavoro.

Prima gli elementi nativi, poi ARIA

Potresti incontrare l'attributo role, che fa parte di uno standard del W3C chiamato WAI-ARIA, scritto come <div role="navigation">. Dà a un elemento generico un significato per le tecnologie assistive. Le indicazioni del W3C sull'uso di ARIA partono da una regola semplice: se un elemento HTML nativo ha già il significato che ti serve, usa quello. <nav> è più breve, funziona ovunque e non si può dimenticare in un punto e ricordare in un altro. Lo stesso vale per i pulsanti: un vero <button> riceve il focus con Tab e si preme con Invio o Spazio senza fatica, mentre un <div> cliccabile ha bisogno di codice in più per fare lo stesso.

headerContenuto introduttivo: nome del sito, logo, spesso il menu
navLink di navigazione principali
mainContenuto specifico di questa pagina; uno per pagina
articlePezzo autonomo che ha senso da solo
sectionUna parte tematica, di solito con un titolo
asideContenuto correlato ma separato, come una barra laterale
footerInformazioni di chiusura: autore, copyright, contatti
punto di riferimento (landmark)Una regione della pagina a cui chi usa uno screen reader può saltare
  1. Quanti elementi main visibili dovrebbe avere una pagina?
  2. Un post di un blog che si potrebbe condividere da solo è
    • article
    • section
    • aside
  3. La parte Ingredienti di un articolo con una ricetta è
    • section
    • article
    • nav
  4. Quale elemento contiene il menu del sito?
  5. aside deve per forza comparire a destra?
    • No, la posizione viene dal CSS
    • Sì
    • Solo sugli schermi larghi
  6. Che cosa significa un div?
    • Niente; è un contenitore generico
    • Una sezione di un documento
    • Una griglia di impaginazione
  7. Quale elemento segna poche parole dentro una riga, senza significato, per lo stile?
    • span
    • div
    • strong
  8. Dove dovrebbero andare il copyright e i link di contatto?
    • footer
    • header
    • main
  9. In che modo i punti di riferimento aiutano chi usa uno screen reader?
    • Può elencare le regioni e saltare a una di esse
    • Rendono il testo più forte
    • Nascondono il menu
  10. main può stare dentro header?
    • No
    • Sì
    • Solo con un titolo
Punti chiave
  • header, nav, main, article, section, aside e footer danno un nome alle regioni di una pagina.
  • Scegli in base al significato; il CSS decide la posizione.
  • Usa div e span solo quando nessun elemento con un significato è adatto.
Fonti di questo corso (10)
  • WHATWG, HTML Living Standard (html.spec.whatwg.org, checked 2026-10-17)
  • MDN Web Docs, Learn web development: Structuring content with HTML, and the HTML element reference (developer.mozilla.org/en-US/docs/Learn_web_development/Core/Structuring_content and developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements, checked 2026-10-17)
  • MDN, HTML images (alt text guidance, checked 2026-10-17)
  • W3C WAI, Images tutorial and alt decision tree (w3.org/WAI/tutorials/images/decision-tree, checked 2026-10-17)
  • CERN, A short history of the Web (home.cern/science/computing/the-birth-of-the-web/short-history-web/, checked 2026-10-17)
  • W3C and WHATWG memorandum of understanding, 28 May 2019 (w3.org/2019/04/WHATWG-W3C-MOU.html, checked 2026-10-17)
  • W3C, Using ARIA, first rule of ARIA use (w3.org/TR/using-aria/, checked 2026-10-17)
  • W3C Markup Validation Service (validator.w3.org, checked 2026-10-17)
  • MDN, Viewport meta element (checked 2026-10-17)
  • Every code exercise was checked with a Playwright probe against a reference solution.

Consultato il: 2026-10-17