it-swarm.asia

Bir temanın W3C standartlarına uygunluğu nasıl korunur

Bir tema yazdığımda, bunun XHTML 1.1 ve CSS 2.1 ile uyumlu olduğundan emin oldum. Sonra eklentileri ekledim ve tema artık XHTMl 1.1 ile uyumlu değil. Sonra CSS’imde Google API yazı tipini kullandım ve daha uzun CSS 2.1 uyumlu.

Eklentilerden, fonttan vb. Kurtulmadan uyumu korumamın bir yolu var mı yoksa doğrulama hatalarını yoksaymalı mıyım?

10
James

Düzeltme, temanız hala XHTML 1.1 ve CSS 2.1 ile uyumluydu, ancak eklediğiniz eklentiler olmayan uyumlu olmayan ek kodlar enjekte etti.

Ne yazık ki, eklentileri kullanıyorsanız uyumluluğun korunmasının kolay bir yolu yoktur. Yapabileceğiniz en iyi şey, temanızı ve şahsen sorumlu olduğunuz tüm biçimlendirmeleri doğrulamak, ardından diğer geliştiricilerin kendi çalışmalarını doğrulamak için zaman harcadıklarını ummaktır.

Alternatif, sizin açınızdan çok daha fazla çalışma - hala eklentilerin temel işlevlerini kullanabilirsiniz, ancak tarayıcıya herhangi işaretlemelerini çıktılamalarına izin vermeyin. Eklentinin dokunduğu her şeyi seçen kendi özel katmanınızı ekleyin ve kendi çıktı tamponunuzu oluşturun. Bu, only şekilde, tarayıcıya gönderilen biçimlendirme stilini kontrol edersiniz.

Bazı eklentiler HTML 5 kullanmaya başlıyor ... diğerleri CSS3 kullanmaya çalışıyor. Bu eklentileri yüklerseniz ve çıktılarını sterilize etmek ve doğrulamak için gerekli adımları atmazsanız, siteniz doğru bir şekilde doğrulanmayacaktır.

5
EAMann

Her eklenti oluşturmak istediği kodu oluşturacak ve bir kısmı XHTML 1.1 uyumlu olmayacak. Bunu düzeltmenin tek makul yolu, her birini denetlemek ve suçluları değiştirmek veya geliştiriciyi, değişikliklerinizi bir düzeltme eki olarak değiştirmek veya kullanmak için kullanmak olacaktır.

Alternatif olarak, temizlemek için bir filtre yazmayı deneyebilirsiniz, ancak tüm özel vakayı yakalamaya çalışmak, kendi kişisel kabusumun bir versiyonuna benziyor ve bu, ayrıca, yararsızlık için performansı da etkiliyor.

Bunu isteyen bir müşteriniz/patronunuz var mı, yoksa sadece "Güzel) olarak kabul edilen bir şey mi? (Evet, bunun hakkında kuvvetli hissedenler var. Ben onlardan biri değilim.)

Bununla birlikte, XHTML web'deki "sarı saçlı çocuk" durumunu kaybediyor;/ Tim Berners-Lee 2006’da :

Bazı şeyler birkaç yıl boyunca görülebilir. HTML'yi adım adım geliştirmek gerekir. Öznitelik değerleri etrafındaki alıntılar ve boş etiketlerde ve ad alanlarındaki eğik çizgiler de dahil olmak üzere, dünyanın XML'e geçiş yapma girişimi bir kerede işe yaramadı. HTML üreten büyük kamuoyu hareket etmedi, çünkü tarayıcılar şikayetçi değildi. Bazı büyük topluluklar değişmiş ve iyi biçimlendirilmiş sistemlerin meyvelerinden faydalanmaktadır, ancak hepsinden değil. HTML’yi artımlı olarak sürdürmek, iyi biçimlendirilmiş bir dünyaya geçişi sürdürmek ve bu dünyada daha fazla güç geliştirmek önemlidir.

Ayrıca okumak isteyebilirsiniz HTML5 yazmak XHTML 1.0'dan çok daha kolaydır. - StackOverflow'ta üzeri. İşte onların özeti:

Sadece sözdizimi konusunda bilgi edinin, HTML5 kullandığınızda, her zaman standart modunu başlatan temizleyici, okunması daha kolay bir işaretleme elde edersiniz. XHTML 1.0 kullandığınızda (text/html olarak sunulur), tarayıcının otomatik olarak yapacağı bir parça crud (berbat bir dtd'ye karşı doğrulama yapmak için) belirtiyorsunuz.

8
MikeSchinkel

Standartlara uygunluk, Web sitenizin tüm tarayıcılarda çalışacağını garanti etmez. Standartlara uyumu yok sayın ve mümkün olduğunca çok sayıda tarayıcıyla test etmeye odaklanın.

2
tomdxw

Sitenizin tüm çıktısını tamponlayabilir ve ardından uyumlu HTML'ye düzenleyebilirsiniz. En iyisi, bunun tamamen otomatik yapılabilmesidir:

Tema girişinde veya ilgili kancalarda (örneğin * setup_theme * hook) çıktı tamponlamayı etkinleştirebilirsiniz.

İşte iki kod parçası. Birincisi çıktı tamponlamayı başlattığınızı ve daha sonra tamponu okuduğunuzu gösterir:

<?php
ob_start();
?>
  …
<?php
$buffer = ob_get_clean();
$tidy = tidy_repair_string($buffer);
echo $tidy;
?>

İkincisi, yapılandırma seçeneklerinden bazılarını işlem sırasında gösterir:

/* Tiny Configuration */
$config["clean"]         = true;
$config["hide-comments"] = true;
$config["output-xhtml"]  = true;
$config["indent-spaces"] = 2;
$config["tab-size"]      = 2;
$config["wrap"]          = 0;

$buffer = ob_get_clean();
$tidy   = tidy_repair_string($buffer, $config);

echo $tidy;

Bahse girerim bunu yapmak için zaten varolan bir wordpress eklentisi vardır. Bakalım:

1
hakre