Выделение текста в HTML: strong, em, mark

Жирный и курсивный текст в браузере может выглядеть совершенно одинаково, даже если получен разными тегами - разница не видна глазу, а лежит в смысле, который тег передаёт браузеру, поисковику и программам для чтения с экрана. Разберём, какой тег для чего предназначен на самом деле.

Попробуй заменить <strong> на <b>, а <em> на <i> - внешне результат справа не изменится, хотя смысл тегов другой.

Чем <strong> отличается от <b>

<strong> обозначает содержимое, которое действительно важно, серьёзно или срочно - предупреждение, требование, критичный факт. <b> просто привлекает внимание к тексту, не утверждая, что он важнее остального - например, ключевое слово в отзыве или название продукта.

<p><strong>Осторожно:</strong> это действие нельзя отменить.</p> - предупреждение по-настоящему важно.

<p><b>Осторожно:</b> это действие нельзя отменить.</p> - смысл важности теряется: <b> ничего не сообщает поисковику и скринридеру о серьёзности предупреждения.

Чем <em> отличается от <i>

<em> - это акцент, который меняет смысл фразы, если произнести её вслух с ударением на другое слово. <i> - это текст «другим голосом»: иностранные слова, технические термины, названия кораблей или изданий - не потому что на них падает ударение, а потому что они по природе стоят немного особняком от основного текста.

<p>Я <em>не говорил</em>, что это твоя вина.</p> - ударение на «не говорил» меняет смысл: важно именно то, что этого не было сказано.

<p>Я <i>не говорил</i>, что это твоя вина.</p> - <i> не передаёт логическое ударение, для акцента, меняющего смысл, нужен <em>.

Из истории В HTML4 теги <b> и <i> были чисто оформительскими - просто «сделай текст жирным» или «сделай курсивом», без всякого смысла для браузера, поисковика или программы чтения с экрана. Начиная с HTML5, оба тега получили узкое, но реальное значение: <b> - для текста, который нужно выделить без указания на важность, <i> - для текста «другим голосом». Внешне ничего не изменилось - жирный и курсив выглядят так же, как раньше, но смысл, который теперь стоит за этими тегами, другой.

Когда использовать тег <mark>

<mark> - ещё один вид выделения, отличный от важности и акцента: он отмечает текст, который имеет значение в конкретном контексте прямо сейчас. Самый частый пример - подсветка слова, совпавшего с поисковым запросом, в результатах поиска по сайту.

<p>Результаты поиска по запросу «кот»: рыжий <mark>кот</mark> спит на подоконнике.</p> - слово выделено не потому, что оно важно само по себе, а потому что совпало с запросом.

<p>Осторожно: это действие <mark>нельзя отменить</mark>.</p> - здесь нужна не контекстная подсветка, а важность - подходит <strong>, а не <mark>.

Частые ошибки новичков

ОшибкаЧто происходитКак исправить
Использовать <b> для по-настоящему важного предупреждения Смысл важности не долетает до поисковика и программы чтения с экрана - визуально текст жирный, а по смыслу «обычный» Использовать <strong> там, где содержимое действительно важно или срочно
Использовать <i> там, где акцент меняет смысл фразы Логическое ударение не передаётся ни поисковику, ни программе чтения с экрана Использовать <em>, если акцент важен для смысла произносимой фразы
Использовать <mark> вместо <strong> для предупреждений Подсветка контекстной значимости - не то же самое, что важность содержимого Выбирать тег по смыслу: <mark> - для контекстной значимости, <strong> - для важности
Красить текст жёлтым через CSS вместо <mark>, когда речь о совпадении с поиском Внешний вид похож, но для поисковика и скринридера такой текст ничем не отличается от обычного Использовать <mark>, когда подсветка имеет смысловую причину, а не только визуальную

Шпаргалка

ТерминЗначение
<strong>Высокая важность или срочность содержимого
<b>Визуальное выделение без указания на важность (ключевые слова, названия)
<em>Акцент, меняющий смысл фразы при прочтении вслух
<i>Текст «другим голосом» - иностранные слова, термины, названия
<mark>Подсветка из-за значимости в конкретном контексте (например, совпадение с поиском)

Коротко: отвечаем на вопросы

Чем <strong> отличается от <b>, если оба показывают жирный текст?

Визуально - ничем, оба по умолчанию отображаются жирным шрифтом. Разница в смысле: <strong> сообщает браузеру, поисковику и программам для чтения с экрана, что содержимое действительно важно или срочно, а <b> просто привлекает внимание к тексту, не заявляя об особой важности.

Чем <em> отличается от <i>, если оба показывают курсив?

Как и в паре strong/b, разница не во внешнем виде, а в смысле. <em> - это логическое ударение, которое меняет смысл фразы при чтении вслух. <i> - текст «другим голосом»: иностранные слова, технические термины, названия - выделен курсивом по традиции, а не потому что на него падает ударение.

Если <strong> и <em> - это про смысл, а не про внешний вид, почему они всё равно жирные и курсивные по умолчанию?

Браузер должен как-то отобразить эти теги без дополнительного CSS, и жирный текст/курсив - удобный способ визуально показать, что здесь есть смысловое выделение. Но этот внешний вид - только оформление по умолчанию: его можно полностью переопределить через CSS, а смысл тега при этом не изменится.

Категория
Поделиться в социальных сетях

Отправить комментарий

0 Комментарии

Отправить комментарий (0)

#buttons=(Хорошо) #days=(20)

Мы используем файлы cookie для улучшения работы сайта. Подробнее
Хорошо
×