Правильно ли с семантической точки зрения использовать элемент <b> для разметки ключевых слов без их выделения?

У меня есть предложение, которое включает определение термина на другом языке. Прочитав W3C официальные документы, я использовал следующую разметку, чтобы передать смысл:

<p>The <strong><dfn><i lang = "tl">barangay</i></dfn></strong> is the <em>smallest</em> <b class = "no-bold">political unit</b> in the <b class = "no-bold">Philippines</b>.</p>

с моим пониманием из документов, которые:

  • <strong> имеет большое значение
  • <dfn> для определяющего экземпляра
  • <i> предназначен для технических терминов и / или транслитерации.
  • <em> предназначен для акцентирования внимания на стрессе
  • <b> предназначен для выделения ключевых слов, не отмечая их как важные

В чем я не уверен, так это в том, могу ли я использовать элемент <b> только для того, чтобы пометить определенные слова и фразы как «ключевые слова», не обращая на них внимания (поэтому я добавил class = "no-bold", чтобы изменить его внешний вид с помощью CSS). Будет ли это правильным использованием элемента?

Вы можете использовать пустой тег <a></a> и присвоить ему атрибут name (без набора атрибутов href). <b> означает жирный. Кажется глупым использовать тег и сводить на нет его основную характеристику.

pokeybit 01.05.2018 17:56

@pokeybit Исторически<b> имел в виду жирный шрифт. Не сейчас. Согласно Спецификация HTML 5: «Элемент <b> представляет собой отрезок текста, на который обращено внимание в утилитарных целях, без передачи какой-либо дополнительной важности и без указания альтернативного голоса или настроения, таких как ключевые слова в аннотации документа, названия продуктов в обзор, полезные слова в интерактивном текстовом программном обеспечении или статья ».

Jordan Running 01.05.2018 18:10

@JordanRunning без добавления таблицы стилей по умолчанию, тег <b> подразумевает font-weight: bold;, поэтому независимо от того, что говорят спецификации HTML 5, он выделяет текст полужирным шрифтом.

pokeybit 01.05.2018 18:13

«[По умолчанию] текст выделяется полужирным шрифтом» - это совсем другое утверждение, чем «<b> означает полужирный».

Jordan Running 01.05.2018 18:16
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
2
4
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Стиль не меняет смысла. Поэтому, если в каком-то контексте было уместно использовать b со стилем (например, выделив его жирным шрифтом), в этом контексте также уместно использовать b без какого-либо стиля.

Это возможно, что пользовательский агент использует эти элементы b, даже если вы не стилизуете их и не делаете с ними ничего другого.

Фактический пример: текстовые браузеры (или программы чтения каналов и т. д., Т. Е. Любой UA, не поддерживающий CSS) по умолчанию могут отображать их жирным шрифтом.

class имя для элемента b

Однако имя класса no-bold не идеально, так как

  • он связывает текущий стиль с содержимым (вы можете изменить стиль без изменения HTML) и
  • он не описывает назначение элемента b (бесполезно для потребителей вашей разметки).

Это касается любого элемента, но в спецификации это явно упоминается и для элемента b:

[…] authors can use the class attribute on the b element to identify why the element is being used, so that if the style of a particular use is to be changed at a later date, the author doesn’t have to go through annotating each use.

Более подходящим названием может быть definition-keyword или что-то в этом роде.

Другие вопросы по теме