Каковы практические недостатки использования W3C valid presentational element, которые не перечислены как устаревшие?

StackOverflow https://stackoverflow.com/questions/2235672

Вопрос

Каковы практические недостатки использования допустимого презентационного элемента W3C, которые не перечислены как устаревшие

  • для разработчиков XHTML-CSS,
  • Видящие конечные пользователи сайта,
  • а для пользователей программы чтения с экрана, ?

Нравится <b> , <i>, <br>, <hr>, <small> Если я использую эти теги в презентационных целях.(примечание: они также поддерживаются в HTML 5)

например:

  1. Если я использую <b> на месте <span style="font-weight: bold">
  2. Если я использую <i> на месте <span style="font-style: italic">
  3. Если я использую <br> сделать разрыв строки в абзаце, а не освобождать пробел
  4. Если я использую <hr> на месте <div style="border-bottom: 1px solid #666">
  5. Если я использую <small> на месте <span style="font-size: 9px">

Я знаю разницу между <strong> и <b>.Мой вопрос не о том, <strong> против <b>

Это было полезно?

Решение

В их использовании как таковом нет никакого ‘против’.В их использовании есть ‘против’ за неправильную вещь.В прошлом они часто использовались для неправильных целей на веб-страницах, но это не значит, что там нет правильных вещей.

<i> семантически эквивалентно <span style="font-style: italic">:то есть здесь нет никакого смыслового наполнения.Слово внутри <i>...</i> нет ничего важнее;преобразователь текста веб-страницы в речь не должен (*) читать это слово подчеркнутым тоном.

Когда вы хотите подчеркнуть какое-либо слово, например, ‘определенно’ в этом предложении, вам следует определенно использование <em>.Это обычный случай.Но когда вам просто нужны типографские детали, такие как выделение курсивом блока текста только для визуальных целей, или типографские особенности, такие как всегда ссылаться на ваш сайт как на “ВещиМир!”, <em> не подходит, и вам нужна версия без семантики (the <i> или тот <span>).

Аналогично, <strong> подходит для приведенного выше “for the wrong thing”, поскольку оно должно быть сильно подчеркнуто.Если бы вы просто хотели, чтобы часть текста была выделена жирным шрифтом, не подразумевая, что она более важна, чем окружающий текст, вы бы использовали <b> или, опять же, стили для другого элемента, например <span> или <div>.

Обычное применение для <i> и <b> это когда вы берете текст из несвойственного вам источника.В частности, часто импортируется контент из текстового редактора или аналогичного приложения, где нет понятия выделения как такового, только "курсив" и "жирный шрифт".В данном случае <i> и <b> (или эквиваленты span) подходят, потому что вы не знаете, какова семантическая цель, стоящая за этими текстовыми стилями;эта информация уже утеряна.

Если вы автоматически преобразовали весь курсив в <em> как и во многих других инструментах, вы можете выделить курсивом то, что не предназначено для выделения.Например, ссылки на другие работы, которые лучше было бы пометить <cite>, или слова / фразы из другого языка, такие как латынь или французский, которые лучше было бы пометить <span lang> (и соответствующий стиль, чтобы передать это словами с другого языка, должен быть выделен курсивом).

<small> и <big> теоретически это может быть один и тот же случай, но хотя импортированный текст с выделением жирным шрифтом / курсивом является обычным, текст импортированного размера - нет.Следовательно, никто не использует эти теги, и вам, как правило, лучше использовать обычные стили размера шрифта CSS.

<br> и <hr> возможно, они не являются презентационными в том же смысле, в каком представлены вышеприведенные теги.Перенос строки может быть важной частью контента (например.при разделении строк в адресе), а горизонтальное правило представляет собой более строгое разделение между разделами текста, чем простой абзац.Конечно, если вы используете <br> чтобы создать поддельные абзацы, вы делаете это неправильно (а вы Дэвид Сигел примерно 1998 года рождения) и используете <hr> просто чтобы получить красивую маленькую реплику, которая тоже не подходит.

(*:наглядный пример;выяснение того, что на самом деле делают настоящие программы чтения с экрана, остается в качестве упражнения для читателя.)

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

Для полноты картины приведем Индекс элементов в нем перечислены, которые устарели, а которые нет (и вы правы, указывая их как нет устарел).

Однако, вообще говоря, люди используют:

  • <strong> вместо того, чтобы <b>;
  • <em> вместо того, чтобы <i>;
  • <hr> и <br> потому что альтернативы нет;
  • <small> по моему опыту, используется редко, вместо него используется стиль CSS.

Важно понимать, что <strong> и <em> имеют смысловое значение, но <b> и <i> не делайте этого, чтобы были допустимые варианты использования для обоих.

создание стиля с помощью CSS без добавления дополнительного HTML-кода сопряжено с большими трудностями

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

Я склонен использовать em или strong, а не i или b - оба они подразумевают выделение курсивом или полужирным шрифтом, в то время как em или strong немного более абстрактны, поэтому, если вы хотите сделать акцент на каком-либо тексте или придать тексту более выразительный вид, они имеют больше смысла, не обязательно будучи выделенными жирным шрифтом или курсивом

Минусы использования <br> элементы для обозначения разрывов строк (и, следовательно, не использующие <p> элементы для обозначения абзацев) заключается в том, что вы ограничиваете область своего CSS-контроля над документом.Гораздо проще управлять многими <p> элементы текста, чем текст, перемежающийся с <br>s в одном элементе с помощью CSS.

Всякий раз, когда я собираю HTML-документ, я использую

  • <br> чтобы указать на "мягкий" разрыв.(Как указано выше:вместо этого используйте поля на <p> элементы для отображения абзацев.)
  • <hr> для обозначения разделения документа на два раздела , напримермежду заголовком и навигацией, или навигацией и содержимым.Когда браузер без Поддержка CSS вид документа четкая граница видна.Затем я прячу <hr>s через CSS.

Из ваших 5 примеров только этот, я думаю, имеет значение:"# Если я использую <small> на месте <span style="font-size:9px>"

Small является относительным, тогда как font-size:9px является абсолютным.Мы всегда должны использовать относительные единицы измерения, позволяя браузеру выбирать свой собственный абсолютный масштаб. <span style="font-size:small"> (или предпочтительнее <span style="font-size:smaller">) было бы эквивалентно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top