Tablosuz Tasarım Fetişi ve Erişilebilirliği Zayıf Web Standartları
Evvela şunu söylemeliyim, bu yazı web tasarımına dair herkesin ilgisini çekemeyecek teknik detaylar içeriyor. Bu nedenle sadece web tasarımına ilginiz varsa okuyun. Yazının başlığını uzun tutmak istemedim, o yüzden önce başlığa ek açıklama getireyim:
Web standartlarında tasarım yapmak isteyen dünya gençlerinden bazıları, esas amaçlarından biri erişilebilirlik olan web standartlarını birer tabu olarak kabul edip tuhaf tuhaf işler yapıyorlar.
Tabi problemin esas sorumlusu “astığım astık, çaldığım düdük” politikası ile internetin gelişimine ket vuran ve kullanıcı deneyiminin fakirleşmesine yol açan Microsoft. Eğer Internet Explorer tutarlı bir CSS ve Javascript kabul etme politikasına sahip olsaydı bu yazıda şikayet edeceğim türde şeyler olmayacaktı. Tablosuz tasarımdan başlayalım. Şu anda varolan ve birçok browser’da kullandığımız CSS spesifikasyonunda sütun mantığı yoktur. Yani web standartlarında tasarımda tablo ile oluşturulan görsel düzenin yerini tutabilecek bir kodlama, bir css düzeneği yok. Bunun yerine tasarımda uydur kaydır kullandığımız “float” bir metnin içindeki resmi ya da herhangi başka bir kutuyu o metnin içinde sağa ya da sola dayamak için kullanılır.
Sütunların yerine geçebilecek column (kolon) özelliği verebilme olanağı CSS3 te var. Bu da henüz hayata geçebilmiş değil (firefox dışında). Hal böyleyken, gerek çağdaş web tarayıcılarında gerekse Internet Explorer’ın quirk olmayan standartlara uygun modunda bizler float özelliğini hack ederek kullanıyoruz. Amacımız ne? Tablo kullanmamak. Nedeni ne? Çünkü tablo bir html metin içerisinde görsel özellik tanımlıyor. Web standartlarına göre bir web sayfasının görsel düzeni html ile değil CSS ile sağlanır. Tablo kullanılmamasının nedeni budur. Tablo, tabular veri için kullanılır. Örneğin takvim, örneğin maç sonuçları vs.
Ancak belirttiğim gibi, tabular olmayan veriyi html kullanmadan sütuna dönüştürmeye kalkarsak sonuç CSS yi hack etmektir. Sütun özelliği amacıyla oluşturulmamış bir attribute’u sütun oluşturmak için kullanmış oluyoruz.
Bununla nereye varıyoruz? Hiçbir yere varmıyoruz, şöyle ki:
Tablo kullanmıyoruz çünkü görme özürlüler ve google benzeri robotlar, lynx gibi tarayıcılar html belgeyi sıralı olarak okuyorlar bu da karmaşaya yol açıyor. Bu doğru mu? HAYIR!
Tablo ile sütunları belirlediğimiz bir tasarımda bu web sitesinde olduğu gibi solda içerik sağda menü ve benzeri işlevler gören div kalıpları varsa bu sırayı bozuyor mu? HAYIR!
Tablo içindeki verilerin gösterilmesi tablonun tamamının yüklenmesini mi gerektiriyor? HAYIR!
Peki sütun oluşturmak için tablo kullanıp, geri kalan görsel özellikleri CSS ile düzenlesek web standartlarının amacından sapmış mı olacağız? HAYIR! HAYIR! HAYIR!
Üstelik, bu sayede hem hack kullanmamış oluyoruz hem de CSS dosyasının boyutunu azaltıyoruz hem de javascript yükünü azaltıyoruz.
Arkadaşlar bu gerçekten çok önemli bir konu. Ben bir süre önce aldığım kararla Internet Explorer’ı bu blogda desteklemiyorum. IE6 ile ziyaret edenler sağ tarafta olması gereken sütunu aşağıda görüyorlar. Şimdi bu benim kişisel sitem ve blogum, kendi şahsi kararım. Beni bağlar. Peki ama günlük gazeteler, ticari işlevi olan web siteleri, bankalar, alışveriş siteleri ne yapsın?
Her gün yüzbinlerce orta seviye bilgisayar kullanıcısına erişmek zorunda olan, interneti mecburen satın aldıkları bilgisayarın üzerinde gelen yazılımla kullananlara erişmek zorunda olan siteler ne yapsın?
Bu işin çözümü melez tasarımdadır. Diğer türlü web tasarımcıları uyumluluk adına müşterilerinden daha fazla saat çalışma ücreti almak durumundadırlar. Aslında bu parayı web tasarımı müşterisi adına Microsoft’un ödemesi gerekir ama dünyada işler mantıkla yürümüyor.
Her neyse öfke içeren bir yazı bu o yüzden iki lafı biraraya ne derece getirebildim bilemiyorum. Melez tasarımın açıklamasını yaparak konuyu kapatmam en iyisi olacak.
Bütün browserlarda erişilebilir (erişilebilirlik ile herkesin aynı şeyi görmesi aynı şey değil, doğrusu görüntünün korunmak zorunda olduğu diyelim) olmak zorunda olan bir web sitesi hazırlamanız gerekiyorsa sütunlar için tablo kullanın. Ana sütunlar için tablo kullandıktan sonra işin geri kalanını CSS ile halledin. CSS ile konumlandırma hiç şüphesiz en doğru iştir ama veri ile tasarımı ayırmaya henüz elverişli değildir. Özellikle de dünya çapında yarıdan fazla insan hala Internet Explorer kullanıyorken (ie6, ie7 hiç farketmiyor!) Microsoft’un web standartlarına uyum göstermemesinin bedelini müşterilerimize ve internet kullanıcılarına ödetemeyiz.
İşte böyleyken böyle.
Kaynak: http://osman.borutecene.com
Tablosuz Tasarım Fetişi ve Erişilebilirliği Zayıf Web Standartları | Kmrn.Net said,
Wrote on Aralık 31, 2007 @ 17:32
[…] Tabi problemin esas sorumlusu “astığım astık, çaldığım düdük” politikası ile internetin gelişimine ket vuran ve kullanıcı deneyiminin fakirleşmesine yol açan Microsoft. Eğer Internet Explorer tutarlı bir CSS ve Javascript kabul etme politikasına sahip olsaydı bu yazıda şikayet edeceğim türde şeyler olmayacaktı. (more…) […]