Ускоряющая клавиша n предназначена для пропусков при навигации по страницам. Пропуск для перехода на начало контента.

Данный документ является переводом. В случае каких-либо несоответствий и ошибок последняя версия документа на английском языке должна рассматриваться в качестве официальной. Первоначальное авторское право принадлежит W3C, как то указано ниже.

Переводчик: Alexandr Shlapak (Александр Шлапак)

s_gotoW3cHome Internationalization
 

Использование <b> и <i> элементов

Предполагаемая аудитория: шифровальщики XHTML / HTML (используя редакторы или скрипты), разработчики скриптов (PHP, JSP, и т.д.), и каждый кто является новичком в интернационализации и нуждается в руководстве о том как использовать <b> и <i> тэги в HTML.

Вопрос

Должен ли я использовать <b> и <i> элементы?

Вводная информация

Спецификация HTML5 переопределяет элементы b и i так, чтобы они имели некоторую семантическую функцию, а не были исключительно презентационными. Тем не менее, тот простой факт, что названия тэгов 'b' для bold (жирный шрифт) и 'i' для italic (курсив) означают, что людям свойственно продолжать использовать их для презентации.

Эта статья объясняет почему это может быть проблемой для локализации (и, действительно, для рестайлинга страниц написанных на одном языке), и повторяет совет спецификации назначенный для обращения к тем очеркам.

Ответ

Вы всегда должны иметь в виду что контент элемента b может не всегда быть написанным жирным шрифтом, и что элемент i может не всегда быть курсивом. Современный стиль зависит от определений стиля CSS. Также вы должны иметь в виду, что жирный шрифт и курсив могут и не быть стилем, которому отдают предпочтение для контента в некоторых языках.

Вам не следует использовать тэги b и i, когда доступен более наглядный и подходящий тэг. Если вы их используете, то лучше добавить class атрибуты, которые описывают предназначенное значение разметки, так чтобы вы могли различать использования друг от друга.

Остальная часть этой статьи объяснит это более детально.

Для чего они нужны

Спецификация HTML5 переопределяет предназначенное использование этих элементов как показано ниже.

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

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

Какие здесь есть проблемы?

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

Общий вопрос. Использование b и i тэгов может быть проблематичным потому, что заставляет авторов думать о презентационных условия, а не помогает им двигаться в направлении правильной семантической разметки. По крайней мере, это размывает идеи. В спешке у автора есть соблазн использовать только один из этих тегов в тексте, чтобы изменить его вид, вместо того, чтобы остановиться и подумать о мобильности и перспективность.

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

Японский пример. Просто потому, что Английский документ может использовать italicization (курсив) для ударений, названий документов и разговорных фраз на иностранном языке, это не значит, что Японский перевод документа будет использовать одну конвенцию для представления всех трех типов контента. Японские авторы, возможно, захотят избежать использования, как italicization (курсива) так и bolding (жирного шрифта), так как их символы слишком сложны, чтобы хорошо выглядеть при небольших размерах с этими эффектами.

Японский локализатор, безусловно, может применять различные стили к элементам b и i путем изменения таблицы стилей CSS. Тем не менее, японцы могут обнаружить, что контент читается лучше, если они используют wakiten (специальные символы) для ударения, угловые скобки для 『названий документов』, и двойные угловые скобки для 《иностранного говора》. Это общие Японские печатные подходы, которые не используются в Английскому языке.

Проблема в том, что, если Английский автор везде использовал i тэги (думая о представлении, которое он/она хочет на Английском), Японский локализатор не сможет легко применить разную стилизацию для различных типов текста.

Проблемы можно избежать при использовании семантической разметки. Если Английский автор использовал <em>..</em> и <cite>...</cite> и <i class="foreignphrase">..</i> чтобы различать три случая, это позволит локализатору легко изменять CSS для достижения различных эффектов для этих элементов, по одному за раз.

Конечно, автор мог бы использовать span элементы вместо i или b. Разница будет в том, что не было бы возвращения к курсиву или жирному шрифту при отсутствии правил стиля.

Одноязычный подход. Конечно, с течением времени, это в равной степени имеет отношение к одноязычным страницам. Предположим, вы хотите изменить свое новое корпоративное руководство публикации, потому что вы чувствуете, что имена документа выглядят лучше, когда они написаны жирным шрифтом, а не курсивом. С семантически размеченной HTML, вы можете легко изменить стиль всех названий документа по всем сайте с помощью одного маленького редактирования в CSS. Однако, если бы вы использовали i без выделения различной семантики, вам пришлось бы искать на каждой странице соответствующие i тэги и менять их отдельно, потому что вы не применяли те же изменения стиля к ударению и иностранным словам.

Использование атрибутов языка. Если вы применяете конвенцию для приминення italicization (курсива) для иностранных слов или фраз в вашем контенте может показаться достаточным положиться на языковой атрибут для определения того, что требует стилизации, например <i lang="fr">..</i>.

На самом деле вы должны тщательно подумать, прежде чем использовать этот подход, так как атрибут языка описывает только язык текста, а не содержание. Вполне возможно, что вы захотите стилизовать текст на разных языках по-разному в зависимости от контекста, в котором он используется или сейчас, или в будущем.

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

<p>There is a certain <i class="foreignphrase" lang="fr">je ne sais quoi</i> in the air.</p>.

Рекомендации по применению

Спецификация HTML5 имеет следующие рекомендации относительно использования элемента i (добавлена ​​подсветка):

Авторам рекомендуется использовать class атрибут для элемента i чтобы определить, почему используется этот элемент, так что если стиль особого использования (например сны, в отличие от таксономических терминов) позже должен быть изменен, автору не придется просматривать весь документ (или ряд связанных с ним документов) записывая применения каждого из них . Аналогично, авторам рекомендуется решить вопрос о приминення других элементов вместо элемента i, например элемент em для обозначения акцентированного ударения, или элемент dfn для обозначения определяющего экземпляра элемента.

Аналогичная формулировка содержится в описании элемента b.

В спецификации HTML5 4.6 Текст на уровне семантики перечисленные другие элементы, которые могут быть использованы для описания семантически встроенного текста, например dfn, cite, var, samp, kbd, и т.д.http://dev.w3.org/html5/spec-author-view/text-level-semantics.html#text-level-semantics

Это поможет считать элементы b или i, по сути элементом span с стилизацией с автоматическим отступом. Точно так же, как элемент span, эти элементы обычно выгоднее по сравнению с class названиями, если они должны быть полезными.

Выскажите своё мнение (по-английски).

Подпишитесь на ленту новостей RSS.

Новые публикации

Новости главной страницы

Twitter (Новости главной страницы)

‎@webi18n

Дополнительные материалы

Автор: Richard Ishida, W3C. Переводчик: Alexandr Shlapak (Александр Шлапак).

Допустимый XHTML 1.0!
Допустимый CSS!
Кодировка UTF-8!

Перевод с английского: 2010-07-12. Последнее внесение изменений в перевод: 2011-08-17 19:00 GMT

Для просмотра истории внесения изменений нажмите qa-b-and-i-tags в блоге i18n.