Jump to content
  • 0

валидация документов


Vlad
 Share

Question

Чтобы не задавали вопросов, что такое валидация и чего она дает, написал данный текст. Если у кого возникнут дополнительные доводы, не упомянутые ниже, добавляйте.

Валидацией будем называть проверку документа на соответствие веб-стандартам и выявление существующих ошибок. Соответственно, валидным является такой веб-документ, который прошел подобную процедуру и не имеет замечаний по коду. Код веб-страницы должен подчиняться определенным правилам, которые называются спецификацией, ее разрабатывает W3 Консорциум (www.w3c.org) при поддержке разработчиков браузеров.

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

Плюсы валидации

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

Тенденции

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

Не стоит забывать и об XML (eXtensible Markup Language, расширяемый язык разметки). Этот язык становится стандартом де-факто для хранения данных и обмена информацией между разными приложениями. Синтаксис XML более жесткий, чем HTML и не прощает малейших ошибок. В каком-то смысле XML похож на языки программирования, в которых программа не будет скомпилирована, пока код не отлажен. HTML является первой ступенькой к изучению XML, поэтому приучая себя писать код по всем правилам, будет легче перейти к следующему этапу развития HTML.

Мода на валидацию

Как это не удивительно, но среди веб-разработчиков тоже существует своя мода. Текущая мода ? создавать валидные документы и вывешивать специальный значок в виде картинки, что сайт соответствует спецификации HTML. Подобная тенденция затронула даже заказчиков сайтов и при написании технического задания на разработку сайта некоторые из них специально оговаривают, чтобы сайт был выполнен по веб-стандартам.

Косвенные преимущества

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

Минусы валидации

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

Браузеры

Разработчики браузеров не всегда следуют спецификации и в некоторых случаях трактуют код не по заданным правилам, а по-своему. В конечном итоге это приводит к тому, что веб-страница, которая правильно (т.е. так, как и задумывали разработчики) отображается в одном браузере, выводится с ошибками в другом. Следование спецификации в подобных случаях, скорее всего, отпугнет пользователей некоторых браузеров. К примеру, Internet Explorer (IE) в настоящее время занимает лидирующее положение среди браузеров, но при этом поддерживает спецификацию HTML и CSS хуже, чем Firefox и Opera. Ясен перец, что пользователи IE при посещении сайта выполненного по всем стандартам, но не учитывающего специфику этого браузера, увидят неприглядную картину.

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

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

Резюме

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

Link to comment
Share on other sites

  • Answers 84
  • Created
  • Last Reply

Top Posters For This Question

Recommended Posts

  • 0

Владу:

Сейчас информация должна обновляться всё быстрее, поэтому растёт потребность редактировать её в виде WYSIWYG или по крайней мере в виде вроде Wiki, а для отображения использовать CMS. Поэтому, если сервер сайта позволяет, и Вам есть что сказать, лучше построить сайт на CMS, которую настроить на выдачу валидного кода. В дальнейшем Вы сможете сосредоточиться исключительно на содержимом сайта.

В некоторых специальных случаях такой подход неприменим. В частности, у меня есть веб-сайт, работающий на роутере D-Link DIR-320 (со спецпрошивкой) в качестве сервера. Ни о каких веб-технологиях облегчающих рутину, там говорить не приходится. Там нет ни CMS, ни ASP.NET, ни PHP, ни даже SSI. Так что при необходимости поддерживать единый дизайн сайта, приходится повторять его на каждой веб-странице. Вот тут возможны ошибки в коде, но я всё равно стараюсь делать его валидным, поскольку это некоторая гарантия, что человек, попавший на сайт, не будет матюгаться, а сможет получать необходимую ему информацию.

Я выбираю валидный код, и считаю, что если средства, облегчающие рутину (SSI, PHP, CMS), выдают невалидный код, значит двойка админу.

Edited by Webr
Link to comment
Share on other sites

  • 0

А вот как доказать заказчику что их html5 макет валиден? html5-валидатора же нет пока... и вот везде слышу - используйте <! DOCTYPE HTML> и все.... а как тогда валидность контролировать... хз..

Link to comment
Share on other sites

  • 0

Я всё-таки посоветую офлайновый. Как минимум, для HTML5, где он хотя бы более-менее оперативно меняется вслед за изменениями спеки. И заведомо на стандартном парсере, а не фиг пойми на чем, как FF-овский "HTML Validator" с дефолтной настройкой (который на Tidy)...

Link to comment
Share on other sites

  • 0

Это не нужно. Валидатору безразлично, в чем писан код. А при написании кода полезнее думать о его логичности и осмысленности, а не о формальной правильности расстановки закорючек. С ростом опыта логичный и осмысленный код начинает получаться валидным автоматически :).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy