Доминирование WebKit приводит к появлению сайтов, несовместимых с другими браузерами

Дэниэл Глазман (Daniel Glazman), один из руководителей рабочей группы по развитию CSS при консорциуме W3C, опубликовал тревожные наблюдения. Еще не забыто время, когда тотальное доминирование браузера Internet Explorer 6 приводило к наводнению Сети сайтами, корректно работающими только в IE. Кажется невероятным, но подобная ситуация начинает повторяться. В настоящее время на мобильных устройствах преобладают браузеры на базе движка WebKit, что приводит к злоупотреблению со специфичными для данного движка CSS-свойствами.

Благодаря конкуренции, браузеры ушли от проблемы с разной интерпретацией стандартов и в настоящее время предоставляют схожие между собой реализации официальных и де-факто web-стандартов. Дополнительные экспериментальные возможности CSS, присущие только данному виду браузера, реализуются с использованием префиксов, таких как "-moz-", "-ms-", "-o-" и "-webkit-". Реализованные в одном браузере функции быстро подхватываются разработчиками других браузеров, что приводит к доступности идентичных возможностей, но реализованных для каждого браузера со своим префиксом ("-moz-transform", "-webkit-transform", "-o-transform", "-ms-transform"). После того как реализации унифицированы между разными браузерами вне стандарта зарождается CSS-свойство без префикса (для ранее приведённого примера браузеры начали поддерживать "transform", несмотря на то, что спецификация CSS3 ещё не принята).

Проблема состоит в том, что web-разработчики многих web-приложений не утруждают себя заботой об обеспечении совместимости и указывают только свойства для наиболее популярного продукта. Например, используют специфичное для WebKit свойство "-webkit-transform-style", забывая указать аналог, реализованный другими проектами ("-moz-transform-style"). Иногда складывается нелепая ситуация, когда разработчик указывает тэг с префиксом, игнорируя уже утверждённый аналог без префикса (например, "-webkit-linear-gradient" вместо "linear-gradient").

Всё это приводит к нарастанию очередной волны несовместимостей сайтов со всеми доступными браузерами. Особенно остро проблема проявляется для мобильных web-приложений, которые часто пишутся только с оглядкой на движок WebKit, который одновременно является лидером по созданию различных экспериментальных возможностей, реализуемых в рамках префикса "-webkit-". Несмотря на то, что разработчикам не рекомендуется использовать CSS-свойства с префиксами, до момента появления поддерживаемого всеми браузерами аналога, многие не обращают внимание на рекомендации и активно внедряют новинки в свои проекты. Если не остановить данный процесс сейчас, производители других браузеров начнут для обеспечения совместимости с подобными проектами предоставлять поддержку префиксов "-webkit-" в неизменном виде (например, в Firefox или Opera появится "-webkit-transform"), что окончательно развяжет руки web-разработчикам в использовании данного префикса и превратит CSS-эксперименты WebKit в стандарт де-факто.

Энтузиасты пытаются решить проблему с разнородностью CSS-префиксов в открытых проектах своими силами. Например, в рамках инициативы Pre-fix the web осуществляется поиск подобных злоупотреблений CSS-префиксами и их исправление для проектов, размещённых в GitHub. В сети также предлагается подписать петицию, призывающую Microsoft, Mozilla и Opera не превращать наработки с префиксами "-webkit-" в стандарт де-факто.

©  OpenNet