Yayınlanma tarihi: 7 Şubat 2025
Nisan 2024'te, bu sitedeki bir yayında Popover API'nin Baseline Yeni olarak kullanıma sunulduğu duyuruldu. Ancak bunu yanlış anladık ve pop-up, 27 Ocak 2025'ten itibaren Temel düzeye girecek. Bu yayında, neden yanlış karar verdiğimizi ve bu hataların tekrarlanmasını önlemek için neler yaptığımızı açıklıyoruz.
Popover API nedir?
Popover API, web uygulamalarında kullanılan çeşitli popover türlerini oluşturmak için yerleşik bir yöntem sağlar. Daha önce bu işlemleri yapmak için JavaScript'i kullanmanız ve bunları erişilebilir bir şekilde uygulamak için çok dikkatli olmanız gerekiyordu. API, tüm bunları tarayıcıya getirir ve HTML'de basit bir pop-up beyanla oluşturulabilir.
<button popovertarget="my-popover">Open Popover</button>
<div id="my-popover" popover>
<p>I am a popover with more information. Hit <kbd>esc</kbd> or click away to close me.</p>
</div>
Why wasn't it Baseline in April 2024?
Firefox, Nisan 2024'te pop-up uygulamasını kullanıma sunduğunda iOS ve iPadOS'te önemli bir sorun olduğunu henüz tespit etmemiştik. Bu mobil tarayıcılarda, pop-up'ın dışındaki bir yeri tıklamak pop-up'ı kapatmıyordu. Bu özellik hafif kapatma olarak bilinir. Bu, çoğu geliştiricinin pop-up'ı kullanmaktan memnun olmasını engelleyen bir sorundur. Bu, Nisan ayında referans olarak eklenmemesi ve Safari 18.3'te hatanın düzeltilmesini beklemesi gerektiği anlamına geliyordu.
Why did we get it wrong?
Temel çizgi, özelliklerin ne zaman temel çizgide olduğunu veya olmadığını hesaplamak için web-features çalışmasını kullanır. Söz konusu projedeki bir özellik dosyasına (ör. pop-up dosyasına) bakarsanız Mozilla Tarayıcı Uyumluluk Verileri'ndeki özelliklerin tek tek listelendiğini görürsünüz. Bir web özelliği genellikle bu türden birkaç öğe içerir. Bunun nedeni, web'deki bir özelliğin tek bir özellik veya yöntemden ibaret olmaması, çalışması için çeşitli bileşenlere ihtiyaç duymasıdır. Ayrıca, bir özellik spesifikasyonun tamamı değildir. Örneğin, CSS spesifikasyonları genellikle hiç uygulanmamış veya yalnızca belirli bir bağlamda kullanılan alt özellikler içerir. Web özellikleri çalışmasında, bir web platformu özelliğinin neleri içerdiğini ve en önemlisi, kısmi uygulamanın temel düzeyin dışında tutulacak kadar ciddi olup olmadığını belirlemek için mevcut kullanılabilirlik verileri ve gerçek kişi girişlerinin bir kombinasyonu kullanılır.
Şubat ayında, web özellikleriyle ilgili çalışmanın tamamlanmasına çok zaman vardı. Bu nedenle, Baseline'ın nasıl çalışacağını göstermeye yardımcı olmak için, Baseline 2024'e dahil edilecek temel özellikleri, gerekli tüm verilere sahip olmadan belirlemeye çalışıyorduk. Kağıt üzerinde veya daha doğrusu, sorunun tespit edildiği Eylül'e kadar güncellenmeyen tarayıcı uyumluluğu verilerinde pop-up'ın dahil edildiği görülüyordu. Ancak iOS'teki hata, pop-up'ın kullanılmasını engelleyecek kadar ciddi olduğu için bu özellik hazır değildi.
Ayrıca mobil cihazlar için test altyapısı da yoktu. Web Platformu Testleri projesi, web platformu özelliklerinin tüm tarayıcılarda çalışıp çalışmadığını test etmemizi sağlar. Bu ışık kapatma sorunu masaüstü tarayıcıda yaşansaydı testlerin başarısız olduğunu görürdük. Mobil cihazlarda bu durum söz konusu değildi.
Gelecekte bu sorunu nasıl önleyebiliriz?
Verilerle ilgili çok daha iyi bir konumdayız. Web özellikleri verileri neredeyse tamamlandı. Bu nedenle, referans olarak belirttiğimiz özelliklerden herhangi biri için daha yüksek düzeyde güven sağlayabiliriz.
Özellikle bu sorunda, sorunun bir kısmı yalnızca iOS'te mobil cihazlarda ortaya çıkan bir sorunu tespit etmekti. Gelecekte mobil cihazlarda birlikte çalışabilirlik sorunlarını tespit etmeyi kolaylaştıracak birkaç çalışma yürütüyoruz. Web Platformu Testleri'nde mobil testleri iyileştirme çalışmaları devam ediyor. Bu sayede, mobil tarayıcıda masaüstünden ayrı olarak sorun olduğunda bunu daha iyi tespit edebileceğiz. Bu verileri bu yıl webstatus.dev kontrol panelinde de sunmayı planlıyoruz. Gelecekte bu tür bir sorunla karşılaşırsak özelliği Baseline'a eklemeden önce bu sorunla ilgili daha hızlı bilgi alabiliriz.
Web platformunun tamamını bir özellik grubu olarak eşlemenin kolay olmayacağını her zaman biliyorduk. Ancak kısmi uygulamalar, hatalar ve bir özelliğin aslında neleri içerdiği hakkında yaptığımız tartışmalar son derece değerli. Sizin için gerçekten önemli olanları belirlememize yardımcı olan bu bilgiler, Interop 2025 gibi çalışmaları planlarken kullanabileceğimiz daha iyi sinyaller sağlar.