“XHTML’in anlamlısı, anlamsızı olur mu?” demeyin. XHTML’in yaratıcıları onu kullanın diyorlar, ama hemen ardından ekliyorlar, doğru bir şekilde kullanın.
XHTML öz olarak klasik HTML’in düzenlenmiş, genişletilmiş ve XML’in kurallarıyla yeniden oluşturulmuş halidir. Peki, neden böyle bir düzenlemeye gidildi? diye soracak olursanız; dağınık HTML webin ihtiyaçlarına cevap vermiyor ve gelecek vaat etmiyordu. Web uygulamalarındaki gelişim beraberinde, karmaşık süreçler ve platformlar arası entegrasyonu şart koşuyordu. Bu yüzden bu dağınıklığı gidermek, dili tutarlı bir yapı içerisine sokmak gerekmekteydi. Bugünün web uygulamalarına sadece modern bilgisayarlardaki tarayıcılardan bağlanılmıyor. Bugün cep bilgisayarları, cep telefonları, bilgisayarlar, ekran okuyucuları gibi pek çok platformda aynı XHTML kullanılıyor.
Buna ek olarak HTML’i XHTML olarak yeniden formüle etmek, XForms, SVG, XPath gibi XML tabanlı araçların XHTML’e kolayca entegrasyonunu sağlıyor.
Durum böyle olunca ortaya platform bağımsız bir XHTML çıkıyor. Ve XHTML’in işi bize “Burada ne var?” sorusunun cevabını vermek, fazlası değil.
Biraz komik bir başlık oldu ama olsun
Web’de Altın Kural: Görselliği Ayırın isimli yazımda aslında kısmen bu konuya değinmiştim. Orada da bahsettiğim gibi XHTML’in görevi sadece içeriği oluşturmaktır. Yani, bir web sayfasına ait XHTML koduna baktığımızda, gördüğümüz tek şey o sayfanın içerisinde yer alan başlıklar, linkler, form elemanları ve diğer XHTML unsurlardır.
Tabi eskiden böyle değildi. Daha dünya üzerinde CSS yokken, içeriği ve sunumu oluşturmak görevi HTML’indi. CSS ile XHTML, içeriğimizin nasıl göründüğüyle değil, ne anlama geldiğiyle ilgilenmeye başladı. Bu konuyla ilgili daha detaylı yazıya buradan ulaşabilirsiniz.
Web uygulamalarında içeriği oluştururken, XHTML’in bizlere sunduğu etiketleri kullanırız. Bu etiketler içeriği tanımlama ihtiyaçlarına göre oluşturulmuştur. Mesela içeriğimizdeki paragrafları tanımlamak için <p> etiketini, bir kod bloğu varsa <code> etiketini, bir blok alıntı için <blockquote> etiketini kullanırız. XHTML bize ihtiyacımıza uygun pek çok etiket sunarak anlamlı kod yazmamızı destekliyor…
Bu kavram düne kadar pek kimse tarafından bilinmiyor ve önemsenmiyordu. Web geliştiricilerinin standartlara olan ilgisinin artmasına paralel olarak anlamlı kod yazma kavramı da kabul gördü. Hemen örnekleyelim…
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><a href="#">ANASAYFA</a></td>
<td><a href="#">HAKKIMIZDA</a>;</td>
<td><a href="#">YAZILAR</a>;</td>
<td><a href="#">İLETİŞİM</a></td>
</tr>
</table>
</td>
</tr>
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="250">Yan Kolon</td>
<td>İçerik</td>
</tr>
</table></td>
</tr>
<tr>
<td>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</td>
</tr>
</table>
Yukarıdaki XHTML koduna baktığınızda ne olduğunu anlayabildiniz mi? Burada klasik tablo yöntemini kullanarak web sayfamızın bloklarını oluşturduk. Bir de aşağıdakine bakın bakalım…
<div id="Tasiyici">
<div id="Baslik">
<ol id="Navigasyon">
<li><a href="#">ANASAYFA</a></li>
<li><a href="#">HAKKIMIZDA</a></li
<li><a href="#">YAZILAR</a></li
<li><a href="#">İLETİŞİM</a></li>
</ol>
</div>
<div id="Body">
<div id="YanKolon"></div>
<div id="Icerik"></div>
</div>
<div id="Altlik">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
</div>
</div>
Buradaki örnekte görüldüğü gibi XHTML kod içerisine baktığımızda ne olduğunu kolayca anlayabiliyoruz. Blokları, navigasyonu kolayca seçebiliyoruz. Ayrıca gereksiz etiket kullanmadığımız için hem sayfa boyutu düşmüş oluyor, hem de kafamız karışmıyor. Bunun daha anlaşılır olduğu konusunda sanırım hepimiz hem fikiriz.
Başka bir örnek, aşağıda bir navigasyon örneği var.
<p> <a href="#">anasayfa</a><br> <a href="#">hakkımızda</a><br> <a href="#">yazılar</a><br> <a href="#">iletişim</a> </p>
Bu da anlamlı ve doğru yazılmış bir navigasyon;
<ol id="Navigasyon">
<li><a href="#">anasayfa</a></li>
<li><a href="#">hakkımızda</a></li
<li><a href="#">yazılar</a></li
<li><a href="#">iletişim</a></li>
</ol>
Bu örnekte, bir paragraf içinde geçen bir cümlede, yazının nerede yayınlandığını ifade etmek istiyoruz.
<span>Bu yazı <span class="nerede">oztecnic.com</span>'da yazıldı. ... ... </span>
<p>Bu yazı <cite>oztecnic.com</cite>'da yazıldı. ... ... </p>
Anlamlı XHTML kod yazmak geliştirdiğimiz web uygulamalarını daha erişilebilir kılar. Bu da ziyaretçi memnuniyetini pekiştirir. İçeriği netleştirir, web geliştiricisin algılama süresini fark edilir şekilde aşağı çeker, bu da zamandan ve emekten tasarruf etmemizi sağlar.
Fırından yeni çıkmış yazılardan haberdar olmak için RSS yayınıma abone olabilir ya da beni Twitter'dan takip edebilirsiniz.
Yorumla BakalımBu Makale için toplam 9 adet yorum bulunmaktadır...
Bu Makale 11 February, 2009 ve saat 5:20 itibariyle Web Standartları, XHTML kategorisi altına kaydedilmiştir. Bu makale ile ilgili yorumları RSS 2.0 beslemesinden takip edebilirsiniz.. Bu makale için yorum yapabilir, veya kendi web sitenize trackback sağlayabilirsiniz...
27 March, 2009 ve saat 00:17:20'de gönderdi...
Benim anlayamadığım, XForms, SVG, XPath gibi XML araçlarını kullanarak herhangi bir .XML dosyasından başka bir dil kullanmadan XHTML sayesinde sayfaya veri çekebiliyromuyoz yada yanlışmı anlamışım. XML çok merak ediyorum faka bir türlü üzerinde çalışma fırsatı bulamadım.
27 March, 2009 ve saat 00:27:45'de gönderdi...
@Murat, XHTML’in işlevi, içeriği yani datayı oluşturmak ve saklamaktır. Bu anlamda veriyi tutan zaten kendisi, o açıdan veri çekmesi tek başına mümkün değil.
Bugünün teknolojiisnde, Jvascript ya da ASP-PHP gibi programlama dilleri üzerinden, XML dokümanlardaki veri okunup, işlenebiliyor.
Diğer XML tabanlı araçlar konusu ise; farklı işlevleri olan bağımsız araçlar, XPath, XForms gibi.. XHTML’in kendisi de XML tabanlı olduğu için birlikte çalışabiliyor, entegre edilebiliyor.
Bildiğim kadarıyla mesela XForms kullanılarak, basit anlamda, bugün javascript ile gerçekleştirilen Form Alanlarının doğrulanması (validation) işlemi Xforms’a aktarılacak…
27 March, 2009 ve saat 00:48:54'de gönderdi...
@oztecnic
İlginiz, yazılarınız ve yorumlarınız için teşekkürler.
XML’le bir an önce tanışıp meraklarımı gidermem gerekiyor.
27 March, 2009 ve saat 03:28:57'de gönderdi...
aslinda bu sekilde divler, class lar ve CSS ile calismanin hiza pek bir etkisi oldugunu dusunmuyorum, aksine divlerin explorer da table ye oranla daha yavas aldigini okudum yazilar vardi.. ama bu degilki iyi taraflari yok. en iyi tarafida etiketler ve class lar bu sekidle fazla ugrasmiyoruz ve kolay bir sekilde divler uzerinde hakimiyet kurabiliyoruz. bu gercekten webmaster arkadaslarimiza buyuk koalylik ve zamandan tasarruf saglamaktadir. bu sebeple bende table etiketlerini kullanmam devamli olarak div etiketini ve CSS yapisini kullanarak gelistirmelerimi yaparim.. arada div le yapamadigim seyler olabiliyor ama bu kisitli olmuyor cogu zaman
guzel makale ellerine saglik. ozellikler verdigin ornekler icin tesekkurler. bu tur yazilarda ornek kullanilmasi benim her zaman hosuma gitmistir. (bilmedigimden degil, yararli oldugunu dusundugumden)
27 March, 2009 ve saat 03:41:09'de gönderdi...
Sevgili kauza, genel yaklaşımımız aslında web standartları üzerinden gitmeli. IE genel olarak zaten standart-dışı bir tarayıcı olarak tanımlanıyor. Bu anlamda onun verilerini bence referans almamalıyız.
Buna ek olarak bir layout oluşturulurken tablolar kullanmak, divlere ya da anlamlı kod yapılarına göre daha fazla etiket (gereksiz) kullanmamız sonucunu doğuracak, bu da direk olarak dosya boyutunu şişirecek.
Ek olarak başka kod geliştiriciler açısından, tablolar ile anlamsız olarak geliştirilmiş yapılar kafa karıştırmaya devam edecek…
Yorumun ve ilgin için teşekkür ederim…
30 March, 2009 ve saat 00:39:09'de gönderdi...
bu konuda size katiliyorum
ie gercekten cok gicik ve standart disi, gecen yazarlarimizdan birisi(makaleci.com) admin paneline girememis ie kullaniyordu degistirmesini soyledim ve sorunsuz girmeye basladi. bir diger ornek bir uyemiz (kuazA.org) a ilk girdiginde 1-2 saniye beklettigini soyledi bende firefox kullanmasini onerdim ie kullaniyorsan boyle olabilir yazdim, cevap geldi ve sorunun ie den kaynaklandigini yazdi. iide tarayicilar arasinda bu kadar fark varken biz gelistiriciler ne yapsin..
30 March, 2009 ve saat 01:04:13'de gönderdi...
@kauza, firefox’u desteklemeye devam
1 February, 2010 ve saat 12:22:33'de gönderdi...
sitenizi yeni buldum tanidim elinize saglik cook egitici gelistirici konulara deginmisisniz sizden ricam tabii bu mümkünsee , kod yazarken bu taglarin bir listesini de verseniz neyin ne anlama geldigini anlatan ne ise yaradigini anlatan mesela , , ,a………….gibi kodlarin ne türkcesi ne bunler nerde nezaman ne ise yara gibi bir baslik altin da toblayip yayinlarsaniz cook sevinirimm basarilar ve simdiden tesekkürler
8 July, 2010 ve saat 21:27:23'de gönderdi...
sayfanız web açısından gerçekden işe yarar bilgiler dolu ..
teşekürler başarılar diliyorum..