text-transform kuralı ve I, ı, İ, i Karakterleri Dönüşüm Sorunu
text-tranform
CSS kuralı ile bir elementin içindeki karakterlerin büyük – küçük harfler arası dönüşümünü sağlayabiliyorsunuz. W3C önergesine göre bu dönüşüm, elementin içeriğindeki metnin algılandığı dilde yapılmalı. Yani metin İngilizce ise İngilizce karakterler arasında, Rusça ise Ruça karakterler arasında yapılmalı. Ancak Türkçe bir sayfada bu kuralı kullandığınızda i’ler I’ya, ı’lar da I’ya dönüşmekte. Peki neden böyle bir sorun mevcut?Öncelikle sorunu daha rahat ifade etmek için bir örnek göstermek gerekli. Aşağıda uzun bir örnek ve W3C üzerinde de bir sınama vakası var.
Sorun yukarıda da belirttiğim gibi, Türkçe metinde ı<->I ve i<->İ arası dönüşümde harflerin kendisinin değişmesi. Şunu rahatlıkla söyleyebilirim ki W3C CSS 2.1 önergesinde bu dönüşümün nasıl yapılacağına dair verilen tarife göre bizlerin bu şekilde bir sorunla karşılaşmaması gerekli. Biraz daha araştırınca, bu sorun tarayıcı üreticilerinin göz ardı ettiği ve üzerine hata raporlarının açıldığı eskice konulara kadar uzanıyor. Dahası CSS3 içindeki ilgili taslak önergede bu soruna gönderme bile var. Mozilla Firefox bu konuda bir çalışma yaptı ve Türkçe gibi başka dillerde meydana gelen bu sorunu çözdü. Ancak diğer tarayıcılarda bu sorun helen çözülmeyi bekliyor. Şuan herkese açık iki tarayıcı çekirdeği mevcut. Gecko olanda sorun çözülmüş durumda, webkit’te ise bu sorun 21312 numaralı hata kaydı olarak bildirilmiş durumda. Presto ve Trident’in ise hata takip sistemine ulaşamadığımız için herhangi bir bilgi veremeyeceğim.
Sonuç olarak bu yazı soruna bir çözüm önermiyor, sadece sorunun durumunu ortaya koyuyor. Tarayıcı çekirdeklerindeki sorun çözüldükçe daha serbest şekilde text-transform
kullanabileceğiz. Tarayıcı üreticilerinin şuanki öncelikleri sanırım bu konu değil, belki onların kulağını biraz çekmek gerekiyor olabilir. Ne dersiniz?