← Back to course

HTML Semantico

HTML Semantico

Bentornato.

Nella lezione precedente hai imparato a creare form e raccogliere input dagli utenti.

Ora impariamo l’HTML semantico.

Qui HTML diventa più di una lista di tag.

Diventa significato.

Perché sì, puoi costruire tutto con div.

Ma puoi anche mangiare la minestra con un cacciavite.

Possibile?

Forse.

Buona idea?

Assolutamente no.

Cosa Imparerai

In questa lezione imparerai:

Cos’è l’HTML Semantico?

HTML semantico significa usare elementi che descrivono il significato del contenuto.

Per esempio:

<header>
  <h1>Il Mio Sito</h1>
</header>

Questo dice al browser:

Questa è l’area header della pagina.

Confrontalo con:

<div>
  <h1>Il Mio Sito</h1>
</div>

Il div funziona.

Ma non spiega niente.

È solo una scatola generica.

Una scatola misteriosa.

Una scatola senza passaporto.

Perché l’HTML Semantico Conta

L’HTML semantico aiuta:

Un buon HTML non riguarda solo ciò che appare sullo schermo.

Riguarda anche la struttura.

Una pagina non deve solo sembrare corretta.

Deve avere senso.

L’Elemento header

L’elemento header rappresenta contenuto introduttivo.

Di solito contiene:

Esempio:

<header>
  <h1>InnoMarts Learning Hub</h1>
  <p>Corsi divertenti per competenze serie.</p>
</header>

Una pagina può avere un header principale.

Anche sezioni e articoli possono avere i propri header.

HTML è flessibile.

Ma non casuale.

Flessibile come yoga.

Non casuale come un errore della stampante.

L’Elemento nav

L’elemento nav rappresenta link di navigazione.

Esempio:

<nav>
  <a href="index.html">Home</a>
  <a href="courses.html">Corsi</a>
  <a href="contact.html">Contatti</a>
</nav>

Usa nav per aree di navigazione importanti.

Per esempio:

Non mettere ogni singolo link dentro nav.

Un link dentro un paragrafo non ha bisogno di nav.

HTML semantico significa scegliere il significato con attenzione.

Non mettere una corona su ogni patata.

L’Elemento main

L’elemento main contiene il contenuto principale della pagina.

Esempio:

<main>
  <h1>Corso HTML</h1>
  <p>Questo corso insegna HTML passo dopo passo.</p>
</main>

Ogni pagina dovrebbe di solito avere un solo main.

Il contenuto di main dovrebbe essere unico per quella pagina.

Non la navigazione ripetuta.

Non il footer.

Non il cookie banner che appare come un piccolo fantasma legale.

Il contenuto principale è il motivo per cui la pagina esiste.

L’Elemento section

Una section raggruppa contenuto correlato.

Esempio:

<section>
  <h2>Cosa Imparerai</h2>
  <p>Imparerai struttura HTML, testo, link, immagini, form ed elementi semantici.</p>
</section>

Usa section quando il contenuto ha un tema chiaro.

Una buona section di solito ha un titolo.

Se non riesci a darle un titolo significativo, forse non ti serve section.

Forse ti serve solo un div.

E va bene.

Non ogni scatola ha bisogno di uno scopo filosofico.

L’Elemento article

Un article rappresenta contenuto indipendente.

Esempio:

<article>
  <h2>Perché Imparare HTML?</h2>
  <p>HTML è la base del web.</p>
</article>

Usa article per contenuti che possono stare in piedi da soli.

Esempi:

Se il contenuto ha senso anche da solo, article può essere una buona scelta.

Un article è come un piccolo cittadino indipendente del tuo sito.

Si spera paghi le tasse.

L’Elemento aside

L’elemento aside è per contenuto laterale correlato.

Esempio:

<aside>
  <h2>Consiglio</h2>
  <p>Usa elementi semantici per rendere il tuo HTML più facile da capire.</p>
</aside>

Usa aside per:

Il contenuto in aside è collegato.

Ma non è il contenuto principale.

Come un amico che commenta da lato.

Utile.

A volte troppo onesto.

L’Elemento footer

L’elemento footer rappresenta la parte finale di una pagina o sezione.

Esempio:

<footer>
  <p>&copy; 2026 InnoMarts</p>
</footer>

Un footer può contenere:

Il footer della pagina di solito appare in basso.

Ma anche articoli e sezioni possono avere footer.

HTML ha strati.

Come le lasagne.

Ma meno delizioso.

div Non È Malvagio

L’elemento div è ancora utile.

Un div è un contenitore generico.

Esempio:

<div class="card">
  <h2>HTML Basics</h2>
  <p>Impara le fondamenta delle pagine web.</p>
</div>

Usa div quando non c’è un elemento semantico migliore.

Non usare elementi semantici solo per sembrare professionale.

Usa significato quando c’è significato.

Usa div quando ti serve un contenitore neutro.

div non è malvagio.

Ma troppi div senza significato creano div soup.

E nessuno ha ordinato quella zuppa.

Cattiva Struttura: Div Soup

Questo funziona, ma non è significativo:

<div>
  <div>
    <h1>Il Mio Sito</h1>
  </div>

  <div>
    <div>Home</div>
    <div>Corsi</div>
    <div>Contatti</div>
  </div>

  <div>
    <h2>Benvenuto</h2>
    <p>Questa è la mia pagina.</p>
  </div>

  <div>
    <p>Copyright 2026</p>
  </div>
</div>

Il browser può mostrarlo.

Ma la struttura è poco chiara.

Tutto è solo un div.

Come etichettare ogni attrezzo nella cassetta come “cosa”.

Tecnicamente vero.

Totalmente inutile.

Struttura Semantica Migliore

Ecco una versione migliore:

<header>
  <h1>Il Mio Sito</h1>

  <nav>
    <a href="index.html">Home</a>
    <a href="courses.html">Corsi</a>
    <a href="contact.html">Contatti</a>
  </nav>
</header>

<main>
  <section>
    <h2>Benvenuto</h2>
    <p>Questa è la mia pagina.</p>
  </section>
</main>

<footer>
  <p>Copyright 2026</p>
</footer>

È molto più chiaro.

Il browser lo capisce meglio.

Gli sviluppatori lo capiscono meglio.

Il tuo futuro te lo capisce meglio.

Il tuo futuro te ringrazia.

Probabilmente con gli occhi stanchi.

Crea una Pagina Semantica

Crea un file:

touch semantic.html

Aggiungi questo:

<!DOCTYPE html>
<html lang="it">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Pratica HTML Semantico</title>
</head>
<body>
  <header>
    <h1>Il Mio Sito di Studio</h1>

    <nav>
      <a href="index.html">Home</a>
      <a href="courses.html">Corsi</a>
      <a href="contact.html">Contatti</a>
    </nav>
  </header>

  <main>
    <section>
      <h2>Informazioni sul Sito</h2>
      <p>Questo sito mi aiuta a praticare HTML e creare pagine migliori.</p>
    </section>

    <section>
      <h2>Ultime Lezioni</h2>

      <article>
        <h3>Basi di HTML</h3>
        <p>Impara la struttura base di un documento HTML.</p>
      </article>

      <article>
        <h3>Form</h3>
        <p>Impara come gli utenti possono inviare informazioni con i form.</p>
      </article>
    </section>

    <aside>
      <h2>Consiglio</h2>
      <p>Usa elementi semantici quando descrivono lo scopo del contenuto.</p>
    </aside>
  </main>

  <footer>
    <p>&copy; 2026 Il Mio Sito di Studio</p>
  </footer>
</body>
</html>

Aprilo nel browser.

Potrebbe sembrare semplice.

Va bene.

HTML semantico riguarda prima la struttura.

La bellezza arriva dopo con CSS.

Prima scheletro.

Poi giacca.

Errori Comuni

Usare section per tutto

Non ogni contenitore ha bisogno di section.

Male:

<section>
  <section>
    <section>
      <p>Ciao</p>
    </section>
  </section>
</section>

Usa section quando il contenuto ha un tema chiaro.

Usare article per blocchi casuali

Non ogni card è un article.

Usa article quando il contenuto può stare da solo.

Un post del blog?

Sì.

Un wrapper casuale di layout?

No.

Dimenticare main

Una pagina di solito dovrebbe avere un main.

Male:

<header>...</header>
<section>...</section>
<footer>...</footer>

Meglio:

<header>...</header>
<main>
  <section>...</section>
</main>
<footer>...</footer>

L’elemento main aiuta a identificare il contenuto centrale.

Pratica

Crea una pagina chiamata:

homepage.html

Deve includere:

Niente CSS.

Niente JavaScript.

Solo HTML semantico.

Mini Sfida

Crea la struttura di una pagina corso.

Deve includere:

Usa gli elementi semantici con attenzione.

Niente div soup.

Rispettiamo la zuppa.

Ma non in HTML.

Riassunto

Oggi hai imparato che:

HTML semantico rende la pagina più facile da capire.

Per i browser.

Per gli utenti.

Per gli sviluppatori.

E per il tuo futuro te, che ha già abbastanza problemi.

Prossima Lezione

Nella prossima lezione costruiremo il progetto finale HTML.

Niente panico.

Solo tutto ciò che hai imparato, insieme come una piccola orchestra web.