Статьи

10 причин, по которым ваш код не будет проверен (и как это исправить)

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

Прежде чем мы начнем, вот несколько полезных советов, которые следует помнить при использовании валидатора W3C.

  • Не переживайте по поводу предупреждений — если валидатор говорит, что у вас 12 ошибок и 83 предупреждения, просто позаботьтесь об ошибках на данный момент.
  • Сбрасывайте ошибки по одной — прокладывайте путь вниз по списку сверху вниз, сбрасывая ошибки по одной за раз. HTML читается браузерами сверху вниз, поэтому ошибки отображаются одинаково.
  • Повторно проверяйте код после каждого исправления. Часто одна ошибка может привести к нескольким ошибкам на странице. С другой стороны, некоторые «исправления» могут вызвать больше ошибок, если они сделаны неправильно. Повторная проверка после каждой попытки может гарантировать полное устранение проблемы.

С этими базовыми советами давайте взглянем на некоторые причины, по которым ваша разметка не проверяется.

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

В начале 90-х браузеры, такие как Microsoft и Netscape, начали распознавать уникальные объявления шрифтов, которые никогда не были стандартизированы. К сожалению, это означает, что валидатор W3C по-прежнему не распознает некоторые важные теги HTML, такие как «embed», хотя они широко используются по сей день. Если вы действительно хотите получить строгую проверку DOCTYPE, вам придется отказаться от встраивания.

Если вы действительно хотите иметь правильную разметку и встроенный носитель, попробуйте использовать метод Flash Satay .

Частой ошибкой является либо объявление DOCTYPE, либо объявление неправильного DOCTYPE в заголовке документа. Как правило, Strict DOCTYPE — самая высокая оценка, по которой можно стрелять. Строгая проверка означает, что ваши веб-страницы лучше всего отображаются правильно во всех браузерах. Вот как выглядит строгое объявление:

Если ваш сайт не проверяется должным образом, есть большая вероятность, что причиной является отсутствие косой черты в вашем коде. Очень легко пропустить что-то вроде косой черты, особенно в таких элементах, как теги изображений. Например:

1
<img src=»» alt=»»>

Это не будет проверять строгий DOCTYPE. Добавьте ‘/’ перед тем, как тег img заканчивается в каждом случае, чтобы решить проблему.

Вы будете в порядке, используя тэг «align», если для вашего DOCTYPE установлено значение Transitional, но если вы выбрали более высокую дорогу и выбрали строгую проверку, вы увидите ошибки. Align — это еще один устаревший тег, который больше не должен использоваться в разметке. Вместо выравнивания попробуйте использовать float или text-align для смещения элемента.

Если вы объявили Strict DOCTYPE, вам нужно обернуть теги CDATA вокруг вашего кода JavaScript. Этот аспект проверки сбил с толку многих разработчиков, поскольку сайты, как правило, используют встроенный JavaScript для таких вещей, как реклама и сценарии отслеживания. Если вам нужно включить JavaScript, просто добавьте эти теги до и после:

1
2
3
4
5
6
7
8
<script type=»text/javascript»>
/* <![CDATA[ */
 
// JavaScript here
  
};
/* ]]> */
</script>

Если вы еще не заметили, изображения являются основным потенциальным камнем преткновения для хорошей проверки. Помимо конечных слешей, они также требуют тегов alt, которые описывают изображения, то есть alt = «Страшная картина вампира».

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

Сущности являются еще одной небольшой ловушкой, которая, как правило, стоит на пути проверки. Вместо использования таких символов, как «&», рекомендуется использовать правильно закодированные символы. Вот полный список правильно закодированных символьных объектов для использования в разметке XHTML.

Вложенность — это когда у вас есть элементы внутри элементов, например:

1
<div><strong>Sweet!</strong></div>

Это довольно легко перепутать, и микс — это порядок вложенных элементов. Например, начиная с сильного тега перед тегом div, но сначала закрывая тег div. Это может не изменить внешний вид макета, но, безусловно, помешает проверке вашей разметки.

Хотя это может показаться очевидной проблемой, многие разработчики (включая меня) все еще время от времени пропускают тег title в разделе head. Если вы видите ошибку «отсутствует обязательный подэлемент HEAD», то вы знаете, что вам не хватает тега заголовка.

Если вы нашли этот пост полезным, пожалуйста, проголосуйте за него на Digg.