L'estate scorsa ho letto la specifica HTML5 completa e tutte le precedenti specifiche HTML (anche quelle abbandonate) e tutte le specifiche CSS che ho trovato e molte specifiche XML. Dato che amo i documenti ipertestuali semanticamente ricchi, lascia che ti dia l'idea alla base della semantica HTML pertinente in HTML5.
Prima di HTML5
Prima di HTML5, i
ed b
erano davvero fuori moda. Il motivo era che essenzialmente funzionavano come em
e strong
, rispettivamente, ma con attenzione alla presentazione e non alla semantica (il che è un male).
In effetti, i
significava che il testo doveva essere in corsivo (diceva qualcosa su come il testo doveva essere visualizzato sullo schermo). D'altra parte, em
significava che il testo doveva essere enfatizzato (diceva qualcosa sulla semantica del testo).
C'è un'importante differenza teorica qui. Se lo usi em
, l'agente utente (= browser) sa che il testo deve essere enfatizzato, quindi può renderlo in corsivo se il documento viene visualizzato sullo schermo (o tutto maiuscolo se la formattazione non è possibile, o forse anche in grassetto è l'utente lo preferisce), può pronunciarlo diversamente se il documento viene parlato all'utente, ecc.
Nota che l'enfasi è davvero sulla semantica. Ad esempio, le frasi
- Il gatto è mio. (= non il cane!)
- Il gatto è mio . (= non tuo!)
non hanno lo stesso significato.
La stessa differenza si applica a b
(carattere grassetto) e strong
(forte enfasi).
Un principio generale della scrittura digitale in generale e della creazione di ipertesti in particolare è che dovresti separare contenuto e stile. Nella creazione di ipertesti, ciò significa che il contenuto deve essere nel file HTML e lo stile deve essere in un file CSS (o un numero di file CSS). Un principio diverso ma correlato è che il documento dovrebbe essere ricco di semantica (come contrassegnare intestazioni, piè di pagina, elenchi, sottolineature, indirizzi, aree di navigazione, ecc.). Questo ha una serie di vantaggi:
- È molto più facile per i programmi per computer interpretare il documento. Questi programmi includono browser, applicazioni di sintesi vocale, motori di ricerca e assistenti digitali. (Ad esempio, il browser può consentire di salvare un indirizzo nella rubrica, se solo è in grado di trovarlo e interpretarlo. Inoltre, potresti sapere che Microsoft Word può creare e aggiornare automaticamente un sommario se esegui correttamente il markup delle intestazioni .)
- È molto più semplice cambiare lo stile in seguito. (Se vuoi cambiare il colore di tutte le intestazioni di terzo livello nel tuo documento di 860 pagine, puoi cambiare una singola riga nel foglio di stile. Se avessi contenuto e presentazione misti, dovresti esaminare l'intero documento manualmente E probabilmente ti perderai un'intestazione o due, rendendo il documento non professionale.)
- È possibile utilizzare fogli di stile diversi a seconda delle circostanze (il documento viene visualizzato sullo schermo o stampato su carta?). Puoi anche consentire all'utente finale di scegliere da solo lo stile. (Il mio sito Web offre una serie di fogli di stile alternativi. In IE e FF, puoi modificarli utilizzando il menu Visualizza.)
Quindi, in breve, i
e b
sono stati deprecati perché erano tag HTML preoccupati per la presentazione , il che è totalmente sbagliato.
In HTML5
In HTML5 i
e b
non sono più deprecati. Invece, hanno un significato sematico . Quindi ora sono in realtà sulla semantica e non sulla presentazione.
Come in precedenza, em
per sottolineare l'enfasi: "Il gatto è mio". Ma usi i
per quasi tutti gli altri casi in cui dovresti usare il corsivo in un'opera stampata. Per esempio:
- Usi
i
per contrassegnare le designazioni tassonomiche: "Mi piace R. norvegicus ".
- Utilizzi
i
per contrassegnare una frase in una lingua diversa rispetto al testo circostante: à la carte
- Usi
i
per contrassegnare una parola quando parli della parola stessa: " bere è sia un sostantivo che un verbo"
È anche una buona idea utilizzare l' class
attributo per specificare l'utilizzo preciso (anche "microformato" di Google e "microdati"). E, naturalmente, nel secondo caso, dovresti davvero usare l' lang
attributo per specificare la lingua corretta. (In caso contrario, ad esempio , un agente di sintesi vocale potrebbe pronunciare erroneamente il testo.)
Circa un anno fa, le specifiche HTML5 dicevano anche che cite
dovevano essere usate per contrassegnare i nomi di libri, film, opere, dipinti, ecc .:
- Cosa ne pensi di ninfomane ?
Infine, da molto tempo, dfn
viene utilizzato per contrassegnare l'istanza di definizione di una frase in un testo (come una definizione matematica o la definizione di un termine):
- Un gruppo è un set X dotato di una singola operazione binaria * tale che ...
Quindi il corsivo nel tuo libro stampato, che può significare molte cose diverse, è rappresentato da quattro diversi tag HTML5, il che è davvero fantastico, perché la semantica è buona, come ho provato a convincerti prima. (Ad esempio, puoi chiedere al tuo browser di creare un elenco di tutte le definizioni nel testo, in modo da assicurarti di conoscerle tutte prima dell'esame.)
Passando a strong
e b
, la specifica HTML5 dice che strong
dovrebbe essere usato per contrassegnare una parte importante del testo, come un avvertimento o una parola molto importante da catturare in una frase. D'altra parte, b
dovrebbe essere usato per contrassegnare cose che devono essere facili da trovare nel testo, come le parole chiave. Uso anche b
come titoli nelle voci di elenco (LI).
<b>
e<i>
non sono deprecato.