Валидность HTML
Может я не прав и то, о чем буду говорить, не имеет большого значения, но меня все же удивляет, почему мало кто придерживается стандарта HTML. Прошелся по нескольким очень известным порталам с целью проверки корректности HTML кода: ни один сайт не является валидным. Да, я знаю о том, что все ведущие производители браузеров стремятся добавить чего-то своего, отступая от стандарта, чтобы сделанные под их браузеры документы корректно смотрелись только в их продукте. Но самое интересное, что по большей части сайты не валидные не потому, что они используют какие то особенности браузеров, а просто не соблюдают стандартов. Более того, все делается так, чтобы корректно отображалось везде. Спрашивается: разве сложно в таком случае добиться правильности?
Оказывается, все достаточно просто. Как выяснилось при тестировании сайтов сервисом http://validator.w3.org/, большая часть ошибок это атрибуты тегов, отсутствующих в стандарте, а также не хватка атрибутов тегов. Ситуации, когда есть недостающие теги, тоже присутствуют, но их гораздо меньше. И чаще всего они возникают из-за лени дизайнера, а не потому, что кто-то не знал, что их нужно закрывать (логика лентяя: зачем ставить </p>, если следующий тег <p> закроет предыдущий автоматически). Та же лень заставляет оставлять значения атрибутов без кавычек, хотя по стандарту они должны быть практически везде.
Рассмотрим пример. Нам нужна прямоугольная область высотой 30 точек. Мы по привычке пишем:
<div height="30"> текст </div>
На самом деле это не правильно. У тега div нет атрибута height, хотя как оказалось, все браузеры его поддерживают. Как же быть, если нужна именно такая высота? Нет ничего проще. Нужно указать высоту в стиле:
<div style="height: 30px"> текст </div>
Отсутствие тега чаще всего возникает на тегах img и script. Согласно стандарту, атрибут alt для тега img является обязательным и даже если к изображению не нужна никакая надпись, его все равно нужно указать, как пустую строку. Мне попадался форум, сделанный на форумном движке. Человек просто установил его и изменил пару картинок. Движок был написан грамотно в плане валидности и две неправильные картинки просто "уронили" всю правильность.
Еще одна категория невалидности, когда дизайнер не обращает внимания на понятия блочных и строковых тегов, а точнее на то, что блочные теги нельзя вкладывать в строковые. Вот пример неверной расстановки тегов:
<font size="2">
<p>параграф 1</p>
<p>параграф 2</p>
</font>
Здесь мы пытаемся блочный тег p, вложить в тег font, который можно применить только к строке. Выход прост. Нужно опять же определить контейнер, внутри которого установлен заданный шрифт:
<div style="font-size: 10pt;">
<p>параграф 1</p>
<p>параграф 2</p>
</div>
Если все же Вы решили сделать свой сайт "правильным", следует учесть, что в сайт могут включаться сторонние куски кода, которые не удовлетворяют стандартам. Чаще всего это всевозможные счетчики. Каждый счетчик желательно проверить, и если он не в стандарте, то попытаться самому откорректировать его. Это не всегда является возможным. По этой причине я, например, отказался от счетчика SpyLog. А вот у top.mail.ru счетчик правильный. В случае с денежкой Яндекса, я просто убрал ссылку, оставив только картинку.
И еще. Обзаведитесь для проверки Оперой. В ней по правой кнопке можно запустить валидатор, не занимаясь нудным копированием и вставкой.
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
- 2024-05-27 » Подборка сервисов для расшифровки аудио в текст
- 2024-05-27 » PostgreSQL 16. Изоляция транзакций. Часть 2
- 2024-05-06 » Как настраивать конверсионные стратегии: работа над ошибками
- 2024-04-22 » Комментирование кода и генерация документации в PHP
Кто мало хочет, тот дешево стоит |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.