Web стандарты. Зачем нужен «Valid HTML»?

Владимир | | CSS, HTML.

Последнее время тема web стандартов стала очень актуальной. Во всяком случае, я постоянно встречаю статьи на эту тему. Причем больше всего разногласий вызывают не сами стандарты, а вопрос: «Нужно ли их придерживаться?». cda4ebf1-2e7b-481d-8214-e2567e86bc2e

В первую очередь давайте посмотрим, как узнать соответствует разметка на сайте стандартам или нет. Сделать это можно двумя способами. Первый – с помощью онлайновых служб, например, validator.w3.org, jigsaw.w3.org/css-validator. Второй – использовать специальные программы. Лично я использую HTML Validator (плагин для Firefox). На мой взгляд, это самый удобный вариант. Не нужно ничего запускать и никуда заходить, достаточно просто взглянуть на значок в правом нижнем углу браузера (рис.1).

Значок HTML Validator

Рис.1. HTML Validator показывает, что ошибок нет.

Но вернемся к нашей теме.
На сегодня сложилась довольно интересная ситуация. С одной стороны существуют web стандарты и спецификации (например, XHTML 1.0, HTML 4.01, CSS 2.0 и т.д.), с другой – миллионы сайтов, которые этим стандартам не соответствуют. Почему так получилось – отдельная история. На мой взгляд, основная причина в том, что во времена появления интернета никто не думал о том, как широко он распространиться. История развития Сети вещь безусловно интересная и поучительная, но гораздо важнее вопрос: «Использовать ли стандарты в новых проектах и есть ли смысл переделывать старые?».

Давайте разбираться. Думаю, все понимают, что создание сайта в соответствии со стандартами требует, как минимум, знания этих стандартов и некоторого количества времени на проверку и исправление ошибок (а время – это деньги). Кроме того, существуют крупные сайты, которые не соответствуют стандартам, но при этом абсолютно правильно и, самое главное, одинаково отображаются во всех широко распространенных браузерах (IE, Mozilla, Firefox, Opera). Например, на странице с результатами поиска Google, HTML Validator находит 12 ошибок и выдает 221 предупреждение (если используется проверка с помощью HTML Tidy). Кроме того, соответствие стандарту не означает, что сайт будет хорошо выглядеть или с ним будет удобно работать. Это не означает даже того, что сайт будет одинаково отображаться во всех браузерах.

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

Но не будем спешить, и посмотрим на проблему с другой стороны.
Интернет и все связанные с ним технологии непрерывно развиваются. Появляются новые браузеры. Как обеспечить, чтобы сделанный сегодня сайт правильно отображался в будущем?
Ведь посетитель не очень обрадуется, если увидит сообщение: «Для просмотра сайта нужен браузер ххх версии ууу».
А стандарты как раз и предназначены для решения этой проблемы. В идеале по полю DOCTYPE любой браузер должен однозначно определить, как отображать данную страницу.

Теперь о знании самих стандартов. Исходя из собственного опыта, могу сказать, что сделать страницу, которая соответствует всем стандартам, может человек даже с базовыми знаниями HTML и CSS. При этом постоянно сверяться с текстом стандарта не нужно. Тот же HTML Validator подсвечивает все ошибки и подсказывает, как их исправить. Конечно, если сделать страницу в Word, то исправлять придется долго (на разметку Word’а страшно смотреть:-)). Кроме того, по моим наблюдениям, у сайтов, которые соответствуют стандартам, html разметка читается значительно легче, а это упрощает и разработку, и поддержку сайта, особенно если страницы создаются динамически. К тому же, большинство web стандартов направлены на разделение содержания (html файл) и оформления (css файл). Если вы хотите увидеть, что это дает, зайдите на www.csszengarden.com. Думаю, комментарии тут не нужны.

Что касается ограничений, накладываемых стандартами. Я не знаю примеров, когда использование стандартов вынудило бы ограничить функциональность сайта или ухудшить его внешний вид. Более того, далеко не все браузеры поддерживают самые передовые стандарты. Взять тот же CSS 2.1, его 100% поддержку не обеспечивает ни один браузер (по данным http://www.webdevout.net/browser-support#css), а ведь уже есть третья версия этой спецификации.

Кроме того, не стоит забывать, что сайт просматривают не только с помощью обычного браузера. На сайт могут заходить поисковые роботы, которые «видят» его текстовый вариант. Для людей с ограниченными возможностями существуют программы чтения с экрана, которые должны не только выбрать нужную информацию, но и прочитать её в правильном порядке. Наконец есть устройства с «ограниченными возможностями» (КПК, телефоны), их браузеры также должны корректно отображать сайт.
При таком количестве разнообразных устройств общие стандарты, пожалуй, единственный способ обеспечить их согласованную работу.

Что касается этого сайта, то при его разработке я старался придерживаться стандартов. HTML Validator не выдает ошибок, если при проверка выполняется с помощью HTML Tidy. SGML Parser (этот метод используется на validator.w3.org) находит несколько ошибок, но большинство из них находятся в коде кнопок счетчиков, а менять его я не хочу (большинство служб запрещает это делать).

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

Удачных проектов.

Постовой

Учеба в Одессе