В защиту HTML-валидности

Aug 20, 2011 11:34


Намедни был у нас в фирме на собеседовании верстальщик, а может и программист, мне, занятому своим делом, не разобрать, что там у меня за спиной. Так вот краем уха я уловил, что его спросили про валидную вёрстку, а он пренебрежительно хмыкает: «Отказываться оборачивать дивы в ссылки, чтобы получить значок,- да зачем это надо?» Я, конечно, мгновенно вскипел; ненавижу, когда люди бравируют нарушением правил (например, матерятся, воображая себя крутыми, или фыркают на «граммнаци», переходят улицу на красный свет, ну, или вот верстают так, «чтобы работало и поисковики были довольны»… Ар-р-р!!!).

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

Но если кому-то язык принципов непонятен, по невоспитанности или (проявлю понимание тонкой человеческой натуры) по неведению, я ведь могу и «разъяснить по рабочему», как претенциозно выражаются в РКРП.

Пример. Довелось мне после этого собеседования исправлять ошибку на одном из наших сайтов: в Webkit-браузерах и IE 9 не отображались результаты фильтрованного поиска. Сразу стало ясно, что они их и не получают, да и, для начала, не отправляют на сервер один из обязательно требуемых параметров. Где закавыка? Искать её в чудовищной мешанине HTML, CSS, JavaScript и PHP, большей частью не организованного даже в функции, не говоря уже о классах (паттерны программирования? щито?), размазанной по слабоструктурированному множеству файлов,- аццкая мука, требующая непредсказуемого времени (то, что такой, с позволения сказать, движок, богатый своими ошибками, как Анна Одинцова телом, есть сам по себе проблема с большой буквы «П», это отдельный вопрос). Поэтому я натравил на страницу W3C-валидатор (памятуя, что недавно проблема с вёрсткой в Opera решилась просто выставлением DOCTYPE (который, кстати, вопреки мнению анарховерстальщиков, есть не трюк, способствующий подобающему отображению, а декларация соответствия кода определённому стандарту)). Тот, вздохнув, вывалил две дюжины ошибок (в том числе, и обёртывание блоков-дивов в ссылки, ага). Поправить их все оказалось делом не таким уж скорым (найди в этой помойке, где там теги не закрыты, ага), а после этого внезапно DOM-дерево изменилось и валидатор нашёл ещё дюжину ошибок. После их устранения всё ожидаемо заработало.

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

стандарты, работа, HTML-вёрстка, мораль, грамотность

Previous post Next post
Up