XHTML Kullandığınıza Emin misiniz?

Bu sayfada önemli bir konudan bahsedeceğiz. Bazen elinizdekini daha iyi hale getirmek için yaptığınız değişiklik -eğer neyi, neden değiştirdiğinizi tam olarak bilmiyorsanız-, sizi bulunduğunuz noktadan daha geri bir noktaya götürebilir.

Internet'te birkaç senedir XHTML ile işaretlenmiş sayfaları daha sık görmeye başladık. HTML neredeyse eski, artık geçersiz hale gelmiş bir dil olarak değerlendiriliyor. Bu iki dil arasındaki farkı, hangisini nerede, neden ve nasıl kullanmak gerektiğini başka bir sayfada ele alacağız.

Sayfanızı Test Edin

Şimdi küçük bir test yapalım ve sayfanızı -eğer- XHTML ile kodladıysanız ne kazandınız, ne kaybettiniz görelim.

Lütfen XHTML sayfanızın kaynak kodunu açın ve head elemanının içindeki http-equiv="Content-Type" özelliğini gösteren meta elemanını bulun. Aradığımız satır şöyle birşey olmalı:

<meta http-equiv="Content-Type" content="...

Yukarıdaki satırda content özelliğinden sonra üç nokta var. Sizin kodunuzda ise bu noktaların yerinde bir değer yazıyor olmalı.

  • Eğer sizin sayfanızda yazan değer text/html ise, sayfanız hiçbir internet tarayıcısı tarafından bir XHTML sayfası olarak işlenmeyecektir. Yani şu durumda XHTML kullanmıyorsunuz!
  • Eğer sayfanızda application/xhtml+xml veya application/xml yazıyorsa, aslında bunu hiç yazmamanız gerekirdi.

Ne demek istediğimizi biraz daha açıklayalım.

XHTML Sayfalarını text/html Olarak Sunmak

Sayfanızda, content özelliğine text/html yazdığınızda bu bütün tarayıcılara (Explorer, Firefox, Opera vb.) o sayfanın düz metin içerdiğini ve HTML kurallarına göre işlenmesi gerektiğini söyler.

Yani XHTML ile kodladığınız sayfa bir HTML sayfası gibi algılanır. Bu durumda XHTML sayfanızın hatalı/eksik kodlanmış bir HTML sayfasından hiçbir farkı yoktur.

Biliyorsunuz, tüm tarayıcılar hatalı HTML sayfalarını da doğru bir şekilde göstermeye çalışırlar. Örneğin herhangi bir etiketi yanlış yazdığınızda, bir doctype belirtmediğinizde veya <html> elemanını sayfada hiç kullanmadığınızda bile sayfayı işleyen tarayıcı bu -ve buna benzer- hataları düzeltmeye çalışır.

İşte text-html olarak sunulan bir XHTML sayfası da tarayıcıya hatalarla dolu bir HTML sayfası olarak görülecektir. Örneğin <img /> elemanındaki / işareti XHTML'de doğru -ve gerekli- olmasına rağmen HTML'de geçersizdir, ve tarayıcı sayfayı işlerken, hatanızı <img> olarak düzeltir.

XHTML Sayfalarını application/xhtml+xml Olarak Sunmak

Az önce değindiğimiz gibi sayfanızı application/xhtml+xml olarak sunduğunuzda http-equiv özellikli meta elemanının zaten sayfada olmaması gerekir.

Bunun yerine sayfanın medya tipi, sayfanızın bulunduğu sunucu tarafından bir HTTP header ile belirtilmelidir.

Web sunucuları, tarayıcılara gönderdiği tüm dosyalara (HTML/XHTML dosyaları, JPG dosyaları, ZIP dosyaları vb.), gönderilen dosya türü ile ilgili bilgi içeren bir -ya da daha fazla- HTTP header ekler. Bu bilgi, daha dosyanın içeriği okunmadan tarayıcıya ulaşır. Böylece dosyanın geri kalan bölümünün nasıl yorumlanacağı tarayıcı tarafından bilinir.

Örneğin eğer sunucunuzda PHP kullanıyorsanız, sayfanızın en başına

header('Content-Type: application/xhtml+xml;');

satırını yazarak XHTML sayfanızı application/xhtml+xml olarak tarayıcıya sunabilirsiniz. Böylece sayfanız tüm tarayıcılar tarafından, bir XHTML sayfası olarak ele alınacaktır.

Bu sayede artık gerçekten XHTML kullandığınızı söyleyebilirsiniz. Çünkü XHTML ile işaretlediğiniz sayfanızı artık tarayıcılar da XHTML olarak yorumlayacak. Peki ya tarayıcı XHTML'den anlamıyorsa?

Internet Explorer XHTML'yi Desteklemez

Evet, Internet Explorer 7 de dahil olmak üzere hiçbir Explorer sürümü, XHTML'yi desteklemiyor. Explorer'ın application/xhtml+xml olarak sunulan XHTML dosyalarını açabilmesi için çeşitli yöntemler var (W3C'nin önerdiği xsl trick'i ya da registry hack'leri gibi), ama her durumda Explorer sayfayı text/html yani HTML sayfası olarak yorumluyor.

Internet Explorer application/xhtml+xml medya tipini desteklemediği sürece, XHTML sayfanızı her zaman, bozuk bir HTML dosyası olarak ele alacak ve ona göre yorumlayacaktır.

Bugün, Internet'teki binlerce site sayfalarını yazarken XHTML kullanıyor. Ama o sayfaları -text/html medya tipi ile- HTML olarak sundukları sürece tarayıcılar (ve bu siteleri kullanan kullanıcılar) onları bozuk HTML olarak okumaya devam edecek.

Son olarak, World Wide Web Consortium (W3C) sitesinden, bu sayfanın ana fikriyle ilgili bir cümle alalım.

...sending XHTML documents to browsers as text/html means that those browsers see the documents as HTML documents, not XHTML documents.

...XHTML belgelerini tarayıcılara text/html olarak göndermek, o tarayıcıların belgeleri XHTML belgeleri olarak değil, HTML belgeleri olarak görmesi demektir.

Alıntı kaynağı

Belki de artık “XHTML kullanıyor muyum?” yerine “XHTML kullanmalı mıyım?” diye sormalısınız.

Etiketler

Web Tasarım - 30 Ağustos, 2008

Fitts Yasası: Küçük Bir Test

İnteraktif tasarımın alfabesi sayılabilecek Fitts Yasası, bakış açınızı tamamen değiştirebilir. Bu küçük test, 10 soru ve cevapla, bu yasayı pratik tasarım süreçlerinde nasıl kullanabileceğinizi araştırıyor.

19 Eylül, 2008

Yeni Sayfalar

Kategoriler

Reklam

Gezi Notları

Etiketler

webzine arayüz tasarımı AskTog Fitts Yasası Bruce Tognazzini web standartları google eskiz defteri iDefter chrome arayüz google chrome doctype HTML XHTML defter font tasarımı dot grid book tasarım grafik

Takvim

PSÇPCCP
<Mart, 2010>
1234567
891011121314
15161718192021
22232425262728
293031

iDefter.com

Copyright © 2008 iDefter.com. iDefter'de yayınlanan içerik, izinsiz kullanılamaz. Kullanım Koşulları