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

http://users.skynet.be/mgueury/mozilla/download.html - я поненашенски не понимаю %)

Вот http://html-expert.org.ru/ самый нормальный валидатор. Сама прога на русском, а к ней в виде плагина валидатор (бесплатно все:D

Если кто-то знает лучше, дайте ссылку (только не буржуйскую :|

Link to comment
Share on other sites

  • 0

Столкнулся со следующей проблемой.

quot;-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

При валидации своего кода на http://validator.w3.org/check

получил ругань на примерно следующий код:

в новом окне

Тоесть валидатору не нравится атрибут target мол используйте Transitional вместо стрикт.

на htmlbook.ru, а именно http://www.htmlbook.ru/html/a.html - есть этот пример. скопировал оттуда код полностью, проверил на валидность - та же ошибка. У Влада висит иконка валидного HTML.

Собственно вопрос, где грабли?

Link to comment
Share on other sites

  • 0

атрибут target ? depricated в strict документах, а некоторые статьи Влада нужно уже давно поправить, чтобы они соответствовали времени :) И еще новых написать.. времени бы еще на это у него было :/

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0
Лучший валидатор - это браузер :) .. вы же не для валидатора сайт делаете, а для людей,

Наверно Вы правы...

Сейчас мои странички (сайтом их пока назвать трудно) в ИЕ, Опере и Мозилле смотрятся так, как нужно.

Решил прописать DOCTYPE и сразу столкнулся с проблемой "уползания" фонового рисунка для ячейки таблицы - попытки исправить ситуацию ничего не дают - либо в ИЕ все нормально, либо в Опере и Мозилле. Одновременно и там и там - ну никак...

З.Ы. А можно фоновый рисунок вставить так, чтобы он позиционировался от нижнего края ячейки, а не от верхнего? Что-то я не нашел пока нигде.

Спасибо

С уважением

Сергей

http://sk16.ru

Link to comment
Share on other sites

  • 0

Данный код не проходит валидации.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Привет!</title>
</head>
<body>
<p>привет!</p><br />
</body>
</html>

пишет:

Validation Output: 1 Error

Line 8, Column 20: document type does not allow element "br" here; missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre", "address", "fieldset", "ins", "del" start-tag

<p>привет!</p><br />

Что нужно подправить?

Link to comment
Share on other sites

  • 0
А есть русские валидаторы, а то я мало, что понимаю тут http://validator.w3.org/check?uri=http%3A%...lidator%2F1.654

Это самый валидатор из валидаторов)) Просто опыта ещё маловато, а когда будет побольше, уже ошибки такие допускать не будешь

Link to comment
Share on other sites

  • 0

» Подскажите почему сайт не проходит валидацию по RSS(кэш на запись включён)валидность сайта

witek, там написано что это веб-страница, а не канал.

и еще пишет что не найдена ссылка на канал даже. вот так.

Edited by panig
Link to comment
Share on other sites

  • 0
» Подскажите почему сайт не проходит валидацию по RSS(кэш на запись включён)валидность сайта

witek, там написано что это веб-страница, а не канал.

и еще пишет что не найдена ссылка на канал даже. вот так.

А не подскажите как решить сию проблему

Link to comment
Share on other sites

  • 0

» А не подскажите как решить сию проблему

witek, просто нужно добавить ссылка на rss в код. Ну или сразу ссылку в поле на том сайта сайте чтобы проверить.

Если есть конечно ссылка.

Edited by panig
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