Tablo mu katman mı?
Posted: Nisan 22nd, 2002 | Author: İsmail KIRTILLI | Filed under: Web Tasarımı | No Comments »Normalde e?‘ye teknik konularda yazmıyordum, ancak dün akşam biolight‘la konuşurken, ikimizde oldukça önemli bir konunun göz ardı edildiği konusunda hem fikir olduk.
Aslında web tasarım komunitesi, genelde katmanların esnekliği, kullanımının kolaylığı konusunda hemfikir. Ancak CSS desteğinin birçok browser’da hala yaygın olmaması ve farklı “browser”ların, CSS’yi farklı şekilde yorumlaması gibi problemler tasarımcıları CSS kullanımı konusunda daha temkinli olmaya itiyor. Bu yüzden de, biraz daha kolaycılık yaparak (aynı benim bu sitede yaptığım gibi
) kütük gibi tabloları sayfaya döşemek daha güven verici geliyor. [Not: Bu yazı e?'nin eski tablo tasarımı zamanında yazılmıştır.]
Oysaki burada da ayrıntılarıyla anlatıldığı gibi, katman kullanmak hem kullanıcı hem de siteyi yapan kişi açısından pek çok esneklik ve kolaylığı beraberinde getiriyor.
Sürekli bahsedilen “browser” uyumsuzluğu ise, daha çok kullanıcı profiliniz, ve sitenizin amaçları doğru şekilde tesbit edildiğinde aşılabilecek gibi gözüküyor.
Ne kadar erken?
Genelde, CSS’ye dayalı tasarımlara karşı kullanılan argümanların başında browser uyumsuzluğu, yada başka bir ifade ile henüz teknolojik olarak buna herkesin aynı oranda hazır olmadığı geliyor.
Tanıdık-bildik “browser”ların hiçbiri CSS2‘yi henüz tam anlamaıyla desteklememesine rağmen, bunlardan Netscape, IE5+, Opera, OmniWeb ve diğerlerinin son versiyonları genelde CSS1‘i hatırı sayılır şekilde desteklerken, CSS2′nin de birçok kısmında sorunsuz çalışıyor. Daha da önemlisi, insanlar bu yeni “browser”lara terfi konusunda nisbeben daha gayretli görünüyorlar.
Bir yıl öncesinin istatistiklerine göre, İnternet kullanıcılarının dörtte birinden fazlası CSS’yi tam desteklemeyen browserlar (IE 4 dahil) kullanıyorlamış. Bugün ise JavaScript ve Java düşünüldüğünde, durumun büyük bir gelişme katettiği söylenebilir.
Neden katman kullanmalıyız?
“Layout” için tablo kullanılmamasını savunanların öne sürdüğü gerekçeler daha çok, katmanların daha hızlı yüklenmesi (aslında tam da öyle sayılmaz – katmanlara genişlik değerleri verilmediğinde tablolardaki yüklenme sorunu katmanlarda da oluyor-, katmanlar sayesinde tasarım üzerinde daha fazla kontrolümüz olacağı yönünde. Bunları kategorilendirisek:
- Kavramsal olarak: HTML tabloları düz yüzeysel veriyi göstermesi amcıyla düşünümüştür. Layout için tablo kullanımı HTML 3.2‘de bahsedilmişse de, sadece mevcut kullanımın varolduğunu doğrulamak amacıyla söylenmiştir. Kavram olarak orijinal RFC‘de geçmemiştir. Ayrıca ileriye dönük bir tavsiye olarak, W3C tablolar yerine “style sheets” kullanılmasını tavsiye etmiştir. Buna göre “layout” için tablo kullaılması, “jogging”e giderken klasik ayakkabı giymeye benzetilebilir: bir şekilde işinize yaraycaktır, ancak yanlış iş için yanlış araç kullanıdığınızdan verimlilik, rahatlık gibi konularda problemleriniz olacaktır.
- Erişebilirlik: “Screen readers” ve “text browsers” tablo temelli layoutları yorumlamada zorlanıyorlar ve çoğu zamanda yanlış yorumluyorlar. Aslında ,W3C, Web Content Accessibility Guidelines‘da, açıkça “layoutlarda tablo kullanmayın.” diyor. Ve “CSS kullanarak hazırlanmış, tablosuz bir tasarım en uygun, ve birçok farklı erişim yöntemini kullanana kişiler için (örneğin cep telefonu, “screen reader”, Internet TV yada masaüstü bilgisayarı) en uygun erişim biçimidir” diyor.
- Verimlilik: Hem steyi yapan hem de okuyucu için, CSS-temelli tasarım, tablo-temelli tasarımda neredeyse imkansız olabilecek derecede esneklik sağlıyor. Site yapanlar bir dosyayı değiştirerek sitenin tamamını kolayca ve hızlıca deşiştirebilmelerinin yanında, farklı kullanıcılar ve faklı kullanımlar için alternatif tasarımlar da yapabilirler. İşte bu yüzdendir ki tablo-temelli “layout” kullanmak, ilerisi için uyumluluk ve erişebilirlik gibi konularda dezavantajlar içeriyorr.
Peki ne yapmalı?
Şu anki brower yazılımlarının gittiği yön, ve W3C’nn tavrı düşünüldüğünde, CSS-temelli tasarım, gelecekteki web tasarım metodunun gerçek yöntemi olacak gibi gözüküyor. Bunu dikkate alarak biran önce bu trende ayak uydurmak, zaman kazanmak, ve Css-temmelli tasarımın getirdiği avantajlardan yararlanmak açısından önemli.
Bunun yanında tablosuz tasarıma geçerken, tasarımcılardan sitenin hitap ettiği kitlenin özellikleri, siteyi takip eden kullanıcıların profilleri, donanımları ve en sonunda da sitenin amacı gibi konularda cevap bekleyen sorular olacak. İşte bununla ilgili birkaç öneri:
- Ziyeretçilerinizin çoğunun “browser”larında iyi bir CSS desteği var mı? Eğer, örneğin, ziyarrtçilerinizin 30%’u Netscape 4.x kullanıyorsa, CSS-temelli “layout”‘a dönmek iyi bir fikir olmayabilir.
- Sitenizin birden fazla tasarımı olabilir mi?
Bazı siteler Javascript kullanarak eski “browser” yazılımına sahip olanların, tablo-temmeli tasarıma yöneldnrilmesini, diğerlerinin ise normal, katman-temelli tasarımı görmelerini sağlıyorlar. - Sitenizin yeniden tasarımı şimdi, 6 ay içinde mi, 1 yıl sonra mı tamamlanacak?
Planlanan süre ne kadar uzun ise, bu süre içinde sitenizi takip edenlerin CSS-temelli tasarımı destekleyen “browser” edinme olasılığı da o derece fazladır. - Sitenizin içeriğini farklı erişim metodlarına (örneğin cep telefonu, InternetTV, “screen reader” vs.) açıyor musunuz?
Eğer öyleyse, CSS’nin faydaları dezavantajlarından kesinlikle daha ağır basacaktır.
Sonuç olarak.
Sayfalarda “layout” olarak CSS-katman kullanmak birçok yönüyel, hem okuyucu hem de siteyi yapan açısından kolaylıklar ve faydalar sağlıyor.
Kullanıcıların, yazılım ekipmanı olarak bugün için buna hazır olmadığını kabul etsek bile, hergeçen gün büyüyen sayıda bir kullanıcı grubu için bu tarz tasarımın daha uygun olacağı gerçeğini aklıdan çıkarmamak, ona göre hazırlık yapmak gerekiyor.