Migrando para gráficos da Web baseados em padrões no IE10

Ao visitar qualquer site na Internet usando qualquer navegador, os usuários esperam obter experiências de qualidade semelhantes. Primeiro discutimos o compromisso do Internet Explorer de atingir a meta de se obter consistência com o princípio de "mesma marcação, mesmos resultados" em todos os navegadores em uma postagem em 16 de março de 2010, anunciando o lançamento do primeiro Platform Preview do IE9. O IE9 nos impulsionou a percorrer um grande caminho em direção a essa meta e os modos Quirks e os padrões baseados em HTML5 do IE10 completam esse trabalho em grande medida. A postagem HTML5 Parsing in IE10 relacionou alguns dos recursos herdados que foram removidos dos modos Quirks e dos padrões baseados em HTML5 do IE10.

Esta postagem expande a lista de recursos herdados removidos, incluindo mais dois: Linguagem VML e os filtros e transições baseados no DirectX. Esses dois recursos foram preteridos na documentação do MSDN a partir do IE9 (veja, por exemplo, a primeira frase de Filters and Transitions (Filtros e transições): “This topic documents a feature of Visual Filters and Transitions, which is deprecated as of Windows Internet Explorer 9” (Este tópico documenta um recurso de filtros e transições visuais, que passou a ser preterido a partir do Windows Internet Explorer 9)) e agora foram eliminados a partir dos modos Quirks e dos padrões com base em HTML5 do IE10.

Os usos comuns dos filtros VML e DX agora têm alternativas baseadas em padrões implementadas no IE10 e versões atuais de outros navegadores. Esses recursos do IE herdados do IE permanecem disponíveis no IE10 em modos de documentos, 5, 7, 8 e 9, embora seu desempenho seja inferior aos substitutos baseados em padrões e com desempenho de hardware acelerado. Incentivamos os desenvolvedores da Web a migrar seus sites para tecnologias baseadas em padrões em vez de depender em modos de documentos herdados.

Use a SVG, não a VML

A Microsoft e outras empresas apresentaram a linguagem VML para o W3C em 1998. O IE5 foi o primeiro a implementá-la. O W3C mesclou a VML com uma proposta concorrente, o que resultou na SVG. (Consulte Vector Markup Language para ler um breve histórico.)

A SVG, implementada no IE9, oferece a funcionalidade necessária para substituir a VML nos sites e aplicativos que a utilizam. O VML to SVG Migration Guide (Guia de migração da VML para SVG), publicado no Centro de Download da Microsoft oferece orientação para a migração da VML para a SVG.

A Raphaël JavaScript Library (biblioteca de JavaScript Raphaël) é uma API gráfica leve e fácil de usar que utiliza a SVG quando disponível e a VML quando não disponível. A Raphaël é uma boa opção para a criação de soluções de gráficos vetoriais que funcionam no IE8 e em navegadores novos.

Use CSS3, não os filtros DX

O Internet Explorer 4 apresentou um conjunto de transições e filtros visuais para permitir que desenvolvedores da Web apliquem efeitos estilo multimídia a suas páginas da Web. O nome filtros DX vem da implementação subjacente, DirectX e sua sintaxe longa, por exemplo, “filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50).” Os filtros DX não são iguais aos efeitos de filtros SVG, embora os dois usem o nome da propriedade CSS filter.

O mais popular desses efeitos, desde então, é o CSS3 Working Drafts ou Candidate Recommendations, incluindo opacidade, gradientes e sombras. Com o suporte do IE10 a essas especificações CSS3, os filtros herdados específicos do IE não são mais necessários. Um filtro adicional, o AlphaImageLoader, já foi popular na solução de bugs com transparência PGN no IE6, mas esses bugs foram corrigidos no IE7.

A tabela a seguir lista os filtros DX mais populares e suas alternativas baseadas em padrões.

Filtro DX Alternativa baseada em padrões
Alpha opacity
AlphaImageLoader <img> ou background-image e propriedades relacionadas
Gradient background-image: linear-gradient()
DropShadow text-shadow ou box-shadow
Matrix transform, transform-origin

Os efeitos de filtros SVG no IE10 podem ser usados para simular alguns dos filtros menos comuns e mais ocultos no contexto da SVG.

Observação: Como o modo de documento do IE9 dá suporte aos filtros DX e às alternativas baseadas em padrões, recomendamos evitar especificar as duas propriedades no mesmo elemento. As bibliotecas como a Modernizr facilitam o uso da detecção de recurso com CSS e evitam as declarações duplicadas.

Adote a mesma marcação agora

As alterações descritas acima entrarão em vigor a partir do Platform Preview 4 do IE10, disponível no Windows Developer Preview.

Mais do que qualquer outra versão anterior do IE, o IE10 funciona com a mesma marcação e código de outros navegadores populares (uma vez que todo prefixo específico de fornecedor da CSS é atualizado para incluir “-ms-”). Por outro lado, com a remoção desses dois recursos herdados, o conteúdo desenvolvido para o IE10 também deverá funcionar em outros navegadores.

Os usuários são beneficiados quando todos os navegadores podem funcionar com o mesmo conteúdo baseado em padrões.

—Ted Johnson, gerente de programas geral, gráficos do Internet Explorer