Tooltip'ler, web arayüzlerinin en küçük ama en karmaşık bileşenlerinden biridir. Görünüşte basit olsalar da (bir öğeye tıkla veya odaklan, küçük bir metin kutusu göster, kullanıcı uzaklaşınca gizle), gerçek kullanımda birçok sorun ortaya çıkar. Klavye kullanıcıları tooltip'i göremez, ekran okuyucular ya hiç duyurmaz ya da iki kez okur, hızlı fare hareketlerinde tooltip titrer, Escape tuşu çalışmaz ve odak kaybolur. Bu sorunları çözmek için geliştiriciler genellikle JavaScript kütüphanelerine yönelirdi. Ancak Popover API, bu sorunlara tarayıcı düzeyinde bir çözüm sunarak tooltip'leri simüle edilen öğelerden, tarayıcının gerçekten anladığı öğelere dönüştürüyor.
Popover API öncesinde, bir tooltip oluşturmak için en az 60 satır JavaScript yazmak, beş olay dinleyicisi eklemek ve manuel durum yönetimi yapmak gerekiyordu. Kütüphaneler işleri kolaylaştırsa da, bunlar genellikle geliştiricinin tam olarak anlamadığı 'kara kutular' haline geliyordu. Üstelik, erişilebilirlik (accessibility) sorunları da cabasıydı: Ekran okuyucular bazen tooltip'i duyurur, bazen duyurmaz, bazen de iki kez duyururdu. ARIA özniteliklerini elle güncellemek gerektiğinde, herhangi bir durum değişikliğini kaçırmak tooltip'i erişilebilirlik ağacı için görünmez hale getirebiliyordu.
Popover API ile birlikte bu sorunların çoğu ortadan kalkıyor. Artık açma-kapama, klavye etkileşimi, Escape tuşu ile kapatma ve erişilebilirliğin büyük bir kısmı platformun kendisinden geliyor. Geliştirici sadece bildirimsel HTML kullanarak, yaklaşık 10 satır kodla işlevsel bir tooltip oluşturabiliyor. API, tarayıcıya bu öğenin bir tooltip olduğunu bildiriyor ve tüm standart davranışları otomatik olarak sağlıyor. Bu, geliştiricilerin daha önce kütüphanelerle yaptığı konumlandırma, görünüm kenarlarında döndürme, olay koordinasyonu ve kaydırma kapsayıcılarıyla uyum gibi işlemleri artık tarayıcının üstlenmesi anlamına geliyor.
Popover API henüz yeni bir özellik ve bazı noktaları hala geliştirilme aşamasında olsa da, tarayıcı desteği oldukça iyi durumda. Caniuse sitesini takip etmekte fayda var. Eğer hala tooltip'leriniz için JavaScript kütüphaneleri kullanıyorsanız, Popover API'yi denemek, hem kod tabanınızı sadeleştirecek hem de daha tutarlı bir kullanıcı deneyimi sunacaktır. Artık tooltip'ler, geliştiricinin sürekli olarak düzeltmek zorunda kaldığı kırılgan bileşenler olmaktan çıkıyor; tarayıcının doğal bir parçası haline geliyor.