Web geliştirmenin temel ilkesi: en az yetki ilkesi
- Web geliştirmenin temel ilkelerinden biri olan 'en az yetki ilkesi', verilen amaç için uygun olan en düşük seviyeli dili seçmek anlamına gelir.
- HTML, CSS ve JS arasında en çok HTML tercih edilir; ardından CSS gelir, son sırada ise JS bulunur.
- JS en çok yönlü olanıdır, ancak yüklemenin başarısız olması, ek kaynak tüketimi ve erişilebilirlik sorunları gibi riskler taşır.
Özel anahtar
- Tasarım gereksinimlerine göre normal bir onay kutusu yerine özel bir anahtar uygulamak gerektiğinde, JS yerine
:checked sözde sınıfını kullanan HTML ve CSS ile bunu gerçekleştirmek mümkündür.
- Tarayıcı, etiketin içindeki giriş öğesini otomatik olarak ilişkilendirip tıklanabilir hale getirerek ek bir JS işleyicisine gerek kalmadan geçiş işlevi sunar.
Yerel otomatik tamamlama özelliği: Datalist
- JavaScript yerine tarayıcının yerleşik özelliği olan
datalist kullanılarak, kullanıcının yazdıkça seçeneklerin otomatik filtrelenip gösterilmesi sağlanabilir.
- Kullanıcı istediği değeri girebilir ya da tarayıcının eklediği açılır menü simgesine tıklayarak tüm seçenekleri görebilir.
Yerel renk seçici
- Karmaşık JS kullanan bir renk seçici yerine, tek satırlık HTML ile uygulanabilen yerel bir renk seçici kullanılabilir.
- Chrome tabanlı tarayıcılarda ekranın herhangi bir yerinden renk seçmeye imkân veren ek bir özellik sunulur.
Akordeon
details ve summary öğeleri kullanılarak, içerik kullanıcı ihtiyaç duyana kadar gizlenebilir ve sayfanın yapısı iyileştirilebilir.
open niteliği kullanılarak akordeon öğelerinden biri varsayılan olarak açık bırakılabilir.
Etkileşimli modal
dialog öğesi kullanılarak kullanıcıya bilgi veren veya ondan girdi isteyen bir modal uygulanabilir.
- Modalı açmak için JS kullanılır, ancak geri kalan her şey yerel HTML ve CSS ile işlenebilir.
Sonuç
- Bu yazı, daha az JS kullanıp CSS ve HTML'in sunduğu özelliklerden yararlanarak daha iyi web siteleri yapılabileceğini gösteriyor.
- Erişilebilirliği göz önünde bulundurarak yeni uygulama yöntemlerini test etmek önemlidir.
GN⁺ görüşü
- Bu yazıdaki en önemli nokta, web geliştirmede JS'ye bağımlı kalmadan HTML ve CSS'in yeteneklerinden azami ölçüde yararlanarak performans ve erişilebilirliğin artırılabileceğidir.
- Web geliştiricileri için ilgi çekici olmasının nedeni, daha önce yalnızca JS ile mümkün olduğu düşünülen işlevler için daha basit ve daha verimli yeni yöntemler önermesidir.
1 yorum
Hacker News yorumu
JavaScript’in uyumluluğu daha iyi olduğu için belirli alanlarda kullanılmasına dair bir değinmenin eksik olduğuna dikkat çekiliyor
appearanceözelliği kullanılırken MDN’de birçok uyarı veriliyor; özellikleappearance: nonekullanımı için kapsamlı test öneriliyordatalist, Firefox Android’de çalışmıyor ve yalnızca basit bir giriş kutusu gibi görünüyordetailsvedialogtutarsızlığını kabul ediyor2023’te bile form ve kullanıcı veri girişi konusunda hâlâ genel kullanıcı deneyimi (UX) sorunları yaşanmasına şaşırıldığı ifade ediliyor
datalistin bilinmediği, ancak Chrome Android’de de düzgün çalışmıyor gibi göründüğü belirtiliyorscroll-behavior: smoothile yerel yumuşak kaydırma,scroll-snapile yerel carousel ve kaydırma tabanlı animasyonlardan söz ediliyor<details>kullanıldığında içeriğin Ctrl+F ile aranabildiği ve JavaScript accordion’ların açılamadığı durumlara karşılık<details>in açılabildiği avantajından bahsediliyordatalistin, dahili araçlar dışında uygun bir seçim olmadığı görüşü dile getiriliyorHTML standardına uyulursa her şeyin tutarlı olacağı ve erişilebilirlik ya da çeviri gibi şeylere kolayca uygulanabileceği görüşü paylaşılıyor
CSS’nin web sayfalarını okunması zor hale getiren bir araç olarak kullanılabildiğine dikkat çekiliyor
Web geliştirmenin temel ilkelerinden biri olarak "En Az Güç Kuralı (Rule of Least Power)" anılıyor