Тег strong в HTML: важность текста, а не жирный шрифт

Тег strong отмечает в тексте фрагмент, который важен, серьёзен или срочен: предупреждение, условие, факт, который нельзя пропустить. Тег парный, закрывающий обязателен, собственных атрибутов нет, только глобальные. Жирным браузер его выводит по умолчанию, но жирность здесь следствие, а не цель: если нужен один лишь вид, для этого есть CSS.

HTML
<p>Перед началом работы <strong>отключите питание</strong>.</p>

Для чего нужен тег strong в HTML

Стандарт описывает три случая, когда фрагмент стоит отметить этим тегом: он важен, серьёзен или срочен. Важным бывает название в заголовке главы, серьёзным - предупреждение об опасности, срочным - пункт списка, который нельзя откладывать.

HTML
<h1>Глава 1: <strong>Практика</strong></h1>

<p><strong>Осторожно:</strong> ступени скользкие.</p>

<ul>
  <li><strong>Выключить духовку.</strong></li>
  <li>Вынести мусор.</li>
</ul>

Во всех трёх случаях выделение говорит читателю одно: этот фрагмент лучше не пропускать. Смысл самого предложения при этом не меняется, и именно так стандарт отличает strong от em: тот меняет смысл предложения интонацией, а этот только показывает значимость фрагмента.

Пример: отметьте в инструкции то, что нельзя пропустить

Результат

Нажимайте на предложения прямо в тексте: отмеченное становится жирным, а вокруг него появляются теги strong. Под текстом разбор того, что вы отметили.

Когда отмечено почти всё, тег теряет главное свойство: выделение работает только на фоне текста, который остался без него. Поэтому на практике strong прописывают одному-двум фрагментам в абзаце, не больше.

Тег strong или b: как выбрать

Оба тега выводятся жирным, поэтому на экране их не различить. Разница в том, что вы сообщаете читателю и программам, которые разбирают страницу.

Помогает проверочный вопрос: пострадает ли читатель, если пропустит этот фрагмент? Если да, это важность или срочность, и нужен strong. Если фрагмент просто должен бросаться в глаза, как название товара в обзоре или ключевое слово в аннотации, подойдёт b. Разбор с нуля есть в уроке курса: Чем strong отличается от b .

Признакstrongb
Что сообщаетФрагмент важен, серьёзен или сроченФрагмент нужно выделить взглядом, важности нет
ПримерПредупреждение, условие, критичный фактНазвание товара в обзоре, ключевое слово в аннотации
Вид по умолчаниюЖирныйЖирный
Роль в структуре доступности (Chromium 141)strongОтдельной роли нет
ВложенностьКаждый уровень повышает важностьСмысла не имеет

Как выглядит strong и почему он не всегда жирный

Сначала о числах, которые встретятся ниже. В CSS толщина шрифта задаётся числом от 100 до 900 в свойстве font-weight. Чем число больше, тем текст жирнее: 100-300 - тонкий, лёгкий шрифт, 400 - обычный текст, 700 - то, что мы привыкли называть жирным, 900 - самый жирный.

Браузер задаёт тегу strong значение font-weight: bolder, то есть «жирнее, чем у окружающего текста». Он смотрит, какой вес у родителя, и поднимает его на ступень:

Вес окружающего текстаВес strongЧто получится
100-300, тонкий400Обычный текст: тег есть, а жирности нет
400-500, обычный700Привычный жирный шрифт
600-900, уже жирный900Самый жирный, если у шрифта есть такое начертание, иначе выглядит как 700

Пример: какой вес получает strong в четырёх случаях

Результат

В каждом случае показаны два числа: вес окружающего текста и вес strong. На шкале серая точка - окружающий текст, оранжевая - strong. Числа вычислены скриптом, а заметна ли разница глазом, зависит от начертаний шрифта.

Отсюда три случая, когда жирности нет. Первый - тонкий родитель, как во втором случае: тег поднимает вес только до 400, а это обычный текст. Второй - CSS-сброс, как в четвёртом: для strong прописано font-weight: normal или inherit, смысловая разметка остаётся, а вида нет. Третий - заголовок, как в третьем случае: он и без того жирный, поэтому strong внутри различим только там, где у шрифта есть начертание 900.

Внешний вид тега меняют обычным правилом:

CSS
strong {
  font-weight: 600;
  color: #b3261e;
}

Если жирность нужна без смысла важности, её задают классом или правилом для нужного элемента, а тег strong для этого не берут.

Вложенный strong: уровни важности

Стандарт считает важность относительной: чем больше у фрагмента предков strong, тем он важнее. Так в одном абзаце получаются уровни.

HTML
<p>
  <strong>Осторожно.</strong> В комнате идёт ремонт.
  <strong><strong>Не включайте свет</strong>, пока не проверена проводка.</strong>
</p>

Фраза «Не включайте свет» находится внутри двух тегов strong и потому важнее, чем «пока не проверена проводка», у которой тег один.

Пример: уровень и вес каждого фрагмента

Результат

В таблице для каждого фрагмента посчитан уровень вложенности и вес. Кнопка красит фрагмент второго уровня, чтобы разницу было видно.

Глазом уровни различить сложно: вес 900 виден только там, где у шрифта есть такое начертание. Если различие нужно читателю, его задают стилем для вложенного тега:

CSS
strong strong {
  color: #b3261e;
}

Где можно использовать strong: абзац, заголовок, ссылка, список

strong - строчный элемент: он не начинает новую строку и подстраивается под окружающий текст. Его прописывают внутри абзаца (p), пункта списка, ячейки таблицы, ссылки и заголовка.

HTML
<p>Срок оплаты - <strong>до пятницы</strong>.</p>
<li>Ключ хранится <strong>только у администратора</strong></li>
<a href="/tarify">Смотреть <strong>новые</strong> тарифы</a>

Внутри допустим только строчный контент: другой strong, em, ссылка, код. Обернуть сразу несколько абзацев нельзя, поэтому тег прописывают внутри каждого из них.

В заголовке (h1) strong обычно лишний: заголовок и так важнее окружающего текста и уже выводится жирным. Исключение - когда часть заголовка отделяется от остальной, как название в «Глава 1: Практика».

Читают ли strong программы чтения с экрана

Браузеры передают strong вспомогательным технологиям: в Chromium 141 элемент попадает в структуру доступности с ролью strong, мы проверили это на пустой странице. Но то, что элемент виден программе чтения с экрана, не значит, что она его озвучит.

NVDA по умолчанию читает текст внутри strong ровным голосом и о выделении не сообщает. Если включить в настройках атрибуты шрифта, текст будет назван жирным, а не важным. Запрос на озвучивание strong в трекере NVDA на сентябрь 2024 года оставался открытым, актуальный статус мы не проверяли. Как ведут себя JAWS и VoiceOver, мы не проверяли вовсе, поэтому утверждать не будем.

Отсюда практический вывод: предупреждение должно быть понятно и без выделения. Слова «Внимание» или «Важно» в самом тексте работают для всех читателей, а strong остаётся дополнительным сигналом.

Частые ошибки

Ошибки с этим тегом сводятся к двум крайностям: его прописывают ради одной жирности или выделяют им слишком много.

ОшибкаЧто происходитКак исправить
strong вместо CSS, ради жирностиТексту приписана важность, которой у него нетЗадать вес через font-weight
Выделены несколько фраз подряд или почти весь абзацВажное перестаёт отличаться от остальногоОставить тег одному-двум ключевым фрагментам
Жирная строка вместо заголовкаВ структуре документа раздела нетИспользовать заголовок, например h2
Неверный порядок закрытия: <strong><em>текст</strong></em>Разметка невалиднаЗакрывать теги в обратном порядке
Важное сказано только выделениемЧитатель с NVDA не узнает о срочностиПродублировать словом в тексте: «Внимание», «Важно»
Категория
Поделиться в социальных сетях

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

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

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

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

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