- •Оглавление
- •Введение Актуальность темы
- •Цель работы
- •1Основная часть
- •1.1Что такое веб-стандарты?
- •1.1.1Составляющие веб-документа
- •1.1.2Семантичность
- •1.1.3Валидность
- •1.2Применение веб-стандартов
- •1.3Различия современных веб-стандартов
- •1.4Важнейшие аспекты концепции веб-стандартов
- •1.4.1Семантика
- •1.4.2Валидность
- •1.5Положительные следствия использования веб-стандартов
- •1.5.1Ускорение загрузки веб-страниц
- •1.5.2Облегчение машинной обработки
- •1.5.3Бо́льшая гибкость в отношении различных сред и устройств
- •1.5.4Лучшая доступность для пользователей с ограниченными возможностями
- •1.5.5Доступность контента для пользователей устаревших браузеров
- •1.5.6Гарантированная совместимость верстки с современными браузерами и последующими их версиями
- •1.5.7Облегчение процесса разработки сайтов
- •2Практическая часть
- •2.1Как проверить сайт на соответствие стандартам?
- •2.2Соответствие современных сайтов стандартам
- •Заключение
1.4.2Валидность
По логике вещей, если проектирование и реализация чего бы то ни было осуществляется на основе неких спецификаций, названных в том или ином смысле стандартами, необходимо стремиться выполнять в полной мере все формальные требования этих спецификаций.
В случае с веб-разработкой следование букве спецификаций веб-технологий уберегает разработчиков от потенциальных неприятных неожиданностей, связанных с их собственными ошибками. От неожиданностей, вызванных, предположим, ошибками реализации стандартов в браузерах — конечно, не убережет. Но подкрепленная отчетом валидатора уверенность в том, что при разработке было предусмотрено все возможное хотя бы только со своей стороны — это уже само по себе великое дело. Формальное соответствие HTML- и CSS-кода веб-страниц спецификациям W3C можно проверить онлайновыми валидаторами разметки и таблиц стилей (о некоторых подобных сайтах мы расскажем в практической части нашей работы).
Если разработчик относительно консервативен и не выходит в процессе разработки за рамки спецификаций, уже официально утвержденных в качестве рекомендаций W3C (речь идет, например, о сочетании XHTML 1.0 Strict и CSS2.1), в идеале ему необходимо стремиться доводить код до полностью валидного состояния. Тут все, в общем-то, предельно ясно.
Менее однозначной ситуация представляется в том случае, если разработчиком было принято решение использовать перспективные технологии (скажем, элементы HTML5 и CSS3), не дожидаясь их утверждения в качестве рекомендаций. Это совершенно нормальная и, более того, заслуживающая всяческих похвал практика.
Как тут поступить? В плане проверки валидности проблем почти нет — онлайновые валидаторы на сайте W3C уже давно научились понимать HTML5 (почти в полной мере) и CSS3 (при этом наблюдается ряд проблем, но баги отслеживаются и исправляются).
Препятствий для обеспечения абсолютной валидности кода разметки тоже никаких нет. «Фундамент» HTML5 — словарь и грамматика языка разметки — относительно небольшая часть всей спецификации, которая, надо надеяться, уже в деталях проработана и не будет в дальнейшем претерпевать принципиальных изменений.
CSS3 развивается несколькими десятками отдельных модулей, находящихся в разных стадиях проработки (так, CSS ColorModuleLevel 3 уже получил, в один день со спецификацией CSS2.1, статус рекомендации). Особенность процесса развития CSS такова, что спецификация того или иного модуля CSS3 не имеет шансов на утверждение в качестве рекомендации в сколько-либо обозримые сроки до тех пор, пока не появится несколько полных не противоречащих друг другу реализаций данного конкретного модуля в основных браузерах.
Потенциальной возможностью пересмотра тех или иных разделов «сырых» спецификаций порождена необходимость в первое время использовать экспериментальные свойства и значения CSS с вендорными префиксами — например, -moz- (для MozillaFirefox), -webkit- (для браузеров на основе движка Webkit — в частности, Chrome и Safari), -o- (для Opera). Применение конструкций CSS, использующих вендорные префиксы, конечно же, с формальной точки зрения автоматически делает соответствующие таблицы стилей невалидными, но этот «костыль нового поколения» — во всех отношениях разумное и удачное решение, против которого ничего не имеют ни W3C, ни сообщество веб-стандартистов. К слову, у упоминавшегося CSS-валидатора с сайта W3C даже есть опция проверки таблиц стилей с учетом использования вендорных префиксов.
В среде веб-стандартистов сложилась практика стремиться достигать абсолютной валидности кода разметки, а к таблицам стилей относиться более либерально, ограничиваясь обеспечением их синтаксической корректности в свете имеющейся потребности в использовании вендорных префиксов. Есть и чисто идеологическое объяснение этому: валидность кода разметки куда как более важна, чем валидность таблиц стилей, ибо код разметки описывает самоценную сущность — структурированное содержание, а код таблиц стилей — всего лишь представление, которое не может существовать без содержания, и вариантов которого для одного и того же содержания теоретически может быть бесконечно много.
Для старых версий IE, пользуясь условными комментариями, веб-разработчики подключают таблицы стилей, содержащие порой та-а-акиехардкорные хаки — и ничего, живем… Нормальным браузерам и валидатору все, что скрыто за условными комментариями, безразлично. Ну да, конечно, это не верх изящества, а вполне себе костыль — но ничего лучше пока не придумали. Абсолютно валидные как в плане разметки, так и в плане стилей страницы, отображающиеся в IE6 не хуже, чем в остальных браузерах, возможны, но их внешний вид напомнит вам о начале века.
Ключевые концепции философии современных веб-стандартов важны не сами по себе, а исключительно благодаря тем положительным следствиям, которые порождают уважительное отношение к этим самым концепциям со стороны веб-разработчиков в повседневной практике.