Yayınlanma tarihi: 12 Mayıs 2025
Önerilen HTML <permission> öğesi, Chrome ekibi ilk kaynak denememizde oluşturulan temel üzerine geliştirme yaptığı için kaynak denemesi aşamasındadır.
Bu gönderide, web uygulamalarında izin isterken daha fazla esneklik ve kontrol sağlamayı amaçlayan geliştirmeler paylaşılmaktadır. <permission> öğesinin kullanıma sunulması ve ilk özellikleri hakkında kapsamlı bir genel bakış için önceki makalemiz olan Yeni bir HTML <permission> öğesi için kaynak denemesi başlıklı makaleyi inceleyin.
Yedek kullanıcı deneyimi için içerik desteği
<permission> öğesi, Chrome 136'ya kadar başlangıçta içerik içermeyen boş bir öğe olarak tanımlanmıştı. Chrome 137'den itibaren içerik desteklenir. Bu nedenle, artık açma ve kapatma etiketleriyle işaretlenmesi gerekir:
<permission>
<!-- optional content -->
</permission>
Bu değişiklik, öğenin içeriğine yedek kullanıcı arayüzleri eklemenize olanak tanır. Bu geri dönüşler, <permission> öğesini desteklemeyen tarayıcılarda veya desteklenmeyen bir type özelliği belirtildiğinde gösterilir.
Bu sayede, farklı tarayıcı ortamlarında daha iyi bir kullanıcı deneyimi ve daha sorunsuz bir hizmet düşüşü sağlanır.
<!-- Invalid `type` attribute value -->
<permission type="not-supported">
<p>Your browser does not support the specified <code>type</code>.</p>
</permission>
Daha ayrıntılı programatik özellik algılama
Belirli izin türleri için desteği belirlemenize yardımcı olmak amacıyla isTypeSupported() adlı statik yöntemi kullanıma sunduk:
HTMLPermissionElement.isTypeSupported('geolocation');
Bu yöntem, belirtilen izin türünün desteklenip desteklenmediğini belirten bir boole değeri döndürür. Mevcut özellik algılama typeof
HTMLPermissionElement !== 'undefined' ile birlikte artık hem <permission> öğesi hem de belirli izin türleri için desteği programatik olarak sağlayabilirsiniz.
Ayrıca, boşlukla ayrılmış birden fazla izin türü (ör. "camera microphone") de iletebileceğinizi ve bunun, genel dizenin geçerli bir "type" değeri olup olmadığını döndüreceğini unutmayın. Örneğin, isTypeSupported() işlevinin aşağıdaki parametrelerle çağrılması şu sonuçları döndürür:
"camera"→true"geolocation"→true"camera geolocation"→false(Türler ayrı ayrı desteklense de kombinasyon desteklenmez.)
Güncellenen etkinlik adları
Chrome 136'da, önceki etkinliklerin yerini alacak iki yeni etkinlik kullanıma sunuldu:
onpromptdismiss(ondismissyerine geçer)onpromptaction(onresolveyerine geçer)
Bu yeni etkinlikler daha net bir anlambilim sağlar ve öğenin davranışıyla daha iyi uyum gösterir. Eski etkinliklerin desteği Chrome 138'de sonlandırılacak. Bu nedenle, etkinlik işleyicilerinizi buna göre güncellemenizi öneririz.
Simge desteği
Chrome 138'de kullanıma sunulmak üzere <permission> öğesinde simge desteği eklemek için çalışıyoruz. Bu özellik, izin türüne karşılık gelen önceden tanımlanmış simgeleri renk ve boyut ayarlamaları gibi sınırlı stil seçenekleriyle görüntülemenize olanak tanır. API'nin tam ayrıntıları henüz son hâline getirilmemiştir. 
Aşağıdaki örneklerde varsayılan, farklı bir dolgu rengi ve dolgu rengi olmayan ancak siyah ana hatlı bir şekil gösterilmektedir.
Varsayılan stil
![]()
Simgenin varsayılan rengi, izin öğesinin metin rengiyle aynıdır.
Değiştirilmiş stil
Aşağıdaki örneklerde, varsayılan stil üzerinde yapılan örnek değişiklikler gösterilmektedir.
Simge rengini değiştirme
::permission-icon {
fill: black;
}
![]()
Simge ana hattının değiştirilmesi
::permission-icon {
fill: white;
stroke: black;
stroke-width: 20px;
}
![]()
Simgeyi devre dışı bırakma
Bu özellik kullanıma sunulduğunda simge varsayılan olarak etkinleştirilir. Simgeyi devre dışı bırakmak istiyorsanız aşağıdaki CSS'yi kullanabilirsiniz.
::permission-icon {
display: none;
}
Stil kuralları
En iyi uygulamalar ve kısıtlamalar da dahil olmak üzere <permission> öğesini stilize etme hakkında kapsamlı bilgi için <permission> stilize etme yönergelerine bakın.
Bu kaynak, uygulamalarınızdaki öğeyi etkili bir şekilde stilize etmenize yardımcı olacak ayrıntılı talimatlar sağlar.
Genişletilmiş platform ve özellik desteği
<permission> öğesi artık ek platformları ve özellikleri destekliyor:
- Android desteği: Öğenin Android cihazlarda çalışır hâle gelmesiyle birlikte, farklı kullanıcı platformlarındaki kullanılabilirliği artırıldı.
- Coğrafi konum desteği: Artık ek bir
type="geolocation"preciselocationboole özelliğiyle<permission>öğesini kullanarak izin isteğinde bulunabilirsiniz.preciselocationözelliği yalnızca istemin kelime seçimini etkilese de gelecekteki güncellemelerde kaba ve kesin konum izinleri arasında ayrım yapma konusunda çalışmalarımızı sürdürüyoruz.
Sonuçlar
<permission> öğesinde yapılan bu iyileştirmeler, izin isteklerini kolaylaştırmak ve web'deki kullanıcı deneyimini iyileştirmek için sürdürdüğümüz çalışmaların bir parçasıdır. Bu yeni özellikleri denemenizi ve bu özelliği iyileştirip geliştirmemize yardımcı olmak için geri bildirimde bulunmanızı öneririz.