it-swarm-tr.com

HTML doğrulama: buna değer mi?

Tüm sayfaların, tüm büyük tarayıcılarda geçerli olan geçerli olmayan HTML'ye kıyasla geçerli olduğundan emin olmanın (varsa) avantajları ve dezavantajları nelerdir?

Ayrıca, Javascript de bu kadar önemli bir şekilde çalıştırıldıktan sonra geçerli bir HTML’ye sahip olmak mı?

52
Thomas Bonini

Bence kesinlikle yapmaya değer , ama asla doğrulamanın kölesi olmamalısın - bu bir aptalın oyunu.

http://www.codinghorror.com/blog/2009/03/html-validation-does-it-matter.html

  1. HTML’nizi doğrulayın. Geçerli bir HTML işaretlemesinin ne demek olduğunu öğrenin. Aleti anlayın. Daha fazla bilgi her zaman daha az bilgiden daha iyidir. Neden kör uçuyor?

  2. HTML'nizin geçerli olup olmadığını kimse umursamıyor. Siz hariç. İsterseniz. Bir saniye boyunca kusursuz geçerli HTML üretmenin, web sitenizi çalıştırmaktan, kullanıcılarınızı memnun eden özellikler sunmaktan veya işi bitirmekten daha önemli olduğunu düşünmeyin.

42
Jeff Atwood

Geçerli HTML’yi değerli bir hedef olarak görüyorum, ancak bunu iyi web siteleri oluşturmanın tümü ve sonu olarak görmüyorum.

İşin püf noktası, işaretlemeniz tamamen geçerli olabilir, ancak semantik olmayabilir. düzen veya navigasyon için tabloları kullanarak. Geçerli kod ile anlamsal kod arasında bir fark var.

Başka bir notta, reklam ya da harici komut dosyaları kullanıyorsanız, kendinizle gerçekten karışma olasılığı olan kendi işaretlemesini ekleyebilirler.

32
Grant Palin

Doğrulamaya çalışarak birçok biçimlendirme ve mantık hatası yakaladığım için buna değer olduğunu düşünüyorum. Bu "gerekli ama yeterli olmayan" şeylerden biri. Geçerli işaretleme, hatasız, uyarı ve ipuçlarını derleyen (veya JSlint aracılığıyla kontrol eden) kod gibi, doğru bir adım atmanız için iyi bir adımdır.

22
Alan

Geçerli HTML’nin en büyük sebebi, sayfanızın "büyük tarayıcılar" dışındakiler için daha erişilebilir olmasıdır. Tüm "büyük tarayıcılar", WWW'yi dolduran tüm geçersiz önemsizlerle baş etmek için sonsuz geçici çözümlere sahiptir. Bununla birlikte, geçerli HTML’ye yapıştırmak, örneğin, görme engelliler için bir tarayıcı kullanıyorsa veya sayfalarınıza çevrimdışı erişiyorsa, vb.

9
delete

Kendisi için doğrulama çok kritik değildir, çünkü birkaç tarayıcı% 100 uyumludur ve teknik özelliklerin kuralları nasıl yorumlayacağı konusunda% 100 net değildir.

Ancak geçerli HTML olması, sitenizi uyarlamak ve geliştirmek için sizi daha iyi bir konuma getirir. Standartlar değiştikçe tipik olarak ileriye taşınırlar ve eğer yeni bir site geçerliyse, en son desteği desteklemek için güncelleme yapmak daha kolay olmalıdır.

Altta, geçerli olmak oyunun başında kalmayı kolaylaştırır ve en geniş kitleyle mümkün olduğunca uyumlu olmasını sağlar.

8
MrChrister

En iyi yaklaşım, hangi geçersiz HTML'nin kötü olduğunu ve hangi geçersiz HTML'nin önemli olmadığını öğrenmektir.

Örneğin, bir <div> etiketini kapatmayı unutmak --- çok kötü çünkü düzeniniz neredeyse bir veya daha fazla tarayıcıda kesinlikle bozuluyor.

Ancak, XHTML'de <br> yerine <br /> kullanılması önemli değildir - tüm tarayıcılar her ikisini de sorunsuz bir şekilde satır sonu olarak yorumlayacaktır. Bağlantılarda target özniteliğini kullanmak geçersiz, ancak en kötü senaryo, tarayıcının bağlantıyı yeni bir pencerede açmamasıdır.

4
DisgruntledGoat

Sitenizi geçerli HTML için test etmenin bir nedeni, arama motoru örümceklerinin sayfalarınızın anlamını tamamen endekslemesini ve belirlemesini sağlar. Eğer hatalı biçimlendirilmiş HTML (ana tarayıcıların tarihsel nedenlerle çalışabileceği) nedeniyle bunu yapamazlarsa, o zaman potansiyel olarak arama motoru sıralamalarınızı sınırlıyorsunuzdur.

Ayrıca, büyük arama motorları hatalı biçimlendirilmiş HTML ile başa çıkmak için iyi bir iş çıkarsa da, içeriğinizin hak ettiği kadar üst sıralarda bulunma yeteneğinizi etkileyebilecek, geçerlilik için sayfa kalitesi "puanları" atayabilirler.

3
JasonBirch

Bunun artık önemli olduğunu sanmıyorum. Eskiden validasyon için köleydim, şimdi nadiren kontrol ediyorum. Belki de sitemin geçerli olduğundan emin olduklarımdan dolayı tükenmiş oldum, ya da belki de artık hiç kimsenin umursamadığı umrumda değildi. Ziyaretçilerin% 99,9'unun ne olduğunu bile bilmediğini, hatta umursarsa bile bilmediğini garanti ederim. Gelecekteki tarayıcı yazılımı olabilir, ama o gün geldiğinde, o zaman endişeleneceğim.

3
Ben

Doğrulayıcıyı çalıştırırken, duruma göre size verdiği hataları incelemeniz gerekir. Doğrulama önemli midir? Benim için evet, çok önemli. Fakat bu bir zorunluluk mu? Yok hayır.

Aynı kimliği birden çok kez kullanma (bir sınıf yerine), satır düzeyinde öğelerin içine blok düzeyindeki öğeleri yerleştirme (genellikle bu öğeler semantik olarak bu şekilde uymaz), görüntülerde alt alt özellikler eksik (engelliler için yetersiz erişim) ), hepsi önemlidir. Etiketlerde bilinmeyen öznitelikler gibi şeyler DEĞİL önemli. Hiç. Dojo veya korkunç Meebo sosyal medya çubuğu gibi Javascript çerçeveleri, kanca olarak özel özellikler kullanır ve HTML spesifikasyonları bunlara izin verildiğini ve bilinmeyen herhangi bir özelliğin yok sayılacağını belirtir. Doğrulayıcı onları görmezden gelmez, ancak hatalar atar. Bu hatalar göz ardı edilebilir.

Doğrulama yaparken, sadece hata yaptığınız zaman yanlış yaptığınızı varsaymayın. Anlambilim büyük ölçüde daha önemlidir ve sadece geçerli anlamsal HTML, doğru anlambilimine sahip olmanın doğal sonuçlarından çok daha sıktır.

3
Bryson

Henüz kimsenin bahsetmediği bir nokta, geçersiz HTML’nin tarayıcı görüntülerken standart dışı HTML’yi anlamaya çalışırken daha yavaş görüntü oluşturma sürelerine neden olabileceğidir.

2
BradB

Doğrulama yararlıdır çünkü yakalanması zor bazı hataları görmenize yardımcı olabilir

<input name=foo value=<?php echo htmlspecialchars($_GET['foo']); ?> />

veya öngörülemeyen tarayıcı davranışı (örneğin, blok öğelerini a içine koymak bazen Firefox’ta çirkin şekillerde kırılabilir).

2
Tgr

Bazı HTML doğrulama hataları, açık olmayan mizanpaj sorunlarına (örneğin, yanlış yerleştirilmiş/kapatılmamış etiketler), JavaScript hatalarına (örneğin, bir defada bir id kullanarak) ve bazı kullanıcılar için sorunlara (örneğin resimlerde anlamlı veya boş alt niteliği içermemesine) neden olabilir .

Tüm sayfalarımız doğrulanırsa, bu hataları gidermek için yapabileceğiniz Güzel bir otomatik kontrol. Herhangi bir zarara neden olmadıklarını bildiğiniz için bazı doğrulama hataları bırakırsanız, çekiniz artık otomatik değildir: Her bir hatayı görmeniz ve sorun olmadığını unutmayın. Şahsen, bilgisayarları arttırmak yerine yapmam gereken işleri azalttığı zaman tercih ederim.

1
Paul D. Waite

Kimsenin bahsetmediği bir nokta gelecekteki tarayıcı gelişmelerdir. Bugünün tüm tarayıcıları geçersiz biçimlendirme işlemlerini nispeten iyi ele alsalar da, bu her zaman böyle olmayabilir.

Gelecekte tarayıcı üreticileri, tarayıcılarının HTML/XHTML standartlarına göre çalışmasını sağlamak olacaktır; bu nedenle web geliştiricilerin de vurması gereken şey budur. Sadece belirli bir geçersiz işaretleme bitinin çalışmasının, gelecekteki tarayıcılarda çalışacağını garanti etmez.

1
Loftx

Geçerlilik, uyumsuzluklardan kaçınmanıza yardımcı olur ve kodun korunabilir kalmasını sağlar. Tarayıcılar biçimlendirme hatalarından kurtulur, ancak bazen çok sezgisel olmayan yollarla.


  • DTD tabanlı (HTML4, XHTML1 @ W3C) - Buna değmeyebilir. DTD ilkeldir ve örneğin çoğu özniteliğin geçerliliğini kontrol edemez. Varlıklar ve yuvalama ile ilgili hataları çoğunlukla anlamakta zorlanacaksınız.

  • HTML5 validator - Evet . Kesinlikle. HTML5 daha pratiktir ve eskiden hataları olan bazı zararsız yapılara izin verir. OTOH Henri'nin onaylayıcısı, gerçek sorunları keşfetmede çok daha ayrıntılı ve daha iyi.


JS tarafından oluşturulan kodun geçerliliği, tarayıcılar DOM'da nasıl çalıştığından bağımsız olarak çalıştığı için önemli olabilir. document.write() kullanıyorsanız, sözdiziminin doğru olmasına dikkat etmeniz gerekir (sayfa kaynağı ile aynı ayrıştırıcıdan geçer).

1
Kornel

HTML'niz tüm büyük tarayıcılarda çalışsa bile, bazen googlebot gibi arama motoru tarayıcılarında sorunlara neden olabileceği için yapmaya değer. Örneğin şuna bakın:

http://www.codeproject.com/KB/server-management/Google_Indexing_Problem.aspx

1
Mee

geçerli html'ye sahip olmanın dezavantajı yoktur. Her şeyden önce bir özellik bulunmasının ve işlerin nasıl çalışması gerektiğini tanımlamak için neden bu kadar çok çaba harcanmasının bir nedeni var.

temel olarak, kazandığınız tek şey özelliklere uymak. Bu da, html okumak için yazılmış programlar (tarayıcılar, botlar), bir şeyler ters giderse özellikleri yerine getirmediğiniz için SİZİ suçlayamaz. ve bu programlardan bazıları size ekstra puanlar verir (bot "spesifikasyonları karşılarsa" arama motorlarında daha üst sıralarda yer alır). Eğer özellikleri yerine getirirseniz, bazı tarayıcılar kırık HTML'leri olması gerektiğini düşündüğünüz şekilde yapmazsanız, süprizle daha az yakalanırsınız.

bu nedenle, özellikleri yerine getirmek ve geçerli bir html yazmak sizin için iyi, hiçbir dezavantaj yok.

1
akira

Google ve Bing, CSS veya HTML doğrulamasını sıralama faktörü olarak kullanmaz, asla kullanmaz ve kullanmaz.

Web sitelerinin çoğunda düzinelerce yüzlerce hata vardır ve bunlar hakkında endişelenmenize gerek yoktur, çünkü tüm arama motorları sayfanın nasıl işlendiğine dikkat eder. Web sitenizin tüm büyük tarayıcılarda doğru şekilde görüntülenmesini sağlayın ve Google’ın Fetch .

0
Simon Hayter