Вопрос стандартов: I, EM, B, СИЛЬНЫЙ, БОЛЬШОЙ, МАЛЕНЬКИЙ

В реальной работе я всегда использую EM для курсива, СИЛЬНЫЙ для выделения. И МАЛЕНЬКИЙ.

Решил обновить свои знания в HTML + решил взглянуть в сторону HTML 5

Итак, xHTML 1.0 strict, как язык разделения мух и котлет, допускал следующие встроенные элементы, относящиеся к тексту:

I, EM, B, СИЛЬНЫЙ, БОЛЬШОЙ, МАЛЕНЬКИЙ

здесь я столкнулся с первым вопросом - почему теги B и я не были удалены или, по крайней мере, не стали устаревшими в XHTML? Ведь если посмотреть на DTD, то про тег B&I четко написано:

<! ELEMENT b% Inline;> <! - Bold font ->
<! ELEMENT i% Inline;> <! - Italic font ->

Являются ли жирность и курсы структурной, логической особенностью? Это явно визуальная особенность.

Затем я просмотрел http://www.w3schools.com/html5/html5_reference.asp и был удивлен, что тег BIG как-то удалили из HTML5, а его логический эквивалент SMALL - оставили! Хотя БОЛЬШОЙ был даже в XHTML 1.0 Strict!

Где логика в таких перестановках? Объяснять.


person Vasiliy    schedule 05.03.2010    source источник
comment
<b> не жирный! Он просто ширококостный.   -  person Pekka    schedule 05.03.2010
comment
«Язык разделения мух и котлет» - если бы у них был этот слоган пять лет назад, XHTML 2 мог бы куда-то уйти.   -  person Paul D. Waite    schedule 05.03.2010
comment
@Pekka ROFL. Я всегда хотел где-нибудь использовать эту ссылку!   -  person Anurag    schedule 06.03.2010
comment
В прошлый раз, когда я проверял, никто не использует ВСЕ ЗАГЛАВНЫЕ буквы для своих тегов, кроме ‹! DOCTYPE›   -  person Jonno_FTW    schedule 06.03.2010
comment
stackoverflow.com/questions/2235450/   -  person Marcel Korpel    schedule 07.03.2010


Ответы (9)


Существуют варианты использования таких тегов, как i и small, которые не являются презентационными, а являются семантическими. <small> обозначает мелкий шрифт (или юридический шрифт) и боковые комментарии. И i можно использовать для текста, который традиционно выделяется курсивом, но не выделяется, например названия книг, иностранные слова и латинские названия видов.

Относительно того, почему <big> был удален, а <small> - нет, см. этот ответ.

person ЯegDwight    schedule 05.03.2010
comment
В HTML 4.x и ранее i и small являются чисто презентационными. Читатели могут подразумевать семантику из презентации, но эта семантика не наследуется в элементах. HTML5 пытается переопределить значения этих элементов (бормотать бормотать обратная совместимость бормотать). - person Quentin; 05.03.2010
comment
@David: да, это новое определение смысла, но только для тех элементов, где это возможно. Это отличается от сохранения тегов только ради обратной совместимости. Показательный пример: такие теги, как center или font, были удалены, хотя они намного популярнее, чем small, и, таким образом, гораздо более важны с точки зрения обратной совместимости. - person ЯegDwight; 05.03.2010
comment
Мой комментарий по поводу обратной совместимости касался small и i, означающих разные вещи в HTML 4.x и HTML5. (А HTML5 обеспечивает обратную совместимость со шрифтом и др .: w3.org/TR/html5 /obsolete.html#font). - person Quentin; 05.03.2010
comment
Я не думаю, что существует проблема обратной совместимости с small или i, потому что они только сужают допустимое использование. Любой семантический экстрактор должен будет продолжать использовать определение v4.x, поскольку он не может сказать, что значение v5 на месте, потому что документы html5 не содержат информации о версиях. cite, с другой стороны, представляет собой реальную проблему обратной совместимости, поскольку упоминание работы в теге cite больше не может считаться истинным цитированием. - person Alohci; 05.03.2010

Во-первых, EM не для курсива, а для EMPHASIS. СИЛЬНЫЙ - для сильного акцента. Никогда не используйте их для каких-либо других целей. Не в соответствии со спецификациями HTML 4, XHTML или HTML5.

Для презентационных эффектов следует использовать CSS.

Так почему же B, I и SMALL были сохранены в HTML5?

  1. Чтобы предотвратить злоупотребление EM и STRONG. Если вы не можете использовать CSS, как на форуме или в вики, лучше использовать несемантические элементы, чем злоупотреблять семантическими. Как и в наших комментариях к Stackoverflow, где я подозреваю, что em и strong часто злоупотребляют, благодаря редактору WYSIWYG, который мы используем.

  2. Могут быть законные причины для использования полужирного или курсивного шрифта помимо того, что предусмотрено EM, STRONG и DFN. HTML5 определяет это как текст, который следует произносить другим голосом или настроением, таким образом, он добавляет своего рода семантику и легитимный вариант использования. Это небольшое переопределение вызывает споры.

  3. Вместо B и I некоторые программы и / или пользователи вставляют атрибуты стиля. Это обмен одного зла на еще худшее.

  4. То же самое и с МАЛЕНЬКИМ. Он получил аналогичный вариант использования, где он как бы несет семантическое значение. Это НЕ означает побочные комментарии.

Кстати, B и я не устарели в HTML 4 / XHTML 1.

person itpastorn    schedule 05.03.2010
comment
+1 за пункт № 3, который, я бы сказал, также относится к подчеркиванию (например, если тест предлагает людям написать правильную замену подчеркнутому слову или фразе, подчеркивание может иметь семантическое, а не просто презентационное значение). - person supercat; 09.08.2016

почему теги B и я не были удалены или, по крайней мере, не стали устаревшими в XHTML?

В XHTML 1.0 ничего не было объявлено устаревшим. Он был разработан для выражения HTML 4.01 в XML.

XHTML 1.1 лишь немного изменил его.

Затем я просмотрел http://www.w3schools.com/html5/html5_reference.asp

Нет. Не W3Schools. Пожалуйста, не надо.

и был удивлен, что тег BIG как-то удалили из HTML5, а его логический эквивалент МАЛЕНЬКИЙ - оставили!

семантика small была пересмотрена. Это будет (если не изменить до того, как HTML5 станет рекомендацией) будет означать «боковые комментарии», а не «уменьшенный размер шрифта».

person Quentin    schedule 05.03.2010

Стандарты - это больше политика, чем логика.

Подпишитесь на любой список рассылки w3 (личный фаворит - public-html), расслабьтесь и наслаждайтесь (?) Мылом реальности.

person anddoutoi    schedule 05.03.2010
comment
-1 Не согласен. После 7 лет активного участия в международном сообществе стандартов я увидел много политики, много здравого смысла и логики. То есть то же самое, что, например, можно увидеть в большинстве корпораций и университетов. Такое широкое заявление, как «Стандарты», является скорее политическим, чем логическим доводом. является несправедливым чрезмерным обобщением и совершенно неверно. - person CesarGon; 06.03.2010
comment
@CesarGon: Я вижу, вы не следили за последним обсуждением html5 ‹iframe doc =› по крайней мере = P Разочаровал бы даже самого счастливого оптимиста. Но я вроде как ловил рыбу -1 ^^ - person anddoutoi; 07.03.2010
comment
Я не сомневаюсь, что в некоторых ситуациях политика доминирует. Я сам был свидетелем таких ситуаций на ряде форумов. Это печально. Но экстраполировать оттуда и обобщать, что все стандарты больше политика, чем логическая причина, несправедливо и неверно. Это моя точка зрения. - person CesarGon; 07.03.2010

Я считаю, что Хиксону следует придерживаться «стиля» для изменения размера шрифта, а не использовать эти «большие» и «маленькие» теги.

Сохранять «маленькое» и убирать «большое» просто неправильно.

person Detro    schedule 05.03.2010
comment
Это не отвечает на вопрос - person Quentin; 05.03.2010
comment
Но в HTML5 <small> не предназначен для изменения размера шрифта. Это для побочных комментариев, заявлений об отказе от ответственности и тому подобного. - person Paul D. Waite; 06.03.2010
comment
Я знаю, но результат ТАКЖЕ изменение стиля. Думаю, тег назван не лучшим образом, чтобы соответствовать его назначению. Это отталкивает людей, особенно если у вас не всегда есть время изучить гигантские спецификации HTML 5. - person Detro; 10.03.2010

Лично я доволен этим состоянием - есть некоторые соглашения (семантика) вокруг «мелкого шрифта», и этот тег вполне подходит для этого. Если бы я сказал в разговоре «читайте мелкий шрифт», это имело бы смысл, но «читайте крупный шрифт», и вы бы подумали: «что такое« большой шрифт »?» Я рад видеть большой ход (никогда не использую его) и малый срок пребывания (использую его часто).

Лично я не использую b, нахожу там сильные стороны свои нужды. Но есть случаи, когда вы хотите, чтобы текст был выделен курсивом, но не выделен. Если это акцент, я использую EM. Если это цитата, я использую CITE. Если это какое-то другое соглашение, выделенное курсивом, я не хочу злоупотреблять EM или CITE.

В Википедии есть некоторые примечания о том, когда использовать курсив, и здесь вы найдете примечания о различных тегах HTML, которые можно использовать с этими примерами: http://www.w3.org/html/wg/wiki/Guide/italics#General_Examples

Не стесняйтесь обсуждать любые или все примеры. Это был просто мой удар. Некоторые из них просты (например, использование EM), другие несколько неоднозначны. Я предпочитаю использовать I для курсива, а не выбирать (a) EM, где это было бы неправильным использованием, или (b) SPAN с курсивом в стиле шрифта, который НЕ несет семантического значения.

Дело в том, что есть семантика, связанная с использованием курсива (по крайней мере, на английском языке), а HTML не предоставляет настраиваемые элементы для работы со всеми из них, и при этом это не нужно imho. Я - подходящая золотая середина.

И тем, кто не любит его использовать, никогда не придется! Не обязательно :)

person Ben Boyle    schedule 06.03.2010

Думаю, часть ответа о <big> и <small> можно найти в спецификации:

Маленький элемент представляет собой боковые комментарии, такие как мелкий шрифт.

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

Таким образом, семантика <small> - это «боковые комментарии» и «мелкий шрифт» (в смысле заявления об отказе от ответственности), который кодируется в HTML с помощью элемента с именем «small». Может, конечно, наименование должно быть лучше.

person naivists    schedule 05.03.2010

Почему <small> все еще используется в HTML5, а <big> - нет?

Я предполагаю, что <small> все еще существует, потому что на практике он часто используется для дополнительных комментариев, заявлений об отказе от ответственности и т. Д., И нет существующего элемента HTML, подходящего для этой задачи.

Ян Хиксон попытался разработать HTML5 на основе того, как HTML использовался на практике: прокладывая коровьи тропы. Таким образом, есть места, где логика приносится в жертву практичности. (Как говорится в блоге WHATWG: «Пожалуйста, оставьте свое чувство логики за дверью, спасибо!» .

Если люди уже используют <small> для побочных комментариев и не используют <big> для чего-либо значимого (я говорю «если», поскольку есть много места для обсуждения и / или исследования этого), то почему бы не закрепить обычное использование первого в спецификации и удалить второе?

Почему <b> и <i> все еще используются в HTML5, если они имеют чисто визуальный характер?

<b> и <i> были переопределены, чтобы иметь значение в HTML5, хотя это очень легкая форма значения:

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

person Paul D. Waite    schedule 05.03.2010

О, ирония: «мелкий шрифт» - это метонимия для чего-то чисто презентационного, обычно несущего столь же важную информацию, но усложняющего чтение, чтобы читатель убедил читателя пропустить ее. Во времена печати это было бы чисто CSS.

person Lucian Davidescu    schedule 04.08.2016