KAMWEB.RU - камчатский веб-креатив.
Статьи
О проекте
Участники
Статьи
Форум

Главная / Статьи / Валидность HTML

Валидность HTML

Может я не прав, и то, о чем я буду говорить, не имеет большого значения, но меня все же удивляет, почему мало кто придерживается стандарта HTML. Прошелся по нескольким очень известным порталам с целью проверки корректности HTML кода: ни один сайт не является валидным. Да, я знаю о том, что все ведущие производители браузеров стремятся добавить что-то свое, отступая от стандарта, чтобы сделанные под их браузеры документы корректно смотрелись только в их продукте. Но самое интересное, что по большей части сайты невалидные не потому, что они используют какие-то особенности браузеров, а просто не соблюдают стандартов. Более того, все делается так, чтобы корректно отображалось везде. Спрашивается: разве сложно в таком случае добиться правильности?


Оказывается, все достаточно просто. Как выяснилось при тестировании сайтов сервисом validator.w3.org большая часть ошибок - это отсутствующие в стандарте атрибуты тегов, а также нехватка атрибутов тегов. Случаи с недостающими тегами тоже встречаются, но гораздо реже. Чаще всего они возникают из-за лени дизайнера, а не потому, что кто-то не знал, что их нужно закрывать (логика лентяя: зачем ставить </p>, если следующий тег <p> закроет предыдущий автоматически). Та же лень заставляет оставлять значения атрибутов без кавычек, хотя по стандарту они должны быть практически везде.


Рассмотрим пример. Нам нужна прямоугольная область высотой 30 точек. По привычке пишем:


<div height="30"> текст </div>


На самом деле это неправильно. У тега div нет атрибута height, хотя, как оказалось, все браузеры его поддерживают. Как же быть, если нужна именно такая высота? Нет ничего проще. Нужно указать высоту в CSS стиле:


<div style="height: 30px;"> текст </div>


Отсутствие атрибута чаще всего возникает на тегах <img> и <script>. Согласно стандарту, атрибут alt для тега <img> является обязательным и, даже если к изображению не нужна никакая надпись, его все равно необходимо указать как пустую строку. Мне попадался форум, сделанный на форумном движке. Человек пр осто установил его и изменил пару картинок. Движок был написан грамотно в плане соответствия стандартам, и две картинки просто <уронили> всю правильность.


Еще одна категория невалидности, когда дизайнер не обращает внимания на понятия блочных и строковых тегов, а точнее на то, что блочные теги нельзя вкладывать в строковые. Вот пример неверной расстановки тегов:


<font size="2">
<p>параграф 1</p>
<p>параграф 2</p>
</font>


Здесь мы пытаемся блочный тег <p>, вложить в тег <font>, который можно применить только к строке. Выход прост. Нужно опять же определить контейнер, внутри которого установлен заданный шрифт:


<div style="font-size: 10pt;">
<p>параграф 1</p>
<p>параграф 2</p>
</div>


Если все же Вы решили сделать свой сайт <правильным>, следует учесть, что в сайт могут включаться сторонние куски кода, которые не удовлетворяют стандартам. Чаще всего это всевозможные счетчики. Каждый счетчик желательно проверить, и если он не соответствует стандартам, то попытаться самому откорректировать его. Это не всегда является возможным. По этой причине я, например, отказался от счетчика SpyLog. А вот у top.mail.ru счетчик правильный. В случае с денежкой Яндекса, я просто убрал ссылку, оставив только картинку.


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

Источник: Артем Глазков Перейти
Опубликовано: 20.10.2005

© KAMWEB.RU - Камчатский веб-креатив
По вопросам содержания сайта,
а также размещения информации
пишите через веб-форму.