O Projeto Interop é uma colaboração entre fornecedores de navegadores e outros implementadores de plataforma para fornecer aos usuários e desenvolvedores web implementações de plataforma web de alta qualidade.
Todos os anos selecionamos um conjunto de áreas de foco que representam áreas-chave onde queremos melhorar a interoperabilidade. Incentivar todos os mecanismos de navegador a priorizarem recursos comuns garante que eles se tornem utilizáveis para desenvolvedores web o mais rápido possível.
O progresso em cada mecanismo e a pontuação geral do Interop são medidos acompanhando a taxa de aprovação de um conjunto de testes de plataforma web para cada área de foco usando o painel do Interop.
Interoperabilidade 2024
Antes de apresentar as novas áreas prioritárias para este ano, devemos analisar os sucessos do Interop 2024.
A pontuação da Interop, que mede a porcentagem de testes aprovados em todos os principais mecanismos de navegador, atingiu 95% nos últimos lançamentos de navegadores, contra apenas 46% no início do ano. Em navegadores de pré-lançamento é ainda maior – mais de 97%. Esta é uma grande vitória que mostra quão eficaz a Interop pode ser no alinhamento dos navegadores com as especificações e entre si.
Cada mecanismo de navegador alcançou individualmente uma pontuação de aprovação no teste de 98% em versões de navegador estáveis e 99% em pré-lançamento, com o Firefox terminando um pouco à frente com 98,8% no lançamento e 99,1% no Nightly.
Para os usuários, isso significa que recursos como requestVideoFrameCallback, Declarative Shadow DOM e Popover, que há um ano tinham disponibilidade limitada, agora são implementados de forma interoperável em todos os navegadores.
Interoperabilidade 2025
Com base no sucesso do Interop 2024, estamos entusiasmados em continuar o projeto em 2025. Este ano temos 19 áreas de foco; 17 novos e 2 de anos anteriores. Uma descrição completa de todas as áreas de foco está disponível no repositório Interop.
A partir de 2024 estamos levando adiante o Layout (na verdade “Flexbox e Grid”) e os Eventos de Ponteiro e Mouse. Estas são plataformas primitivas importantes onde o projeto Interop já levou a melhorias significativas de interoperabilidade. No entanto, com tecnologias que são tão fundamentais para a web moderna, achamos importante definir metas ambiciosas e continuar a priorizar essas áreas, criando bases sólidas para os desenvolvedores desenvolverem.
As novas áreas de foco representam uma ampla seção transversal da plataforma. Muitos deles — como posicionamento de âncora e transições de visualização — foram identificados a partir de uma demanda clara dos desenvolvedores em pesquisas como Estado do HTML e Estado do CSS. A inclusão no Interop garantirá que eles possam ser usados o mais rápido possível.
Além desses novos recursos de alto perfil, gostaríamos de destacar algumas áreas de foco menos conhecidas e explicar por que estamos satisfeitos em vê-las no Interop.
Acesso ao armazenamento
Na Mozilla a privacidade do usuário é um princípio fundamental. Um dos métodos mais comuns de rastreamento na web é por meio de cookies de terceiros. Quando os sites solicitam dados de serviços externos, o serviço pode armazenar dados que serão reenviados quando outro site usar o mesmo serviço. Assim o serviço pode acompanhar a navegação do usuário na web.
Para combater isso, a “Proteção Total de Cookies” do Firefox particiona o armazenamento para que terceiros recebam dados de cookies diferentes por site e, assim, reduza o rastreamento. Outros navegadores têm políticas semelhantes, seja por padrão ou em modos de navegação privada.
No entanto, em alguns casos, os fluxos de trabalho sem rastreamento, como a autenticação SSO, dependem de cookies de terceiros. O particionamento de armazenamento pode interromper esses fluxos de trabalho, e os navegadores atualmente precisam fornecer soluções alternativas específicas para o site. A API Storage Access resolve isso permitindo que os sites solicitem acesso aos cookies não particionados. A interoperabilidade aqui permitirá que os navegadores avancem nas proteções de privacidade sem quebrar funcionalidades críticas.
Compatibilidade Web
A área de foco do Web Compat é única no Interop. Não se trata de um padrão específico, mas se concentra em bugs de navegador conhecidos por quebrar sites. Muitas vezes, eles estão em partes mais antigas da plataforma, com inconsistências de longa data. Abordar estas questões requer o alinhamento das implementações com o padrão ou, onde isso prejudicaria os sites, a atualização do próprio padrão.
Um recurso na área de foco do Web Compat para 2025 é o CSS Zoom. Originalmente um recurso proprietário do Internet Explorer, ele permitia dimensionar o layout ajustando as dimensões computadas dos elementos antes das transformações do CSS. O WebKit fez a engenharia reversa, trazendo-o para o Blink, mas o Gecko nunca o implementou, devido à falta de especificação e às complexidades que criou nos cálculos de layout.
Infelizmente, um recurso não padronizado não impede que os desenvolvedores o utilizem. O uso do CSS Zoom levou a problemas de layout em alguns sites no Firefox, especialmente em dispositivos móveis. Tentamos várias soluções alternativas e obtivemos sucesso ao usar intervenções para substituir zoom com transformações CSS em alguns sites afetados, mas uma tentativa de implementar a mesma abordagem diretamente no Gecko quebrou mais sites do que consertou e foi abandonada.
A situação parecia estar em um impasse até 2023, quando o Google investigou a remoção do CSS Zoom do Chromium. Infelizmente, descobriu-se que alguns casos de uso, como o zoom da planilha do Microsoft Excel Online, dependiam do comportamento específico do CSS Zoom, portanto a remoção não era viável. No entanto, tendo esclarecido os casos de uso, a equipe do Chromium conseguiu propor um modelo padronizado para CSS Zoom que fosse mais fácil de implementar sem comprometer a compatibilidade. Esta proposta foi aceita pelo CSS WG e levou à primeira implementação do CSS Zoom no Firefox 126, 24 anos após seu lançamento no Internet Explorer.
Com o Interop 2025, esperamos encerrar a história do CSS Zoom com todos os motores finalmente convergindo para o mesmo comportamento, apoiados por um padrão realmente aberto.
WebRTC
A videoconferência é agora um recurso essencial da vida moderna, e a videoconferência no navegador oferece facilidade de uso e alta segurança, já que os usuários não precisam baixar um binário nativo. A maioria das videoconferências baseadas na web depende da API WebRTC, que oferece ferramentas de alto nível para implementar comunicações em tempo real. No entanto, o WebRTC há muito sofre com problemas de interoperabilidade, com implementações que se desviam dos padrões e exigem extensões não padronizadas para os principais recursos. Isso resultou em confusão e frustração para os usuários e minou a confiança na web como uma alternativa confiável aos aplicativos nativos.
Dada essa história, estamos entusiasmados em ver o WebRTC no Interop pela primeira vez. A parte principal da área de foco é a API RTCRtpScriptTransform, que permite criptografia de ponta a ponta entre navegadores. Embora haja mais a ser feito no futuro, acreditamos que o Interop 2025 será um grande passo para tornar o WebRTC um padrão web verdadeiramente interoperável.
Removendo eventos de mutação
A área de foco para Remoção de eventos de mutação é a primeira vez que o Interop é usado para coordenar a remoção de um recurso. Os eventos de mutação são acionados quando o DOM é alterado, o que significa que os manipuladores de eventos são executados no caminho crítico para a manipulação do DOM, causando grandes problemas de desempenho e complexidade significativa de implementação. Apesar de terem sido implementados em todos os motores, são tão problemáticos que nunca foram padronizados. Em vez disso, os observadores de mutação foram desenvolvidos como uma solução padrão para os casos de uso de eventos de mutação sem sua complexidade ou problemas de desempenho. Quase imediatamente após a implementação dos observadores de mutação, um bug do Gecko foi registrado:
“Agora temos observadores de mutações e gostaríamos muito de eliminar o apoio a eventos de mutações em algum momento no futuro. Provavelmente não por enquanto.”
Isso foi em 2012. A dificuldade é o compromisso central da web com a compatibilidade com versões anteriores. Remover recursos nos quais as pessoas confiam é inaceitável. No entanto, no ano passado, o Chromium determinou que o uso de eventos de mutação caiu o suficiente para permitir um “teste de descontinuação”, desativando eventos de mutação por padrão, mas permitindo que sites específicos os reativassem por um tempo limitado.
Esta é uma boa notícia, mas testes de descontinuação de longa duração podem criar problemas para outros navegadores. Desativar totalmente o recurso pode danificar sites que dependem do opt-out. Por outro lado, sabemos por experiência própria que alguns sites realmente funcionam melhor em um navegador com eventos de mutação desabilitados (por exemplo, porque são usados para recursos não críticos, mas afetam o desempenho).
Ao incluir esta remoção no Interop 2025, podemos garantir que os eventos de mutação sejam totalmente removidos em 2025 e terminem o ano com complexidade de plataforma reduzida e melhor desempenho da web.
Investigações de Interoperabilidade
Além das áreas de foco, o projeto Interop também realiza investigações visando melhorias de interoperabilidade de longo prazo em áreas onde não podemos medir o progresso usando taxas de aprovação em testes. Por exemplo, as investigações da Interop podem buscar adicionar novos recursos de teste ou aumentar a cobertura de teste dos recursos da plataforma.
Investigação de acessibilidade
Os testes de acessibilidade começaram como parte do Interop 2023. Foram adicionadas APIs para testar nomes acessíveis e funções computadas, bem como mais de 1.000 novos testes. Esses testes formaram a área de foco Acessibilidade no Interop 2024, que alcançou uma pontuação Interop de 99,7%.
Em 2025, o foco será expandir a testabilidade dos recursos de acessibilidade. A Mozilla está trabalhando em um protótipo do AccessibleNode; uma API que permite verificar o formato da árvore de acessibilidade, juntamente com seus estados e propriedades. Isso nos permitirá testar o efeito de recursos como CSS display:contents ou ::before/::after na árvore de acessibilidade.
Investigação de testes móveis
Hoje, todas as áreas de foco da Interop são pontuadas em navegadores de desktop. No entanto, alguns recursos são específicos para dispositivos móveis ou apresentam desafios de interoperabilidade exclusivos dos dispositivos móveis.
Melhorar os testes móveis faz parte da Interop desde 2023 e, nesse período, fizemos um progresso significativo na integração de navegadores móveis em sistemas de CI de testes de plataformas web. Hoje temos execuções confiáveis do Chrome e Firefox Nightly no Android, e execuções do Safari no iOS são esperadas em breve. No entanto, algumas partes de nossa estrutura de teste foram escritas com premissas específicas de desktop no design, portanto, o foco para 2025 será trazer os testes móveis à paridade com os desktops. O objetivo é permitir áreas de foco específicas para dispositivos móveis em futuros projetos de interoperabilidade, ajudando a melhorar a interoperabilidade entre todos os tipos de dispositivos.
Impulsionando a Web
A característica única e distintiva da plataforma web é a sua base em padrões abertos, proporcionando múltiplas implementações e escolha do usuário. Através do projeto Interop, os implementadores de plataformas web colaboram para garantir que esses pontos fortes sejam acompanhados por uma experiência de usuário perfeita em todos os navegadores.
Com áreas de foco cobrindo algumas das áreas novas e existentes mais importantes da web moderna, o Interop 2025 está preparado para entregar algumas das maiores vitórias de interoperabilidade do projeto até agora. Estamos confiantes de que o Firefox e outros navegadores estarão à altura do desafio, fornecendo aos usuários e desenvolvedores uma plataforma web mais consistente e confiável.
Anúncios de parceiros
Engenheiro de software focado em manter uma web aberta e saudável. Membro da equipe principal de testes de plataforma web.
Mais artigos de James Graham…

