Валидность кода – что это, и как ее проверить? Зачем нужен валидный код и как устранить ошибки валидации Проверить страницу на ошибки.

Влад Мержевич

Для проверки веб-страниц на наличие ошибок и замечаний существует множество путей и способов. Условно они делятся на онлайновые и локальные. Онлайновые предназначены для проверки страниц с помощью браузера через Интернет, а локальные используются для проверки документов на текущем компьютере. Далее рассмотрим популярные методы валидации документов.

validator.w3.org Установка расширения

После скачивания файла установить расширение можно несколькими способами.

1. Через менеджер расширений

Запустите Firefox и откройте меню Инструменты > Расширения . Перетащите мышью загруженный файл (он имеет расширение xpi) в открывшееся окно. Далее расширение будет установлено автоматически.

2. С помощью открытия файла

Выберите в меню Firefox пункт Файл > Открыть файл... и укажите путь к файлу с расширением, дальнейшие действия браузер выполнит сам.

3. Копирование файла в папку extension

Откройте папку на диске, где установлен Firefox (к примеру c:\Program Files\Mozilla Firefox) и найдите в ней подпапку extension, в которую скопируйте расширение. После запуска браузера дальнейшая установка пройдет самостоятельно.

Все приведенные методы установки требуют перезагрузки браузера после установки расширения. Работа HTML Validator начинается сразу же после повторного запуска Firefox.

Если указанные способы по каким-либо причинам не помогли, вы можете обратиться на сайт поддержки браузера Mozilla Firefox и прочитать обо всех возможных методах установки расширений по адресу
http://forum.mozilla-russia.org/doku.php?id=general:extensions_installing

Использование HTML Validator

При открытии веб-страницы HTML Validator начинает сразу же свою работу, и результат проверки отображается в строке состояния, в ее правом нижнем углу в виде небольшой картинки. Изображение зависит от статуса проверки и показано на рис. 14.6.

Рис. 14.6. Виды картинок, отображаемых при проверке документа

Кружок с галочкой (рис. 14.6а) показывает, что документ валидный, желтый треугольник с восклицательным знаком (рис. 14.6б) - по коду имеются замечания, которые могут быть исправлены автоматически. А красный кружок с крестиком (рис. 14.6в) предупреждает, что есть серьезные ошибки.

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

Рис. 14.7. Контекстное меню с пунктом выбора исходного кода

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

Рис. 14.8. Результат работы расширения HTML Validator

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

Если подробнее, то я в деталях опишу, как и какими программами проверить html код на ошибки, что такое Консорциум Всемирной паутины, который более известный под аббревиатурой W3C и дам определение важным терминам. Предоставляемая информация в статье поможет вам не только проверять страницы сайтов на корректность, а и конкретнее разобраться с понятием валидации в общем. Давайте начнем!

Каждой программе нужно двойное В: валидация и верификация

Каждый написанный программный код проходит проверку корректности семантики и логики связей объектов. Если использовать терминологию, то это называется валидация и верификация. Их используют во многих областях IT: программирование, сайтостроение, тестирование и т.д.

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

Итак, валидация – это проверка созданного документа с кодом на наличие ошибок в написании элементов, соответствие мировым единым стандартам, которые установлены в W3C, и прописанным спецификациям самого языка.

При помощи проверки кода на валидность, разработчик может исправить найденные так скажем «ляпы» среди написанного текста. Для большей наглядности я перечислю некоторые из них:

  • Неверно написанные теги, атрибуты или свойства;
  • Поставлены лишние скобки;
  • Обнаружен не закрытый элемент;
  • Не указан или неверно указан тип ;
  • Ошибочно вложены теги;
  • Нет указания обязательных атрибутов.

Теперь рассмотрим верификацию.

Верификация – это проверка выполнения всех норм качества, реализации требуемых инструментов и методик, а также их корректное взаимодействие друг с другом. В общем, при помощи верификации проверяют код на соответствие установленным критериям выполнения. Сам по себе процесс связан поддержанием соответствующего контроля качества конечного продукта.

С какой целью существует Консорциум Всемирной паутины?

W3 Консорциум – это целая организация, специализирующаяся на разработке и внедрении единых стандартов для интернет-ресурсов и в целом. Все принятые стандарты называются W3 рекомендациями и внедряются как во все технологические решения, так и в веб-сервисы.

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

W3C также выпускает свои пакеты программ, среди которых есть и validator.w3.org. Это один из наиболее известных сервисов для проверки валидности кода.

Сайт validator.w3.org поддерживает проверку программ в трех режимах: онлайн-режим проверки вписанного кода в диалоговое окно, валидация по ссылке на ресурс и проверка загруженного файла.

А теперь подробнее познакомимся с работой в данном сервисе.

  • Если ваш интернет-магазин, блог или другой вид веб-ресурса уже опубликован в интернете, то вам не составит труда просто вставить в отведенное диалоговое окно адрес и нажать на кнопку «Check».
  • На начальной стадии создания своего сайта проверить его на валидность можно при помощи загрузки самих файлов. Стоит указать путь к файлу и все также нажать на кнопку «Check».
  • Иногда возникает необходимость проверки определенной части кода. Для этого существует третий режим проверки. Вставьте или введите нужную часть программного текста в диалоговое окно и отправьте его на проверку.

Во всех трех случаях при успешной проверки ресурса и не обнаружении каких-либо ошибок окно с результатом будет подсвечиваться зеленым цветом, в противном случае – красным цветом и также будет написано количество найденных предупреждений и ошибок.

Расширений мне, побольше!

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

Так, на сцене появляется HTML Validator для Firefox и . Так как данные браузер занимают почетные места среди лидеров, всемирная организация создала под них встраиваемый валидатор HTML Validator. Он разработан по принципу сайта validator.w3.org, однако имеет явное преимущество – функционирует без подключения к сети.

Установить представленное расширение можно тремя способами:

  • Через привычную нам панель расширений;
  • Через указания пути документа с расширением;
  • Загрузкой «в лоб». В системных файлах нужно найти каталог Firefox (допустим C:\Program Files\Chrome или C:\Program Files\Mozilla Firefox), а в ней подкаталог extension, куда и копируется расширение.
  • После повторного запуска браузера, расширение вступит в силу.

    HTML Validator очень прост в использовании. Он не работает на русском языке, однако обладает интуитивно понятным интерфейсом.

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

    Просмотреть код можно сразу в браузере при помощи функции «Просмотр исходного кода страницы» или горячей клавиши F12.

    Еще немного программ для вадидации

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

    А теперь я хочу добавить небольшой бонус в виде описания одного онлайн-сервиса, который проверяет код всех популярных веб-языков, снабжен конвертером и многими другими полезными вещами. Это сайт http://www.freeformatter.com . Он проверяет как html-текст, так и даже запросы на XPath.

    Производит несколько проверок Вашего кода. Основные из них:

  • Валидация синтаксиса - проверка на наличие синтаксических ошибок. является корректным синтаксисом, несмотря на то, что не является допустимым HTML-тэгом, так что проверка синтаксиса является минимально полезной для написания хорошего HTML.
  • Проверка вложенности тэгов - тэги должны быть закрыты в обратном порядке относительно их открытия. Например, эта проверка отлавливает ошибки с неправильно закрытыми .
  • Валидация DTD - проверка соответствия Вашего кода указанному Document Type Definition. Она включает проверку названий тэгов, атрибутов, и «встраивания» тэгов (тэги одного типа внутри тэгов другого типа)
  • Проверка на посторонние элементы - проверка выявляет все, что есть в коде, но отсутствует в DTD. Например, пользовательские тэги и атрибуты.
  • Имейте ввиду, что это логические проверки, и не важно как реализован валидатор. Если хотя бы одна из проверок не проходит успешно, то HTML считается невалидным. И в этом заключается проблема.Аргументы Основным аргументом за валидацию HTML является обеспечение кроссбраузерности. Каждый браузер имеет свой парсер и «скармливать» ему то, что понимают все браузеры - это единственный путь быть уверенным, что Ваш код будет работать правильно во всех браузерах. Поскольку каждый браузер имеет свой механизм коррекции ошибок HTML Вы не можете полагаться на невалидный код.

    Основным аргументом против валидации является то, что она слишком строгая и не соответствует тому, как на самом деле работают браузеры. Да, HTML может быть невалидным, но все браузеры могут обрабатывать некоторый невалидный код одинаково. Если я готов взять на себя ответственность за неправильный код, который я пишу, то я не должен беспокоиться о проверке. Единственное, о чем я должен заботиться - это чтобы оно работало.

    Моя позиция Это один из немногих случаев, когда я публично говорю о своей позиции по отношению к чему-нибудь. Я всегда был среди противников валидации, основываясь на том, что валидатор слишком строг, чтобы быть практичным в реальных приложениях. Есть вещи, которые поддерживаются большинством браузеров ( в , после ), которые являются невалидными, но иногда очень необходимы для правильной работы.

    Вообще, моей наибольшей проблемой валидации является проверка #4 (на посторонние элементы). Я сторонник использования пользовательских атрибутов в HTML тэгах для хранения дополнительных мета-данных, относящихся к определенному элементу. В моем понимании, это, например, добавить атрибут foo, когда у меня есть данные (bar), которые мне надо ассоциировать с определенным элементом. Иногда люди перегружают существующие атрибуты для этих целей только для того, чтобы пройти валидацию, несмотря на то, что атрибут будет использовать не по назначению. Для меня это бессмысленно.

    Секрет браузеров заключается в том, что они никогда не проверяют соответствие HTML-кода указанному DTD. Doctype, который Вы указали в документе, переключает парсер браузера в определенный режим, но это не приводит к загрузке doctype и проверке кода на соответствие ему. То есть, парсер браузеров обрабатывает HTML с некоторыми допущениями невалидности, вроде самозакрывающихся тэгов и блочных элементов внутри строковых (я уверен, что есть и другие).

    В случае пользовательских атрибутов, все браузеры парсят и распознают синтаксически корректные атрибуты как допустимые. Это делает возможным получить доступ к таким атрибутам через DOM с помощью Javascript. Так почему я должен беспокоиться о валидности? Я буду продолжать использовать свои атрибуты и я очень рад, что HTML5 формализует их.

    Лучший пример технологии, которая приводит к невалидному HTML, но имеет огромное значение, - это ARIA . ARIA работает с помощью добавления новых атрибутов в HTML 4. Эти атрибуты предоставляют дополнительное семантическое значение HTML-элементам и браузер способен передать эту семантику вспомогательным устройствам для помощи людям с ограниченными физическими возможностями. Все основные браузеры сейчас поддерживают разметку ARIA. Однако, если Вы будете использовать эти атрибуты, у Вас будет невалидный HTML.

    Насчет пользовательских тэгов - я думаю, что в добавлении на страницу синтаксически корректных новых тэгов нет ничего плохого, но я не вижу особого практического смысла в этом.

    Чтобы прояснить мою позицию: я считаю, что проверки #1 и #2 являются очень важными и должны проводиться всегда. Проверку #3 я тоже считаю важной, но не столь, как первые две. Проверка #4 очень сомнительна для меня, так как она задевает пользовательские атрибуты. Я считаю, что, как максимум, пользовательские атрибуты должны быть помечены как предупреждения (а не ошибки) в результатах проверки, чтобы была возможность проверить, не ошибся ли я при вводе названия атрибута. Отметка пользовательских тэгов как ошибок, возможно, хорошая идея, но тоже имеет некоторые проблемы, например, при встраивании содержимого в другой разметке - SVG или MathML.

    Валидация ради валидации? Я считаю, что валидация ради валидации - это крайне глупо. Валидный HTML означает только лишь то, что все 4 проверки прошли без ошибок. Есть несколько важных вещей, которых не гарантирует валидный HTML:
    • валидный HTML не гарантирует accessibility;
    • валидный HTML не гарантирует хороший UX (user experience);
    • валидный HTML не гарантирует функционирующий сайт;
    • валидный HTML не гарантирует корректное отображение сайта.
    Валидный HTML может служить поводом гордиться самим собой, но само по себе это не является показателем мастерства. Ваш валидный код не всегда лучше выполняет свои функции чем мой невалидный.Валидация HTML5 Валидация HTML5 исправит некоторые проблемы, которые были с валидацией HTML 4. Она явно позволяет употребление пользовательских атрибутов (они должны начинаться с data-). Это позволит моему коду пройти проверку на валидность для HTML5. Конечно, есть некоторые моменты в валидаторе HTML5, с которыми я не согласен, но я считаю, что он намного больше соответствует практическим потребностям чем валидатор HTML 4. Заключение Я считаю, что некоторые составляющие HTML-валидации крайне важны и полезны, но я не хочу быть ее заложником, потому что я использую свои атрибуты. Я горжусь тем, что я использую ARIA в моей работе и мне безразлично то, что это считается невалидным кодом. Опять же, из четырех проверок валидатора у меня есть проблемы только с одной. И HTML5 валидатор избавит меня от большинства этих проблем.

    Я знаю, что для многих это спорная тема, поэтому, пожалуйста, воздержитесь от чисто эмоциональных высказываний в комментариях.

    UPD: спасибо за карму, перенес в тематический. Повторю слова автора: я понимаю, это спорная тема, но пожалуйста, воздержитесь от чисто эмоциональных комментариев, приводите аргументы.

    Всем привет! Сегодня я вам расскажу, что такое валидность кода сайта, зачем она вообще нужна и как ее проверить и исправить с помощью различных онлайн сервисов валидаторов W3C (html, CSS). Итак, начнем, пожалуй, с теорий. Что собственно вообще представляет из себя данный термин?

    Валидность кода – это степень соответствия кода вашего сайта принятым международным нормам, сокращенно W3C. Иными словами, давным-давно было принято ряд общих правил по написанию кода, которые в случае не соответствия нормам W3C может повлечь за собой неправильное отображение вашего сайта в различных компьютерных и мобильных браузерах. Также в некоторых особо редких случаях это может повлечь к санкциям со стороны поисковиков, а также наложению различные фильтров, которые могут замедлить развитие вашего проекта. Но это бывает очень редко, так как даже у самого Яндекса и Google код не на 100% валидный, то есть в нем присутствуют ошибки.

    Собственно, у вас наверняка возник вопрос: зачем вообще мне нужно тратить свое собственное время на правку кода своего сайта, чтобы он стал валидным, если все равно он ни на что не влияет? Как я уже писал выше, это нужно для того, чтобы ваш сайт корректно (без багов и ошибок) отображался в различных браузерах. На сегодняшний день, как вы знаете, все больше и больше приобретают популярность различные виды телефонных моделей: iPhone, Android ,Смартфон и другие, которыми пользуется уже все население земли. Сегодня у каждого третьего человека есть свой мобильный телефон, через который он может выйти в сеть и посетить ваш сайт. Это примерно в 20-30 раз больше тех, у кого есть свой собственный компьютер, ноутбук, планшет.

    То есть суть вы поняли. Аудитория людей, которая пользуются мобильными устройствами самая большая, на которую и надо ориентироваться. А если еще вспомнить, сколько за последние 10 лет вышло мобильных устройств и сколько еще продолжает выходить каждые полгода новых моделей, то становится ясно, что такой трафик (посетителей) упустить будет очень глупо. К тому же новые технологии на месте не стоят, и с приходом обновленного языка html5 ваш старый сайтик сделанный еще в 200_г может оказаться вообще, так сказать, одной большой кряказяброй на фоне всеобщей сети.

    Как проверить валидность кода html и CSS своего сайта?

    В интернете такие сервисов предостаточно, правда, они практически все кривые, да еще и на английском языке, где даже с будет не очень легко понять, о чем идет речь. Но все же есть один из них более нормальный, который не только дает пояснение, но еще и показывает в какой строчке кода находится ошибка. Итак, знакомитесь — jigsaw.w3.org .

    Зайдя на этот сайт, вы можете проверить код своего сайта на валидность тремя способами. Во вкладке «проверка по URI» впишите адрес вашего сайта, и сервис выдаст вам весь список ошибок найденных в кодах только на главной странице! Если же вы, как и я, не очень разбираетесь в кодах и при просмотре кода своего сайта не можете найти ту строчку, которую надо исправить, то вы можете просто загрузить свой файл CSS-стилей (оформление сайта) во вкладке «проверить загруженный файл».

    В таком случае вы будете уже знать, в каком файле надо вправлять код. Кстати, можно еще проще поступить. Если у вас сайт стоит на каком-нибудь движке, например на , то вам будет достаточно зайти в админке блога во «внешний вид» «редактор» выбрать файл, например, заголовок (header.php), скопировать код и вставить его на сервисе во вкладке «проверка набираемого текста». Я лично так проверял свой блог.

    Итак, на моем сайте лично нашлось 44 ошибки, что очень мало по сравнению с другими сайтами. Кстати, у дядюшки Яндекса аж 155 ошибок, ай-ай-ай. Ну да ладно, не будем о грустном.

    Чтобы вам было легче исправлять данные неточности в кодах, давайте-ка я покажу вам лично несколько примеров на своем блоге. Для начала обратите внимание на надпись Line 26. Это указывается строчка кода. Чтобы быстрее всего ее найти, поместите данный код, который вы вставляли в сервисе jigsaw.w3.org в любой html редакторе отображается надписи строк.

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

    Пример 1 . Тут надо убрать кавычки выделенные красным . Они не должны быть внутри кода, где они уже и так есть в начале и в конце.

    Пример 2 . В конце кода не хватает закрывающего тега /> . Заметьте, если вверху кода есть еще одна строчка тоже с незакрытым тегом, то ее так же надо закрыть, а то ошибка так и не исчезнет.

    Пример 3 . Тут надо просто убрать повторяющуюся строчку: « href=»"> .

    Кстати, следует исправлять ошибки в первую очередь выделенные именно крестиком, а не восклицательным знаком, так как эти ошибки не так важны. Также перед тем как что-то исправлять, сделайте , так как с большой вероятностью вы можете поломать его. После того как полностью почистите код, рекомендую посмотреть как отображается ваш сайт в разных браузерах на разных платформах ПК и телефонов. С этим вам может помочь бесплатный онлайн сервис browsershots.org .

    Как еще можно быстро проверить валидность кода html и CSS своего сайта?

    Если вам было мало jigsaw.w3.org, то вот вам еще пара дополнительных сервисов для проверки валидности html кода сайта: www.validome.org , watson.addy.com ,

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

    Валидация - это проверка чего-то на соответствие стандартам (требованиям). В контексте вебмастеров валидация сайта означает проверка его кода на корректность и ошибки . Другими словами: не должны встречаться непонятные теги, конструкций и естественно не должно быть ошибок html.

    На что влияет валидация

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

    2. Валидация также можно повлиять и на траст сайта для поисковых систем, а значит и на позиции сайта тоже. Однако говорить про то, что валидный html код является серьезным фактором ранжирования нельзя. Корректная верстка лишь один из многочисленных факторов, который рассматривается лишь в спорных моментах.

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

    Пример из жизни

    Приведу практический пример, как валидация может плохо повлиять на Ваш сайт с точки зрения и SEO , и пользователей. Как-то давным-давно я проводил доработку на сайте и случайно забыл закрыть один тег . Проверив в популярных браузерах корректность доработки я внес изменения на сайт.

    Спустя некоторое время, когда я проводил анализ трафика через Яндекс Метрику, я заметил, что среднее время посещения в браузере Internet Explorer сильно меньше. Открыв сайт через этот браузер, я понял в чем дело. Весь сайт был перекошен, читать контент было просто невозможно. И это создает сразу две проблемы. Первая проблема - я терял весь трафик из IE, а вторая - я портил поведенческие факторы .

    Как проверить сайт на валидность html кода 1. Онлайн валидатор html

    В интернете есть бесплатный сервис http://validator.w3.org/ . Через него проверяют валидность html кода. Рассмотрим работу этого сервиса более подробно

    mob_info