Доминирование 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-» в стандарт де-факто.

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

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

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