Qual è il modo corretto di rendere corsivo il testo? Ho visto i seguenti quattro approcci:
<i>Italic Text</i>
<em>Italic Text</em>
<span class="italic">Italic Text</span>
<span class="footnote">Italic Text</span>
<i>
Questo è il "vecchio modo". <i>
non ha significato semantico e trasmette solo l'effetto di presentazione del testo in corsivo. Per quanto posso vedere, questo è chiaramente sbagliato perché non è semantico.
<em>
Questo utilizza il markup semantico per scopi puramente di presentazione. Accade solo che <em>
per impostazione predefinita il testo venga visualizzato in corsivo e quindi viene spesso utilizzato da coloro che sono consapevoli del fatto che <i>
dovrebbero essere evitati ma che non sono consapevoli del suo significato semantico. Non tutto il testo in corsivo è in corsivo perché è enfatizzato. A volte, può essere l'esatto contrario, come una nota a margine o un sussurro.
<span class="italic">
Questo utilizza una classe CSS per posizionare la presentazione. Questo è spesso pubblicizzato come il modo corretto, ma di nuovo, questo mi sembra sbagliato. Questo non sembra trasmettere altro significato semantico <i>
. Ma, i suoi sostenitori piangono, è molto più facile cambiare tutto il testo in corsivo più tardi se, diciamo, lo volevi in grassetto. Tuttavia, questo non è il caso perché rimarrei quindi con una classe chiamata "corsivo" che rende il testo in grassetto. Inoltre, non è chiaro il motivo per cui vorrei mai cambiare tutto il testo in corsivo sul mio sito Web o almeno possiamo pensare a casi in cui ciò non sarebbe desiderabile o necessario.
<span class="footnote">
Questo utilizza una classe CSS per la semantica. Finora questo sembra essere il modo migliore, ma in realtà ha due problemi.
Non tutto il testo ha significato sufficiente per giustificare il markup semantico. Ad esempio, il testo in corsivo nella parte inferiore della pagina è davvero una nota a piè di pagina? O è da parte? O qualcos'altro del tutto. Forse non ha un significato speciale e deve solo essere reso in corsivo per separarlo dal testo che lo precede.
Il significato semantico può cambiare quando non è presente con una forza sufficiente. Diciamo che ho seguito la "nota a piè di pagina" basata su nient'altro che il testo in fondo alla pagina. Cosa succede quando qualche mese dopo voglio aggiungere altro testo in fondo? Non è più una nota a piè di pagina. Come possiamo scegliere una classe semantica che è meno generica di
<em>
ma evita questi problemi?
Sommario
Sembra che il requisito della semantica sembri essere eccessivamente oneroso in molti casi in cui il desiderio di rendere qualcosa di italico non è destinato a portare un significato semantico.
Inoltre, il desiderio di separare lo stile dalla struttura ha portato la propaganda dei CSS in sostituzione di <i>
quando ci sono occasioni in cui ciò sarebbe effettivamente meno utile. Quindi questo mi lascia indietro con l'umile <i>
tag e mi chiedo se questo treno di pensieri sia il motivo per cui è rimasto nelle specifiche HTML5?
Ci sono anche buoni post sul blog o articoli su questo argomento? Forse da parte di coloro che sono coinvolti nella decisione di conservare / creare il <i>
tag?