Пустые теги HTML - PullRequest
       9

Пустые теги HTML

7 голосов
/ 18 февраля 2009

В моем коде много пустых тегов span и т. Д. Из-за методов замены изображений CSS. Они вызывают предупреждение проверки HTML.

Должен ли я заботиться?

Ответы [ 7 ]

10 голосов
/ 18 февраля 2009

Я согласен с @Gumbo, но большое количество предупреждений, которые не имеют значения, может скрыть те, на которые вам стоит обратить внимание. Если вы можете поместить в промежуток что-то, что избавляет от предупреждения, но не нарушает ваш пользовательский интерфейс, вам следует хотя бы подумать об этом.

9 голосов
/ 18 февраля 2009

Я сделал проверку частью моего рабочего процесса, потому что это помогает мне рано обнаруживать ошибки. И хотя я не считаю пустые элементы проблемой, это сводит на нет некоторые преимущества использования валидатора, если мне приходится каждый раз мысленно анализировать список предупреждений и решать, является ли предупреждение важным или нет. Поэтому я стараюсь, чтобы на моих страницах не было ошибок и предупреждений, чтобы быстрый взгляд на значок HTML Validator в строке состояния Firefox изменился только в случае реальной проблемы. Для этого я оставляю пустые элементы «неработоспособными», вставляя пустой комментарий.

<span><!-- --></span>

(По крайней мере, это работает с валидатором Tidy.)

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

8 голосов
/ 18 февраля 2009

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

См. CSS Zen Garden , где вы можете увидеть примеры, такие как пролеты H1 с заменой текста в CSS на изображения.

Это улучшит не только доступность вашего сайта, но и возможность поиска.

2 голосов
/ 18 февраля 2009

«Пустой» тег имеет очень конкретное определение в HTML:

<span/>

против

<span></span>

Первый не разрешен HTML 4.0 Strict DTD , поэтому должен быть отмечен валидатором. Единственные теги, которые могут использовать предыдущий синтаксис, - это теги, специально обозначенные как «EMPTY» в DTD (например, <br>).

Вторая форма является допустимым HTML и не помечается валидатором W3C .

Так что я должен предположить, что (1) ваш валидатор не работает, или (2) вы используете тег неправильно.

1 голос
/ 18 февраля 2009

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

1 голос
/ 18 февраля 2009

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

0 голосов
/ 10 января 2013

Эрик Мейер также говорит, что тэги empy плохие, семантически.

Предупреждение не означает, что это неправильно, но говорите, что может, а иногда и должно быть лучше.

Точно так же

if("value"==variable)

лучше

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