Publicado: 7 de fevereiro de 2025
Em abril de 2024, um post neste site anunciou que a API do Popover estava recentemente disponível. No entanto, entendemos errado, e Popover entra na linha de base em 27 de janeiro de 2025. Este post explica por que entendemos errado e o que mudou desde que para tornar esses erros menos propensos a acontecer.
Qual é a API do Popover?
A API do Popover fornece uma maneira integrada de criar vários tipos de popover usados em aplicativos da Web. Anteriormente, eles exigiam que você usasse JavaScript e tome muito cuidado para implementá -los de maneira acessível. A API traz tudo isso para o navegador, e um popover simples pode ser criado declarativamente no HTML.
I am a popover with more information. Hit esc or click away to close me.
Por que não foi a linha de base em abril de 2024?
Quando o Firefox enviou sua implementação de Popover em abril de 2024, ainda não tínhamos descoberto que havia um problema significativo no iOS e iPados. Nesses navegadores móveis, clicar fora do popover não o fechou, um recurso conhecido como Light demitido. Este é um problema que impediria a maioria dos desenvolvedores de usar o Popover. Isso significava que não deveria ter sido incluído como linha de base em abril e precisava esperar até que o bug fosse corrigido no Safari 18.3.
Por que entendemos errado?
A linha de base depende do
Rometas na Web Trabalhe para calcular quando os recursos estão dentro ou fora da linha de base. Se você dar uma olhada em um arquivo de recurso individual nesse projeto, como o arquivo para Popovervocê verá os recursos individuais dos dados do Mozilla Browser Compat listados. Um recurso da web normalmente contém várias dessas inclusões. Isso ocorre porque um recurso na web não é apenas uma propriedade ou método, precisa de várias partes componentes para funcionar. Nem um recurso é uma especificação inteira. As especificações do CSS, por exemplo, geralmente incluem sub-recursos que nunca foram implementados ou são usados apenas em um contexto específico. O trabalho de fendas na Web usa uma combinação de dados de disponibilidade existentes e contribuições humanas para descobrir o que constitui um recurso de plataforma da Web e, crucialmente, se uma implementação parcial é grave o suficiente para mantê-lo fora da linha de base.
Em fevereiro, os trabalhos de fendas na web estavam muito longe da completa. Portanto, para ajudar a mostrar como a linha de base funcionaria, estávamos tentando descobrir os principais recursos que fariam parte da linha de base 2024 sem todos os dados necessários para fazê -lo. No papel, ou melhor, nos dados de compacto do navegador que não foi atualizado até setembro Quando o problema foi visto, Popover parecia estar incluído. No entanto, devido ao bug do iOS grave o suficiente para impedir que o popover seja usado, ele não estava pronto.
Também houve uma falta de infraestrutura de teste para o celular. O Testes da plataforma da web O Project nos fornece uma maneira de testar que os recursos da plataforma da web estão funcionando em todos os navegadores. Se esse problema de disciplina de luz tivesse acontecido em um navegador de desktop, teríamos visto que os testes estavam falhando, esse não era o caso do Mobile.
Como evitamos isso no futuro?
Já estamos em um lugar muito melhor com os dados. Os dados de recursos da Web estão quase completos e, portanto, podemos ter um maior grau de confiança com qualquer um dos recursos que estamos declarando a linha de base.
Em particular com esse problema, parte do problema estava identificando um problema que só acontece no Mobile, no iOS. Existem algumas coisas que devem facilitar a identificação de problemas de interoperabilidade no celular no futuro. O trabalho está em andamento para melhorar os testes móveis em testes da plataforma da web; portanto, devemos ser capazes de identificar melhor quando um navegador móvel tiver problemas, separadamente da área de trabalho. Também pretendemos expor esses dados sobre o webstatus.dev
Painel este ano. Se um problema como esse acontecer no futuro, devemos obter indicações mais rápidas de que isso aconteceu, esperançosamente antes de incluirmos o recurso na linha de base.
Sempre soubemos que mapear toda a plataforma da web como um conjunto de recursos não seria fácil! No entanto, as discussões que estamos tendo sobre implementações parciais, bugs e o que realmente compõem um recurso são incrivelmente valiosos. Está nos ajudando a identificar o que realmente importa para você, dando -nos sinais melhores para usar ao planejar esforços como a Interop 2025.