Який правильний спосіб зробити текст курсивом? Я бачив наступні чотири підходи:
<i>Italic Text</i>
<em>Italic Text</em>
<span class="italic">Italic Text</span>
<span class="footnote">Italic Text</span>
<i>
Це "старий шлях". <i>
не має смислового значення і лише передає презентаційний ефект, що робить текст курсивом. Наскільки я бачу, це явно неправильно, оскільки це несемантично.
<em>
При цьому використовується семантична оцінка на суто презентаційні цілі. Просто буває так, що <em>
за замовчуванням текст переводиться курсивом, тому його часто використовують ті, хто усвідомлює, що цього <i>
слід уникати, але хто не знає про його смислове значення. Не весь текст курсивом є курсивом, оскільки він підкреслений. Іноді це може бути навпаки, як бічна записка чи шепіт.
<span class="italic">
Для розміщення презентації для цього використовується клас CSS. Це часто рекламується як вірний спосіб, але знову ж таки, це здається мені неправильним. Схоже, це не передає більше семантичного значення <i>
. Але, його прихильники плачуть, набагато простіше змінити весь текст курсивом пізніше, якби ви, скажімо, хотіли цього сміливого. Але це не так, тому що мені тоді залишатиметься клас під назвою "курсив", який робить текст напівжирним. Крім того, незрозуміло, чому я хотів би колись змінити текст курсивом на своєму веб-сайті або принаймні ми можемо думати про випадки, коли це не було б бажаним чи необхідним.
<span class="footnote">
Для цього використовується клас CSS для семантики. Поки що це видається найкращим способом, але насправді це дві проблеми.
Не весь текст має достатнє значення для гарантії семантичної розмітки. Наприклад, чи справді виноска в курсивному тексті внизу сторінки? Або це вбік? Або щось інше цілком. Можливо, воно не має особливого значення і його потрібно викласти курсивом, щоб відокремити його презентаційно від тексту, що передує йому.
Семантичне значення може змінюватися, коли воно не присутнє в достатній силі. Скажімо, я пішов разом із "виноскою", що базується на тексті внизу сторінки. Що станеться, коли через кілька місяців я хочу додати більше тексту внизу? Це вже не виноска. Як ми можемо вибрати семантичний клас, який є менш загальним, ніж
<em>
уникає цих проблем?
Підсумок
Схоже, вимога семантики здається надмірно обтяжливою у багатьох випадках, коли прагнення зробити щось курсивом не має на меті смислового значення.
Крім того, прагнення відокремити стиль від структури призвело до того, що CSS розглядають як заміну, <i>
коли є випадки, коли це насправді буде менш корисним. Таким чином, це повертає мене із скромним <i>
тегом і цікаво, чи цей порядок думок є причиною того, чому він залишається у специфікації HTML5?
Чи є також хороші дописи чи статті на цю тему? Можливо, тими, хто бере участь у рішенні зберегти / створити <i>
тег?