Использование ‹u›подчеркивание‹/u› устарело и не проверено?

Использование подчеркивания устарело и не проверено?


person Jitendra Vyas    schedule 21.01.2010    source источник
comment
Без обид, но было бы так же легко проверить спецификации html/xhtml на w3.org и увидеть ответ на свой вопрос, как и задать его здесь.   -  person Joshua Carmody    schedule 21.01.2010
comment
Жаль, что вы задали вопрос типа «да-нет». Несмотря на это, интересно спросить/узнать, почему: предполагается, что HTML представляет собой разметку. Предполагается, что стилизация выполняется с помощью CSS. Ребята из W3 HTML поняли это позже и решили исключить из HTML элементы, специфичные для стиля. Просто разделение ответственности, что хорошо.   -  person BalusC    schedule 21.01.2010
comment
Как было сказано больше раз, чем я могу себе представить... То, что вы можете найти ответ на вопрос на другом сайте, не означает, что вы не должны задавать его здесь! Чем больше вопросов будет задано/отвечено здесь, тем меньше других мест вам придется посетить.   -  person Robin Day    schedule 21.01.2010
comment
Можем ли мы оставлять комментарии, когда голосуем против? Вопрос действителен, сообщите пользователю, почему вы считаете, что он заслуживает голосования против него. Это дубликат? Вы чувствуете, что это недостаточно подробно? Плакат не может исправить свое поведение, если нет указаний на то, что он сделал неправильно.   -  person Toji    schedule 21.01.2010
comment
Почему я спросил об этом, потому что многие редакторы WYSIWYG все еще используют кнопку U, чтобы сделать текст подчеркнутым   -  person Jitendra Vyas    schedule 21.01.2010
comment
@ Робин - Правда? Меня наказывали за то, что я задавал вопросы, на которые я мог бы найти ответ самостоятельно. ( stackoverflow.com/questions/951982 ). Я предполагаю, что сообщество не пришло к единому мнению, является ли это хорошей идеей. Ах хорошо.   -  person Joshua Carmody    schedule 21.01.2010
comment
@Joshua: Сообщество, возможно, нет, но основатели, безусловно, есть.   -  person Robin Day    schedule 21.01.2010
comment
@Jitendra: спросите/упомяните/пожалуйтесь авторам рассматриваемого редактора.   -  person BalusC    schedule 21.01.2010
comment
@Jitendra - Большинство HTML-редакторов WYSIWYG, которые я использовал, не совсем соответствуют стандартам :) Кнопка «U» предназначена для того, чтобы пользователи Microsoft Word чувствовали себя как дома.   -  person Olly Hodgson    schedule 21.01.2010
comment
@ Джошуа и др.: Возможно, спрашивающий не смог найти то, что искал, на W3. Я подозреваю, что на высокий процент вопросов, заданных на подобных сайтах, ответы доступны ГДЕ-НИБУДЬ в Интернете. Проблема в том, что спрашивающий не знает, где искать или не понимает, что он там находит. Если правило состоит в том, что никому не разрешается задавать вопрос, на который кто-то еще знает ответ, то остаются только те вопросы, на которые никто не может ответить, что сделало бы такие сайты бесполезными.   -  person Jay    schedule 22.01.2010
comment
RE the close: Хотя это правда, что этот вопрос вызвал много дискуссий и мнений, в том виде, в котором он был написан, требовался простой ответ «да» или «нет»: тег устарел или нет? :-)   -  person Jay    schedule 08.09.2014
comment
возврат HTML5 элемента ‹u› (семантический)   -  person showdev    schedule 09.09.2014


Ответы (10)


Он устарел в HTML 4 http://www.w3.org/TR/REC-html40/present/graphics.html#edef-U поэтому не пройдет проверку.

Вместо этого используйте стили. Может быть, тег <span>. Хотя, если вы хотите, чтобы то, к чему вы пытаетесь добавить подчеркивание, было выделено без включения стилей. Используйте тег <em> и используйте CSS, чтобы сделать его подчеркиванием.

person Jonny Haynes    schedule 21.01.2010
comment
да, нет ничего лучше, чем написать больше кода. Зачем любому здравомыслящему человеку заменять ‹u›‹/u› на ‹span style=text-decoration:underline;›‹/span› 7 символов против 47. Обычная глупость. Я придерживаюсь ‹u›, хотя не могу сказать, что действительно когда-либо его использую. - person corymathews; 21.01.2010
comment
Потому что логичные люди используют классы или переопределения css вместо встроенных стилей и понимают важность сохранения структуры документа отдельно от форматирования документа. - person Joel Mueller; 21.01.2010
comment
Добавление тега ‹span› мало чем отличается от добавления тега ‹u›. Конечно, CSS намного мощнее, но при написании HTML вручную ‹u› часто может быть чертовски проще. Это не должно было быть устаревшим. - person devios1; 07.06.2013
comment
@JoelMueller: если кто-то хочет подчеркнуть заголовок, это следует сделать с помощью стилей, а не встроенного тега <u>. С другой стороны, в чем-то вроде викторины, которая инструктирует людей определить часть речи каждого подчеркнутого слова, использование подчеркивания было бы проблемой семантики, а не презентации. Любое другое визуальное представление было бы семантически неправильным, если бы человекочитаемые инструкции не были соответствующим образом изменены. - person supercat; 08.09.2014
comment
@supercat, но использование подчеркивания было бы плохо для доступности, поскольку это поведение браузера по умолчанию для якоря. Этот ответ объясняет это более подробно: ux.stackexchange.com/a/18088 - person Jonny Haynes; 09.09.2014

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

При желании вы могли бы даже переназначить другой элемент HTML, например em:

CSS:

em {
  font-style: normal;         /* Removes italics */
  text-decoration: underline; /* Makes underline */
}

HTML:

<p>I like to <em>underline</em> words.</p>
person Sampson    schedule 21.01.2010
comment
но это требует больше характера, чем ‹u› - person Jitendra Vyas; 21.01.2010
comment
@Jitrenda: Это не имеет смысла :) Сначала спросите себя, зачем вам нужно подчеркивание? Просто для выделения текста? Если это так, то вы также можете просто взять <em> и использовать CSS, чтобы подчеркнуть его по умолчанию. - person BalusC; 21.01.2010
comment
Я бы сделал то, что предлагает BalusC, выделил текст с помощью em, а затем выбрал, как он будет выделен с помощью таблицы стилей. Вместо того, чтобы иметь класс стиля, называемый подчеркиванием. - person Robin Day; 21.01.2010
comment
Замена <u> классом underline — это шаг назад. Но я согласен с тем, что подчеркнутый текст путают со ссылками - IMO вы вообще не должны подчеркивать текст на веб-страницах, кроме ссылок или заголовков (в этом случае вы должны прикрепить CSS к тегу заголовка). - person DisgruntledGoat; 21.01.2010
comment
@DisgruntledGoat Я не поощряю этот пример, а только показываю, как CSS обрабатывает себя как альтернативу ужасному u. - person Sampson; 21.01.2010
comment
@BalusC Я думаю, что это имеет смысл. У вас может быть гораздо более распространенный случай для стандарта ‹em› в сообщениях на некоторых сайтах. Теперь, имеет ли значение этот лишний байт, ... ну ... нет. - person Garet Claborn; 05.04.2013
comment
@Jitendra Vyas Вместо этого, почему бы не использовать ‹i› для вашего пользовательского стиля слов в css, теперь, когда курсив перешел на ‹em›? В наши дни с HTML5 ‹i› в любом случае является скорее репликой диалога. Конечно, опять же, браузеры, вероятно, всегда будут понимать и ‹u›, и ‹i›. - person Garet Claborn; 05.04.2013
comment
@BalusC: В тех случаях, когда в удобочитаемом тексте документа упоминаются подчеркнутые вещи, семантика тега <u> была гораздо более подходящей, чем <em>. - person supercat; 08.09.2014

‹разглагольствовать›

Общий комментарий о семантике и стиле: хотя в этом, безусловно, есть правда, это урок, который некоторые люди слишком усвоили.

В реальной жизни многие люди используют курсив для выделения. Конечно, я мог бы создать CSS-стиль span.emphasized { font-style: italic;}, а затем вместо того, чтобы помещать ‹i›‹/i› вокруг выделенного текста, поставить ‹span class='emphasized'›‹/span ›. И что именно это дает, кроме большого количества дополнительного набора текста?

Кроме того, есть миллион причин, по которым я мог бы выделить часть текста, скажем, курсивом. Возможно, это название книги; возможно, я хочу подчеркнуть это; возможно, я использую условность выделения иностранных слов курсивом; и т.д. Если у меня есть 10 слов в документе, которые выделены курсивом по 9 различным причинам, педантичный ответ состоит в том, что я должен создать 9 различных записей в стиле CSS, чтобы описать все эти причины. Лично я почти никогда этого не делаю, потому что это ничего не дает. Да, теоретически я мог бы решить, что названия книг должны быть выделены курсивом, а не курсивом или что-то в этом роде. На практике вероятность того, что это произойдет, довольно близка к нулю, а если бы это произошло, а у меня в документе два таких названия книг, я могу просто изменить его дважды. Теоретически кто-то может захотеть отсканировать мой текст с помощью программы, которая ищет названия книг. Но на практике, если мы не договорились об этом заранее и не договорились об именах классов CSS, они никак не собираются этого делать.

Я не говорю, что CSS бесполезен. Наоборот. Когда у меня есть семантический объект, многократно повторяющийся в моем тексте и не имеющий естественного, общепризнанного стиля, тогда вполне правдоподобно предположить, что по мере продолжения работы над документом я, возможно, захочу изменить стиль. В этом случае гораздо проще изменить одну запись CSS, чем изменить сотню экземпляров. Или я могу захотеть использовать другой стиль в разных ситуациях, например, выделять предупреждающие сообщения красным цветом при отображении на экране, но выделять их жирным шрифтом при печати черно-белого документа.

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

Я хочу сказать, меня не волнует, что какой-то педант сказал Это правило, которому ты всегда должен подчиняться. Вы спросите, почему вы должны ему подчиняться? Но я только что сказал вам! Потому что это правило! Я использую инструменты и методы, полезные в настоящем приложении. (И да, да, есть множество эмпирических правил, которые действуют в 99% случаев, и о них не стоит думать, пока не появится редкое исключение.)

‹/разглагольствование›

person Jay    schedule 21.01.2010
comment
Комментарий в естественном, общепризнанном стиле в отношении всемирной паутины на самом деле не работает. Что произойдет, если выделить китайский текст курсивом? Интернет дает нам глобальный охват, это то, что вам всегда нужно учитывать, если вы точно не знаете, какова вся ваша целевая аудитория. - person Robin Day; 22.01.2010
comment
@Robin: Может быть, я что-то упускаю, но я не знаю, как просто щелкнуть выключателем и превратить английский текст в китайский. Если кто-то переведет документ, который я написал, на китайский язык, я полагаю, что он переведет курсив в соответствующий китайский метод выделения ударения. Если вы думаете о переводе Babelfish, (а) учитывая грубость машинных переводов, неадекватная обработка курсива — это наименьшая из ваших забот; и в любом случае (б) было бы, безусловно, проще иметь дело со стандартными тегами i, чем с классом CSS, созданным по индивидуальному заказу. - person Jay; 22.01.2010
comment
Использование <em> лучше, чем <i> в тех случаях, когда метод выделения должен зависеть от того, как отображается текст. Например, если блок текста выделен шрифтом рукописного ввода, попытка использовать курсив для выделения слова будет менее эффективной, чем, например. показывая это слово контрастным цветом. С другой стороны, в некоторых случаях использование чего-либо, кроме курсивного текста, было бы семантически неверным, и заменители следует использовать только в том случае, если альтернативы нет (например, рендеринг текста на терминале VT100). - person supercat; 08.09.2014

Тег <u> больше не используется в таблицах стилей.

Большинство браузеров будут продолжать распознавать его еще долгое время, просто из-за необходимости обратной совместимости с уже существующим содержимым. Но если вы хотите соответствовать XHTML, вам следует избегать его использования.,

Подробнее об устаревших тегах HTML можно прочитать здесь.

person LBushkin    schedule 21.01.2010

Да, это устарело в HTML 4. Однако вы можете просто использовать следующий css.

span.underline { text-decoration: underline; }

Однако подчеркнутое имя класса не является семантическим. Вы можете заменить его именем класса, описывающим подчеркнутый контент.

person Joe Martinez    schedule 21.01.2010

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

Тег не определен в xhtml1-strict.dtd, но доступен в xhtml1-frameset.dtd и xhtml1-transitional.dtd. Его объявление выглядит следующим образом (не в Strict DTD):

<!ELEMENT u %Inline;>   <!-- underline -->
<!ATTLIST u %attrs;>

Это сделано для обеспечения обратной совместимости с браузерами.

Не используйте этот тег, так как "Этот тег устарел в пользу таблиц стилей". Вскоре он может устареть. Скорее используйте таблицу стилей, например.

/** Underlining an anchor tag in CSS **/
a {
    text-decoration: underline;
}
person Buhake Sindi    schedule 21.01.2010

Устарело: да.
Проверено: ? Я думаю, это зависит от того, что вы используете для проверки.

http://www.codehelp.co.uk/html/deprecated.html

person NotMe    schedule 21.01.2010

Да, это устарело.

person Dominik Sandjaja    schedule 21.01.2010

Вы пометили свой вопрос как XHTML, так и HTML. тег U определенно устарел в xhtml-strict. Я думаю, что это все еще может быть в порядке в HTML-4-Transitional. Как говорили другие люди, вместо этого используйте стили. С хорошим именем они придают больше семантики вашим документам.

person Peter Rowell    schedule 21.01.2010

Если вы используете последнюю версию HTML или XHTML, то да, она устарела. Несмотря на это, в целом вам следует избегать подчеркивания всего, что не является ссылкой, так как это может еще больше запутать пользователя.

person aslum    schedule 21.01.2010