CSS4 Neden Hiç Çıkmadı, CSS5 Ne Anlama Geliyor?
CSS3 diye bir paket var, CSS4 diye bir sürüm hiç olmadı. Bu bir gecikme değil, 2009'da verilmiş bir kararın sonucu: CSS o tarihte tek bir spesifikasyon olmaktan çıkıp her biri kendi seviye numarasını taşıyan modüllere bölündü. W3C bünyesindeki CSS-Next topluluğu şimdi sürüm numarası yerine dönem etiketi öneriyor.
Tek bir CSS4 neden çıkmadı
CSS3, bir grup modülün üçüncü seviye spesifikasyonlarına verilen ortak isimdi. O paketten sonra modüller birbirinden bağımsız ilerledi: Selectors bugün Level 4'te, Color Level 5'te, Cascade and Inheritance Level 6 taslağında. "CSS4 ne zaman çıkacak" sorusunun teknik bir karşılığı bu yüzden yok. Tek bir numara, farklı hızlarda ilerleyen onlarca modülü aynı anda tarif edemez.
Eksik olan spesifikasyon değil, isim. 2009 sonrasında gelen her şeye topluca ne diyeceğimiz belirsiz kaldı, sektör de boşluğu "modern CSS" ile doldurdu. Geoff Graham'ın sorduğu gibi, bu terimin ömrü yazının yayın tarihi kadar.
CSS-Next ne öneriyor
W3C içinde CSS4 Community Group adıyla kurulan, kendini CSS-Next diye anan topluluk tam olarak bu adlandırma boşluğuyla uğraşıyor. Tartışma 2020'de Jen Simmons'ın CSSWG deposunda açtığı 4770 numaralı konuyla başladı, Chris Coyier ve PPK gibi isimlerin desteğiyle büyüdü.
Masadaki taslak bölümleme şöyle:
| Etiket | Aralık | Kapsam |
|---|---|---|
| CSS3 | ~2009-2012 | Seviye 3 spesifikasyonları, değişmez |
| CSS4 | ~2013-2018 | CSS3 sonrası temel hale gelmiş özellikler |
| CSS5 | ~2019-2024 | Benimsenmesi artan yeni özellikler |
| CSS6 | ~2025 ve sonrası | Erken aşama |
Grubun spesifikasyon yazmak, tarayıcı uyumluluk verisi tutmak ya da en iyi pratikleri öğretmek gibi bir iddiası yok. Yapılan iş adlandırma işi, o kadar.
CSS3 etiketi nereye yapıştı
İş ilanlarında hâlâ "CSS3 bilgisi" isteniyor. Bu ilan pratikte şunu soruyor: border-radius çıktığından beri CSS yazdınız mı? Eğitim materyallerinde de aynı logo duruyor; Flexbox'tan color-mix()'e kadar yüzlerce özelliği kapsadığını iddia eden tek bir rozet, ilk taslakları 1999'da yayımlanmış bir seviyenin adını taşıyor.
Geçen yıl bir ilan yazarken "CSS3" satırını silip aday adayının gerçekten kullanacağı özellikleri tek tek saydık; ilan uzadı, ama gelen örnek çalışmalar konuştuğumuz işe çok daha yakındı.
Dönem etiketinin zayıf yeri
Sorun fikirde değil, ölçütte. CSS3 spesifikasyon seviyesiyle tanımlanıyor, CSS4 ve CSS6 tarih aralığıyla, CSS5 ise "benimsenmesi istikrarlı artan" özelliklerle. Üç ayrı ölçüt, tek bir sayı dizisi. Bir özellik hangi kutuya düşecek, sorunun cevabı hangi ölçütü seçtiğinize bağlı kalıyor.
:has() bunun temiz örneği. Selectors Level 4 taslağında yıllarca durdu, ilk tarayıcı desteği 2022'de geldi, ana tarayıcıların tamamında ancak 2023 sonunda kullanılabilir hale geldi. Spesifikasyon tarihine bakarsanız bir dönem, yaygın desteğe bakarsanız bir sonraki dönem.
Etiketi kurtarmanın yolu ölçütü tek bir şeye sabitlemek: özelliğin Baseline'a girdiği yıl. Yazan insanın umursadığı tarih zaten o, spesifikasyonun ilk taslak tarihi değil.
Bugün ne yapmalı
Tartışma sürerken pratik karşılığı basit. İlanda ve müfredatta numara yerine özelliğin adını yazın, "modern CSS" ifadesini kullanacaksanız yanına yılı ekleyin, destek durumunu sürüm numarasından değil Baseline'dan kontrol edin. Adlandırmanın kendisine katkı vermek isteyen için grup herkese açık ve yorum talebi hâlâ duruyor.
Kaynaklar