Каковы практические недостатки использования действительного презентационного элемента W3C, которые не указаны как устаревшие? - PullRequest
6 голосов
/ 10 февраля 2010

Каковы практические недостатки использования допустимого элемента представления 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>

Ответы [ 5 ]

6 голосов
/ 10 февраля 2010

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

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

Если вы хотите выделить слово, как «определенно» в этом предложении, вы должны определенно использовать <em>. Это частый случай. Но когда вам просто нужны типографские детали, такие как выделение курсивом блока текста только для визуальных целей, или типографские изыски, такие как «Вещи Мир !», <em> не подходит и вам нужна версия без семантики (<i> или <span>).

Точно так же, <strong> подходит для «неправильной вещи» выше, поскольку это должно быть сильно подчеркнуто. Если вы просто хотите, чтобы часть текста отображалась жирным шрифтом, не подразумевая, что она важнее окружающего текста, вы бы использовали <b> или, опять же, стили для другого элемента, например <span> или <div>.

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

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

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

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

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

1 голос
/ 10 февраля 2010

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

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

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

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

0 голосов
/ 10 февраля 2010

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

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

0 голосов
/ 10 февраля 2010

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

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

  • <br> для обозначения «мягкого» перерыва. (Как указано выше: лучше использовать поля на элементах <p> показать абзацы.)
  • <hr> до указать деление на два раздела документа, например между заголовок и навигация или навигация и содержание. Когда браузер без Поддержка CSS просматривает документ, четкое разделение видно. Затем я скрываю <hr> s с помощью CSS.
0 голосов
/ 10 февраля 2010

часов - это боль в стиле CSS без добавления большего количества HTML

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...