Переход в Internet Explorer 10 к веб-графике на основе стандартов

Пользователи ожидают, что при посещении любого сайта в Интернете с помощью любого браузера им будет обеспечиваться практически одинаковое качество работы. Сначала, в записи блога от 16 марта 2010 г., в которой говорилось о выпуске первой версии IE9 Platform Preview, мы обсудили стремление достичь в Internet Explorer цели получения согласованных результатов при использовании разных браузеров: «одинаковая разметка — одинаковые результаты». В браузере Internet Explorer 9 мы сделали большой шаг по направлению к этой цели, а благодаря реализации стандартного режима и режима совместимости на основе HTML5 в Internet Explorer 10 эта работа уже близка к завершению. В статье, посвященной синтаксическому разбору HTML5 в Internet Explorer 10, перечислены некоторые устаревшие функции, удаленные из стандартного режима и режима совместимости на основе HTML5 в Internet Explorer 10.

В этой записи блога список удаленных устаревших функциональных возможностей расширен и теперь включает два новых элемента: это язык VML и функция фильтров и переходов на основе DirectX. Обе эти функциональные возможности отмечены как нерекомендованные к использованию в документации MSDN о браузере Internet Explorer 9 (например, в первом предложении статьи о фильтрах и переходах говорится: «This topic documents a feature of Visual Filters and Transitions, which is deprecated as of Windows Internet Explorer 9» (В этом разделе описывается функциональная возможность визуальных фильтров и переходов, использовать которую в Windows Internet Explorer 9 не рекомендуется)) и теперь удалены из стандартного режима и режима совместимости в Internet Explorer 10.

Теперь в Internet Explorer 10 и современных версиях других браузеров реализованы основанные на стандартах альтернативы языку VML и фильтрам DX. Эти устаревшие функции Internet Explorer остаются доступными в Internet Explorer 10 в режимах документов 5, 7, 8 и 9, однако их возможности уступают стандартизованным функциям с аппаратным ускорением, которые пришли им на замену. Мы рекомендуем веб-разработчикам перевести свои сайты на стандартизованные технологии, а не полагаться на использование устаревших режимов документов.

Использование SVG вместо VML

Язык VML (Vector Markup Language) был предложен консорциуму W3C корпорацией Майкрософт и другими компаниями в 1998 году. Он был впервые реализован в Internet Explorer 5. Консорциум W3C осуществил слияние VML с конкурирующим предложением, в результате чего и был получен язык SVG (краткий рассказ об этом см. в статье, посвященной языку VML).

Язык SVG, реализованный в IE9, предоставляет функциональные возможности, необходимые для замены языка VML на веб-сайтах и в приложениях, где он используется. В руководстве по миграции с VML на SVG, опубликованном в центре загрузки Майкрософт, предлагаются инструкции по переходу от VML к SVG.

Raphaël JavaScript Library — это упрощенный и удобный в использовании графический программный интерфейс, использующий язык SVG, если он доступен, и язык VML, если язык SVG недоступен. Raphaël является эффективным средством создания решений с векторными рисунками, работающих в IE8 и более новых браузерах.

Использование CSS3 вместо фильтров DX

В Internet Explorer 4 был представлен набор визуальных фильтров и переходов, позволяющий веб-разработчикам применять мультимедийные эффекты на своих веб-страницах. Название «фильтры DX» произошло от способа их реализации, DirectX, и полного синтаксиса, например «filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50)». Фильтры DX — не то же самое, что эффекты фильтров SVG, хотя в обоих случаях используется имя CSS-свойства filter.

Самые популярные из этих эффектов стали рабочими проектами или рекомендованными кандидатами CSS3, к ним относятся эффект непрозрачности, градиенты и тени. Поскольку в IE10 реализована поддержка этих спецификаций CSS3, устаревшие особые фильтры IE больше не нужны. Один дополнительный фильтр, AlphaImageLoader, когда-то был популярен для обхода ошибок в IE6, связанных с прозрачностью рисунков в формате PNG, но эти ошибки были исправлены в IE7.

В следующей таблице перечислены наиболее популярные фильтры DX и альтернативы на основе стандартов.

Фильтр DX Альтернатива на основе стандартов
Alpha opacity
AlphaImageLoader <img> или background-image и связанные свойства
Gradient background-image: linear-gradient()
DropShadow text-shadow или box-shadow
Matrix transform, transform-origin

Эффекты фильтров SVG в IE10 могут использоваться для имитации некоторых редко используемых, более сложных фильтров в контексте SVG.

Примечание. Поскольку в режиме документов IE9 предоставляется поддержка как фильтров DX, так и некоторых альтернатив на основе стандартов, рекомендуется избегать задания обоих свойств для одного и того же элемента. Такие библиотеки, как Modernizr, упрощают использование обнаружения функции с помощью CSS и позволяют избежать повторных объявлений.

Переход к одинаковой разметке

Изменения, описанные выше, вступают в силу с выходом IE10 Platform Preview 4 для Windows Developer Preview.

IE10 в большей степени, чем любая предыдущая версия IE, поддерживает принцип одинаковой разметки и кода, как другие популярные браузеры (после добавления «-ms-» в CSS-префиксы производителя). Другими словами, исключение этих двух устаревших функций означает, что контент, разработанный для IE10, должен также работать и в других браузерах.

Пользователям удобно, когда все браузеры могут работать с одним и тем же стандартизованным контентом.

— Тед Джонсон (Ted Johnson), ведущий руководитель программы, графика в Internet Explorer