Валидация сайта и ее влияние на работоспособность ресурса

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

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

Валидация веб-сайта и ее влияние на работоспособность ресурса

Валидация в сайтостроении

Сейчас все вышесказанное «натянем» на принципы построения современного интернета. Но в виртуальном пространстве, как и в королевстве кривых зеркал все не так однозначно. И значения обоих терминов(валидации и верификации) просто слились воедино:

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

Но чаще всего под валидностью подразумевается соответствие кода(программного, html и css) общепринятым и прописанным нормам. Существует пару организаций, занимающихся стандартизацией современного веб-пространства. Но наиболее авторитетной из них будет Консорциум Всемирной паутины(W3C):

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

Установленные консорциумом W3C стандарты являются авторитетными для всех языков программирования и технологий, применяемых для создания веб-сайтов. А также для HTML, XML и CSS.

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

Наиболее авторитетным онлайн-вадидатором будет ресурс validator.w3.org:

Валидация веб-сайта и ее влияние на работоспособность ресурса

Валидный HTML

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

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

Проблема кроссбраузерности в настоящее время почти решена. И все благодаря тому, что при создании браузеров разработчики придерживаются общепринятых стандартов W3C.

Но это не будет основной причиной того, от чего страдает валидация html:

  • Не закрытый тег – большая часть тегов в html являются парными, то есть состоящими из открывающего и закрывающего элемента. Часто при верстке или написании скрипта веб-мастера забывают дописывать закрывающий тег. А это может привести к неправильному выведению всего веб-сайта;
  • Нарушение вложенности элементов – эта проблема возникает при блочной верстке, когда не соблюдается иерархическая вложенность всех блоков <div>. Или иных парных элементов, если часть тега открыта в одном слое, а закрывается в ином. При этом возможно нарушение структуры дизайна веб-сайта;
  • Использование атрибута style – в современном сайтостроении общепринятой нормой будет использование для оформления элементов дизайна каскадных таблиц стилей(CSS). Устаревший атрибут style употребляется крайне редко: при его использовании объемы html кода могут увеличиваться в разы. Это не только замедляет скорость загрузки всего веб-сайта, но и затрудняет его понимание и последующее редактирование;
  • Использование вложенного CSS – внедрение каскадных таблиц стилей внутрь html. Это также увеличивает объем кода и затрудняет его отладку. Лучше всего стилевые описания хранить в отдельных файлах:
Валидация веб-сайта и ее влияние на работоспособность ресурса

Проблема валидности CSS

Большая часть проблем с кроссбраузерностью возникает из-за ошибок выведения оформления элементов, заданного при помощи CSS.

Точнее, чтобы решить проблему корректного вывода дизайна веб-сайта во всех браузерах, верстальщику приходиться применять не совсем «валидные»(по мнению W3C) средства:

  • Комментарии – когда в комментариях(чаще всего для IE) прописывается альтернативное значение свойства, не видимое для иных браузеров;
  • Хаки – под ними подразумеваются специальные свойства CSS, позволяющие решить проблему некорректного выведения в одном из браузеров:
Валидация веб-сайта и ее влияние на работоспособность ресурса
  • При помощи JavaScript – изменение стилевого свойства элемента через объектную модель документа.

Применение данных методов(особенно хаков) может негативно влиять на валидность всего веб-сайта, но в тоже время может в полном объеме решать проблему кроссбраузерности.

Валидность CSS не будет гарантом работоспособности ресурса.

Валидность XML

Гораздо проще все обстоит с валидностью XML. Чтобы создавать чистый программный код, необходимо придерживаться свода основных синтаксических правил этого языка:

  • Не забывать о необходимости обязательного наличия корневого элемента;
  • Не забывать закрывать тег;
  • Помнить о том, что XML будет зависимым от регистра языком;
  • Помнить о необходимости соблюдать иерархию вложенности элементов;
  • Значение каждого атрибута указывается в закрывающихся кавычках.

Часто встречающиеся ошибки валидации

  • Unknown entity…

Чаще всего такое сообщение валидатор выдает при использовании знака амперсанда (&) в той части адресной строки, через которую передаются переменные и их значения. Для недопущения и исправления данной ошибки вместо & следует использовать &amp. Пример:

<a href="index1.php?pid=1&id=5">...</a> - неправильно.<a href="index1.php?pid=1&amp =5">...</a> - правильно.
  • Missing tag

Такое сообщение выдается, если нарушена иерархическая вложенность тегов. Пример:

<p><b>Lorem</p></b> - неправильно.<p><b>Lorem</b></p> - правильно.
  • Missing DOCTYPE

Чаще всего валидатор выдает это сообщение, если содержимое элемента <!DOCTYPE> и сам элемент записаны в нижнем регистре. Надо помнить, что данный элемент будет зависимым от регистра тегом. Пример:

<!doctype html public "-//w3c//dtd xhtml 1.0 strict//en""http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd" > - неправильно.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" > - правильно.
  • There is no such element…

Данная ошибка возникает, если один или пару тегов записаны в верхнем регистре. Пример:

<P><B>Lorem</B></P> - неправильно.<p><b>Lorem</b></p> - правильно.
  • Missing closing tag

Эта ошибка валидации возникает, если один из «пустых» тегов в вашей закрывающей части не включает слеш(в XHTML). К пустым относится тег <img>. Пример:

<img src="images/girl.png" width="189" height="255" alt="lorem"> - неправильно.<img src="images/girl.png" width="189" height="255" alt="lorem"/> - правильно.
  • required attribute «alt» not specified

Подобное сообщение выдается валидатором, если тег <img src="images/girl.png" > - неправильно. <img src="images/girl.png" alt="lorem"> - правильно.

  • Missing » «

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

<img src=images/girl.png width=189 height=255 alt=lorem> - неправильно.<img src="images/girl.png" width="189" height="255" alt="lorem"/> - правильно.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *