Как стать автором
Обновить

Скоростная валидация (на примере сайта habrahabr.ru)

Время на прочтение2 мин
Количество просмотров964
Валидация. О её достоинствах/недостатках, необходимости/ненужности, актуальности/неактуальности и прочем, и прочем… можно спорить бесконечно :) Для себя я вывел одно неоспоримое правило (очень простое): когда я вижу в правом нижнем углу Firefox'а такой значок —

валидацию не прошёл

я точно могу знать, что ошибка где-то в незакрытом тэге, некорректном расположении блоков или, например, неправильно названном атрибуте… или ещё в чём-то, что реально влияет на производительность/функциональность/отображение (нужное подчеркнуть). У меня не возникает ленивых размышлений из серии: «А, ну это ж валидатор… Что-то там ему опять не понравилось… Можно забить».

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

Но вернёмся к нашему заголовку...

Итак, открываем главную страницу Хабрахабра — и видим:

8 ошибок/0 предупреждений

8 ошибок (я использую SGML parser). В принципе, неплохо. Оно и понятно, ресурс делался людьми, мягко говоря, понимающими, разбирающимися… одним словом, профессионалами.

Дальше мне стало просто интересно, что же это за ошибки такие и насколько они «необходимы»:

исходный код

т.е. все ошибки, по сути, содержатся в блоке, вставляющем Javascript. Что характерно, во всех остальных подобных блоках — всё отлично. Самое главное: исправить их можно было бы в буквальном смысле «в два счёта»:

1) добавляем необходимый атрибут type="text/javascript"
2) заключаем содержимое тэга в CDATA (насколько я понимаю, так оно и положено, ведь валидатор обрабатывает только html — ну, SGML, если быть точным — всё остальное от него должно быть скрыто)
3) ВСЁ!

Также есть один непроставленный alt для картинки с красноречивым классом «kill-ie-please» :) Ну, тут всё и того проще…

Предвосхищая множество недоумевающих комментариев из серии: «И что?!!» Отвечаю: ничего. Это просто очередная демонстрация как исчезающе малое количество действий может приводить иногда к значительным результатам. И как даже на таких уважаемых ресурсах этим предпочитают пренебречь…

Повод к размышлению, так сказать.

PS: ну и если я завтра, открывая по привычке любимый ресурс увижу внизу справа белую галочку на салатово-зеленом фоне — опять же, буду считать, что не зря это всё написал :)
Теги:
Хабы:
Всего голосов 67: ↑47 и ↓20+27
Комментарии64

Публикации

Истории

Ближайшие события

19 марта – 28 апреля
Экспедиция «Рэйдикс»
Нижний НовгородЕкатеринбургНовосибирскВладивостокИжевскКазаньТюменьУфаИркутскЧелябинскСамараХабаровскКрасноярскОмск
22 апреля
VK Видео Meetup 2025
МоскваОнлайн
23 апреля
Meetup DevOps 43Tech
Санкт-ПетербургОнлайн
24 апреля
VK Go Meetup 2025
Санкт-ПетербургОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
14 мая
LinkMeetup
Москва
5 июня
Конференция TechRec AI&HR 2025
МоскваОнлайн
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область