Во времена массового внедрения HTML 4 и CSS (началось очень давно), консорциум W3C ввел понятие «валидность», то есть соответствие страницы принятым стандартам и рекомендациям W3C. С выходом XHTML валидность документа стала более чем обязательной. (В XML документ всегда «валиден», иначе он не будет парсится).
Был выпущен онлайновый валидатор http://validator.w3c.org/ а также множество валидаторов в виде отдельных приложений или плагинов к HTML-редакторам.
Суть валидности заключается в том что разметка страницы должна быть правильной с точки зрения синтаксиса HTML. Другими словами, deprecated теги и атрибуты HTML были признаны невалидными, и документ валидацию не проходил.
В XHTML условия валидности стали строже. Все теги должны быть парными, атрибуты обязательно заключаться в кавычки ит.д.
Полный список критериев валидности я приводить не буду, он далеко выходит за рамки данной статьи.
Что было потом
Чуть поздже валидацию взяли на вооружения вебмастера. Понятие валидность стало индексом качества работы. Другими словами, если ты делаешь невалидный документ то нет тебе места в вебе. Все принялись проверять на валидацию популярные сайты, сайты конкурентов и их работы.
Многие кичились, мол, «сайт Майкрософт невалиден, сайт Студии Лебедева невалиден, зато мо сайт валиден». Самые шустрые сумели впарить понятие валидности клиентам, и можно было массово наблюдать требование к верстальщикам делать валидные страницы.
Дальше, когдато уважаемый мной webmascon.com, придумал делать перепись студий которые делают валидные сайты, мол если валиден, значит очень хороший. К счастью, идея эта провалилась.
Что на самом деле
Реально же валидность никому ненужна кроме самих вебмастеров чтобы иметь возможность мерятся пиписькой и смотреть у кого сайт более валиден.
Также она ненужна браузерам, которые уже давно научились распарсивать ужасно кривой код и его нормально отображать. Невалидность для браузера это так, детский лепет.
Ненужна и пользователям, которые не видят различий между валидными и невалидными сайтами.
Ненужна и поисковым роботам, которые вообще все теги кроме логических (а атрибуты и подавно) считают мусором.
Так кому же она нужна? Нужна, разве что, роботам-парсерам, которые могли бы собирать контент с сайтов и не давились бы тегами потому как верстальщик Вася не поставил кавычку не там где нужно.
Вы еще верите в валидность? Тогда мы летим к вам....



декабря 16, 2006 в 7:18 pm
Для пользователя HTML проверка синтакса действительно не имеет значения, лишь бы смотрелось хорошо на максимальном количестве browsers.Для кодировщика HTML проверка синтаксиса показывает его квалификацию вообще и проф. пригодность в частности.
В перспективе, когда HTML устареет физически (морально он уже устарел), кодировщики обязаны будут соблюдать и без того элементарные правила синтаксиса языка разметки.
Меня вообще удивляет, почему вообще возникает вопрос "а стоит ли соблюдать синтаксис языка?". Интересно, а если бы системы управления базами данных взяли на себя смелость выполнять SQL-запросы с неправильным синтаксисом?
декабря 16, 2006 в 7:19 pm
С ХМЛ все ясно, там есть две "валидности": well-formed и valid. Первая означает, что все теги закрываются и т.п. Т.е. парсер не поймет ХМЛ, который не есть well-formed. Valid ХМЛ должен соответствовать в свою очередь какому-нибуть DTD или Schema.
С HTML ситуация несколько иная. По сути браузер захавает и отобразит любой ХТМЛ. Так вот стандарты w3c афаик существуют для того, чтобы один и тот же документ одинаково рендерился различными браузерами. По сути благородные цели. И все бы хорошо, если бы не реалии рынка. Поскольку не все браузеры одинаковы. И мало кто из них правильно поддерживает w3c, а некотороые некошерные браузеры ваще его игнорируют. Дела бы в этой области обстаяли намного лучше, если бы браузеры просто не открывали документы не соответствующие стандарту.
Имхо мода на "валидность" - это совсем неплохо. Т.е. есть надежда что разработчики браузеров и веб-документов начнут наконец соблюдать стандарты.
декабря 17, 2006 в 12:22 pm
Руся, +1
Валидность нужна как-раз таки для разработчиков браузеров и больше ни для кого.
Если горе-кодер кричит во все горло, что он пишет валидный код, а в реалии этот код отображается коряво в опере, то такой работник может смело убивать себя ап стену.
"Одинаковое отображение" является обязательным, но недостаточным условием. Достаточность - умение писать правильно, чтобы в случае перехода с html на xhtml (или не дай бог на xsl) кодер не кричал - "это все неправильно и вообще этот язык разметки признан Европейской ассоциацией защиты прав кодеров НЕ ПРАВИЛЬНЫМ".
Недавно столкнулись с проблемой.
Искали человека, знающего XSL.
Не тут-то было. Пачка умников с сертификатами и сотней валидных сайтов отправлялись в бобруйск, по причине абсолютного незнания и непонимания принципов работы связки XML+XSLT.
Вот вам результат валидного кода :))
Тот, кто скажет, как в одессе, что мол HTML, XHTML, XSLT это 2 большие разници. Хуй. Скажу я вам господа.
Лишь бы руки стояли, а принципы, они, сука, одинаковые.
Так выпьем же за светлое будущее, где каждый код будет валиден, все браузеры будут работать "одинаково", а w3c будет царем и богом правил и стандартов.
Аминь.
июня 15, 2008 в 12:23 pm
Вот из-за таких людей как авторы статьи и существуют проблемы у большинства веб-мастеров. Примерно такими же понятиями и оперирует MICROSOFT когда создает свой браузер IE. Соблюдение валидности-это соблюдение стандартов, а если каждый будет писать как захочет то получится не интернет, а большая,непонятная куча говна.
июня 15, 2008 в 3:05 pm
Костя, я повторюсь может.
На самом деле "валидный" сайт означает лишь то что его можно удобно парсить.
Больше никакой информации это свойство не несет
сентября 23, 2008 в 10:28 am
Автор статьи по сути правильно пишет, что "валидность никому ненужна кроме самих вебмастеров чтобы иметь возможность мерятся пиписькой и смотреть у кого сайт более валиден".
А вообще, если так реально посмотреть, то галочка от w3c на сайте - это престиж, я так думаю. Но, опять же, поймут его только веб-мастера, которые знают, что такое вообще это "w3c". Я сейчас пытаюсь перекинуть свой портал с html на xhtml, соблюдая валидность, но пока это не сильно получается. И делаю я это, откровенно говоря, в основном "для понта".
