¿Cuál es la forma correcta de poner el texto en cursiva? He visto los siguientes cuatro enfoques:
<i>Italic Text</i>
<em>Italic Text</em>
<span class="italic">Italic Text</span>
<span class="footnote">Italic Text</span>
<i>
Esta es la "vieja forma". <i>
no tiene significado semántico y solo transmite el efecto de presentación de poner el texto en cursiva. Por lo que puedo ver, esto es claramente incorrecto porque no es semántico.
<em>
Esto utiliza marcado semántico para fines puramente de presentación. Lo que ocurre es que <em>
por defecto muestra texto en cursiva y por lo que se utiliza a menudo por aquellos que son conscientes de que <i>
debe evitarse, pero que no son conscientes de su significado semántico. No todo el texto en cursiva es cursiva porque está enfatizado. A veces, puede ser exactamente lo contrario, como una nota al margen o un susurro.
<span class="italic">
Esto usa una clase CSS para colocar la presentación. Esto a menudo se promociona como la forma correcta, pero nuevamente, esto me parece incorrecto. Esto no parece transmitir más significado semántico que eso <i>
. Pero, dicen sus defensores, es mucho más fácil cambiar todo el texto en cursiva más adelante si, por ejemplo, lo quieres en negrita. Sin embargo, este no es el caso porque me quedaría con una clase llamada "cursiva" que mostraba el texto en negrita. Además, no está claro por qué quisiera cambiar todo el texto en cursiva en mi sitio web o al menos podemos pensar en casos en los que esto no sería deseable o necesario.
<span class="footnote">
Esto usa una clase CSS para semántica. Hasta ahora, esta parece ser la mejor manera, pero en realidad tiene dos problemas.
No todo el texto tiene un significado suficiente para garantizar el marcado semántico. Por ejemplo, ¿el texto en cursiva en la parte inferior de la página es realmente una nota al pie? ¿O es un aparte? O algo completamente diferente. Quizás no tiene un significado especial y solo necesita ser traducido en cursiva para separarlo presentacionalmente del texto que lo precede.
El significado semántico puede cambiar cuando no está presente con suficiente fuerza. Digamos que seguí con la "nota al pie" basada en nada más que el texto que está al final de la página. ¿Qué sucede cuando unos meses después quiero agregar más texto en la parte inferior? Ya no es una nota al pie. ¿Cómo podemos elegir una clase semántica que sea menos genérica
<em>
pero que evite estos problemas?
Resumen
Parece que el requisito de la semántica parece ser demasiado oneroso en muchos casos en los que el deseo de hacer algo en cursiva no debe tener un significado semántico.
Además, el deseo de separar el estilo de la estructura ha llevado a CSS a promocionarse como un reemplazo para <i>
cuando hay ocasiones en que esto sería realmente menos útil. Entonces, esto me deja con la humilde <i>
etiqueta y me pregunto si este tren de pensamiento es la razón por la que se deja en la especificación HTML5.
¿Hay alguna buena publicación de blog o artículos sobre este tema también? ¿Quizás por aquellos involucrados en la decisión de retener / crear la <i>
etiqueta?