Отправляет email-рассылки с помощью сервиса Sendsay

Заметки Дизайнера

  Все выпуски  

Валидаторы: пишем правильный код


Информационный Канал Subscribe.Ru


заметки дизайнера
35 (10.01.2003)
 
 
 

Валидаторы: пишем правильный код

 
 

Знаете ли вы, что существует способ легко и быстро находить ошибки в ваших страницах, добиваться похожего вида страниц в разных броузерах и заботиться о нестандартных пользователях (карманные компьютеры, текстовые броузеры, роботы поисковых систем...)? Знаете ли вы, как мало разработчиков (и крупных компаний!) в России используют то, что в других местах быстро становится обязательным шагом в процессе разработки сайтов? Эта заметка рассказывает о валидаторах, о пользе от их применения, и описывает достоинства и недостатки этих программ.

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

Но проблема в том, что для конкретной страницы разные броузеры (и даже разные версии одного и того же броузера) могут делать разные догадки, что в лучшем случае приведет к разному виду страниц; в худшем же случае, броузер запутается в своих догадках и повиснет (или закроется). Поэтому лучший способ добиться правильного и предсказуемого результата - это писать правильный код, и валидаторы помогают нам это делать.

Правильный код?

Язык веб-страниц, HTML, имеет свои правила. Стандарты HTML 4.01 и XHTML 1.0 определяют не только допустимые элементы языка (<p>), их функции (определяет абзац документа) и свойства (например, align - выравнивание текста), но и другие стороны документа, которым нужно следовать:

  • допустимые кодировки HTML-документа (например, Unicode);
  • как однозначное определить стандарт, которому соответствует страница;
  • как включить в текст специальные символы (&gt; для >) и символы, которых нет в кодировке документа;
  • типы данных (например, разные способы указания цвета);
  • структуру страницы и порядок следования основных элементов;
  • обязательные свойства; и
  • вложенность элементов (где может находиться каждый конкретный элемент).

Из этого списка, два последних пункта нарушаются чаще всего - хотя бы потому, что броузеры "угадывают", например, что сиротливо стоящий в тексте документа <td> на самом деле представляет из себя таблицу. Но не стоит обманывать себя - ни один броузер не обязан правильно отображать документ, который не соблюдает хотя бы одно из этих правил.

Валидатор

Стандарты HTML пишутся обычным, человеческим языком - чтобы их было легко читать и понимать нам, людям. А для компьютеров каждый стандарт имеет свой DTD (document type definition), машинно-читаемый файл, который в формализованном виде описывает почти все из правил стандарта. Для интересующихся, вот DTD HTML 4.01 (строгий вариант).

Валидатор (validator) - это программа, которая проверяет некий документ на соответствие стандарту. В нашем случае, валидатор получает страницу HTML, определяет соответствующий DTD, загружает его и проверяет страницу на следование букве закона.

Валидаторы есть прямо в Интернете, такие как валидатор W3C, который может проверить определенный адрес или страницу с жесткого диска. Это бесплатный, но и относительно медленный вариант. Кроме этого, есть и программы-валидаторы, например валидатор CSE, который работает куда быстрее, проверяет больше вещей, содержит много настроек и имеет встроенный редактор для исправления ошибок "по горячим следам". Есть и много других валидаторов.

А зачем?

  1. Проверка работы: Сейчас (2003), две версии одного и того же броузера используются примерно 70-90% посетителей (на разных сайтах), но остаток делится между десятком разных броузеров, несколькими операционными системами, и размерами экранов с разницей в порядок (160 пикселей и меньше на карманных компьютерах, сотовых телефонах и прочих мелких устройствах, 1920 и больше - на хорошем мониторе) - поэтому проверить страницу просто перебором всех возможных комбинаций уже нереально. Реально же используемый способ - проверка на нескольких основных броузерах и ОС и написание как можно более стандартного и правильного кода в надежде на то, что остальные броузеры правильно реализуют стандарт. Выявляя ошибки и неточности, валидатор помогает писать правильный код.
  2. Поиск ошибок: валидатор выявляет как мелкие огрехи (такие, например, как использование & в ссылках) и опечатки, так и более серьезные проблемы в структуре страницы. Учитывая то, что проблема в отображении страницы может быть в HTML-коде страницы, или в описании стилей, или даже в самом броузере, валидатор помогает исключить HTML-код как возможный источник проблем. В нескольких серьезных дискуссионных листах по веб-дизайну участники просто не будут заниматься поиском проблем на чужих страницах, если валидатор находит на них ошибки.
  3. Совместимость вперед: разнообразные фокусы, которые помогают страницам выглядеть правильно в существующих броузерах, перестанут работать в их следующих версиях. Единственный способ добиться нормального результата (кроме изобретания все новых и новых фокусов для каждого нового броузера) - это писать код, соответствующий стандарту, а валидатор поможет убедиться в том, что страница действительно соответствует своему DTD.
  4. Улучшение доступности: некоторые валидаторы проверяют документ на соответствие дополнительным рекомендациям, которые проверяют доступность страниц для людей с ограничениями, поисковых роботов и неграфических броузеров вообще. Например, проверяется наличие alt-свойств для изображений, описания таблиц, и так далее.

Необходимо, но не достаточно

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

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


"Заметки" (С) 2001-03 MaxVT, все права сохранены, etc.
пишите письма: maxvt@yahoo.com
письма и присланные материалы могут быть опубликованы. Если
вы не хотите гласности, то укажите это в теле или заголовке письма.


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное