Skip to main content

Introduzione a HTML 5: costruire la pagina web

HTML 5 e le tecnologie collegate rappresentano una rivoluzione importante nel mondo del web design.

Nello scorso articolo abbiamo offerto una panoramica sull’argomento; in questo articolo cominciamo a vedere il nuovo codice.

Una pagina scritta in HTML 5

Partiamo subito con un esempio.

<!DOCTYPE html>
<html lang="it">
  <head>
    <meta charset="utf-8">
    <meta name="description" content="Esempio di pagina web costruita con HTML 5">
    <meta name="keywords" content="html5, web design">
    <title>Pagina web HTML 5</title>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <!-- contenuto della pagina -->  
  </body>
</html>

Le novità più importanti sono evidenti e mirano soprattutto a semplificare e accorciare il codice.

  • la dichiarazione del DOCTYPE è ridotta al minimo necessario.
  • l’elemento html è altrettanto breve, contenendo solo (opzionalmente) la lingua di riferimento per la pagina
  • il nuovo elemento meta “charset” abbrevia l’indicazione dell’encoding
  • l’attributo “type” per i file inclusi con “link” o “script” non è più necessario
  • possiamo omettere la barra di chiusura per i self closing tags.

In merito all’ultimo punto, significa che in HTML 5 possiamo ad esempio tornare a scrivere <br> anzichè <br/>.

Consigliamo comunque di non adottare subito questa nuova modalità, per mantenere maggior compatibilità con i browser più vecchi.

I nuovi elementi all’interno del body

Vediamo ora tutti i nuovi elementi che caratterizzano semanticamente la nostra pagina, espandendo il contenuto del body.

  <body>
    <header>
      <h1>GiBiLogic</h1>
    </header>
    <nav>
      <ul>
        <li><a href="#">Azienda</a></li>
        <li><a href="#">Servizi</a></li>
        <li><a href="#">Contatti</a></li>
      </ul>
    </nav>
    <section>
      <!-- contenuto principale della pagina -->
    </section>
    <aside>
      <!-- banner, in evidenza, altro -->
    </aside>
    <footer>
      Copyright 2012 GiBiLogic
    </footer>
  </body>

Come possiamo vedere, molte DIV possono essere sostituite da elementi più specifici che indicano con più chiarezza la propria funzione e che quindi potranno facilitare:

  • l’indicizzazione della pagina da parte dei motori
  • la ricerca di contenuti nel sito
  • la creazione di versioni mobile e/o ad alta accessibilità delle nostre pagine

Retrocompatibilità

Prima che vi spaventiate, ricordatevi che non siamo obbligati a usare i nuovi elementi.

Gli elementi DIV valgono ancora e questo garantisce che le pagine web compatibili con XHTML siano correttamente interpretate anche secondo lo standard HTML 5.

E’ solo nel nostro interesse che vale la pena di aggiornarle utilizzando i nuovi tag, in modo da ottenere i benefici riportati nella sezione precedente.

Dettaglio degli elementi

I nuovi elementi presentati fin qui non hanno bisogno di lunghe spiegazioni. Riepiloghiamoli rapidamente:

  • header include l’intestazione del sito, che tipicamente contiene un logo, il nome del sito, un motto o una descrizione, talvolta anche un banner promozionale.
  • nav include come è ovvio il menù di navigazione principale
  • aside include un menù secondario e/o altre informazioni quali i contatti, gli ultimi articoli scritti, un blogroll
  • section identifica una macroarea della pagina; è molto probabile che una pagina web ne contenga più di una
  • footer include solitamente i credits e/o un piccolo riassunto dei dati anagrafici e geografici

Questi elementi riguardano la struttura generale della pagina.

Article

Un altro interessante elemento introdotto da HTML 5 è article, che identifica uno specifico contenuto (un articolo, il post di un forum, un commento, e cosi via).

Riprendendo il codice di esempio illustrato sopra, la nostra section potrebbe contenere:

<section>
  <article>
    Questo è il primo articolo
  </article>
  <article>
    Questo è il secondo articolo
  </article>
</section>

E ora facciamo un altro passo avanti:

<section>
  <article>
    <header>
      <h1>Titolo del primo articolo</h1>
    </header>
    Questo è il primo articolo
    <footer>
      <p>Commenti (0)</p>
    </footer>
  </article>
  <article>
    <header>
      <h1>Titolo del secondo articolo</h1>
    </header>
    Questo è il secondo articolo
    <footer>
      <p>Commenti (0)</p>
    </footer>
  </article>
</section>

Come potete vedere, possiamo utilizzare header e footer per identificare l’intestazione e il piè di pagina di ciascun articolo, oltre che della pagina intera.

Vi sembra abbastanza semantico?