किसी विषय के W3C मानकों के अनुपालन को कैसे बनाए रखें


10

जब मैंने एक थीम लिखी, तो मैंने सुनिश्चित किया कि यह XHTML 1.1 और CSS 2.1 के अनुरूप है। फिर मैंने प्लगइन्स को जोड़ा और थीम अब XHTMl 1.1 के अनुरूप नहीं है। तब मैंने अपने सीएसएस में Google एपीआई फ़ॉन्ट का उपयोग किया और यह अब सीएसएस 2.1 अनुरूप है।

क्या कोई तरीका है जिससे मैं प्लगइन्स, फ़ॉन्ट आदि से छुटकारा पाने के बिना अनुपालन रख सकता हूं या क्या मुझे सत्यापन त्रुटियों को अनदेखा करना चाहिए?

जवाबों:


5

सुधार, आपका विषय अभी भी XHTML 1.1 और CSS 2.1 के अनुरूप था, लेकिन आपके द्वारा जोड़ा गया प्लग-इन अतिरिक्त कोड इंजेक्ट करता है जो कि अनुरूप नहीं था

दुर्भाग्य से, यदि आप प्लग-इन का उपयोग कर रहे हैं तो अनुपालन बनाए रखने का कोई आसान तरीका नहीं है। सबसे अच्छा आप जो कर सकते हैं वह आपके विषय को मान्य करता है और सभी मार्कअप आप व्यक्तिगत रूप से इसके लिए जिम्मेदार हैं, तो आशा है कि अन्य डेवलपर्स ने अपने काम को मान्य करने के लिए समय लिया है।

विकल्प आपके हिस्से पर बहुत अधिक काम है - आप अभी भी प्लग-इन की मुख्य कार्यक्षमता का उपयोग कर सकते हैं, लेकिन उन्हें ब्राउज़र में किसी भी मार्कअप को आउटपुट करने की अनुमति नहीं देते हैं । अपनी स्वयं की कस्टम परत जोड़ें जो प्लग-इन टच को सब कुछ अनहुक करता है, और अपना आउटपुट बफर बनाता है। यह एकमात्र तरीका है जो आपको ब्राउज़र पर भेजे जाने वाले मार्कअप की शैली पर नियंत्रण होगा।

कई प्लग-इन HTML 5 का उपयोग करने लगे हैं ... अन्य CSS3 का उपयोग करने का प्रयास कर रहे हैं। यदि आप इन प्लग-इन को स्थापित करते हैं और उनके आउटपुट को साफ करने और मान्य करने के लिए कदम नहीं उठाते हैं, तो आपकी साइट ठीक से मान्य नहीं होगी।


1
धन्यवाद, मुझे नहीं लगता कि मैं HTML को स्वच्छता के विकल्प के साथ जाना चाहता हूं। मुझे बस अपनी साइट से उन W3C बैज को हटाना पड़ सकता है :)
जेम्स

ओह जरूरी नहीं कि एक जरूरत के रूप में आप स्वचालित रूप से अनुपालन प्राप्त कर सकते हैं, नीचे मेरा जवाब देखें। अपने विषय या प्लगइन आउटपुट के साथ परेशानी की कोई आवश्यकता नहीं है :)
hakre

+1, आप वास्तव में कभी भी अन्य लोगों के कोड पर भरोसा नहीं कर सकते हैं, बस उम्मीद है कि उनका कोड मान्य HTML बाहर थूकता है।
बेन एवरर्ड

8

प्रत्येक प्लगइन वह कोड जनरेट करने वाला है जो वह उत्पन्न करना चाहता है और उसमें से कुछ XHTML 1.1 का अनुपालन नहीं करेगा। इसे ठीक करने का एकमात्र उचित तरीका यह है कि प्रत्येक को ऑडिट किया जाए और या तो अपराधियों को संशोधित किया जाए या डेवलपर को संशोधित करके या पैच के रूप में उपयोग किया जाए।

वैकल्पिक आप इसे साफ करने के लिए एक फिल्टर लिखने की कोशिश कर सकते हैं, लेकिन सभी विशेष मामले को पकड़ने की कोशिश करना मेरे खुद के व्यक्तिगत दुःस्वप्न के एक संस्करण की तरह लगता है और यह संदिग्ध लाभ के लिए प्रदर्शन को भी प्रभावित करेगा।

क्या आपके पास एक ऐसा ग्राहक / बॉस है जो यह चाहता है, या यह केवल " अच्छा-से-अच्छा " के रूप में माना जाता है ? (हां, कुछ ऐसे भी हैं जो इसके बारे में दृढ़ता से महसूस करते हैं। मैं हालांकि उनमें से एक नहीं हूं।)

उस ने कहा, एक्सएचटीएमएल वेब पर अपनी " निष्पक्ष बालों वाली बच्चे " स्थिति खो रहा है ; यहां तक ​​कि टिम बर्नर्स-ली ने 2006 में ऐसा वापस कहा :

कुछ चीजें कई वर्षों की बाधा के साथ स्पष्ट होती हैं। HTML को वृद्धिशील रूप से विकसित करना आवश्यक है। एक्सएमएल पर स्विच करने के लिए दुनिया को प्राप्त करने का प्रयास, जिसमें विशेषता मानों के आस-पास और खाली टैग और नामस्थान में स्लैश शामिल हैं, एक बार में काम नहीं किया था। बड़े एचटीएमएल-जनरेट करने वाले सार्वजनिक स्थानांतरित नहीं हुए, मोटे तौर पर क्योंकि ब्राउज़र ने शिकायत नहीं की थी। कुछ बड़े समुदायों ने बदलाव किया और अच्छी तरह से गठित प्रणालियों के फल का आनंद ले रहे हैं, लेकिन सभी नहीं। HTML को नियमित रूप से बनाए रखना महत्वपूर्ण है, साथ ही साथ यह अच्छी तरह से बनाई गई दुनिया के लिए एक संक्रमण जारी रखता है, और उस दुनिया में अधिक शक्ति विकसित कर रहा है।

आप यह भी पढ़ सकते हैं कि HTML5 को XHTML 1.0 की तुलना में लिखना बहुत आसान है। StackOverflow पर। ये रहा उनका सारांश:

बस सिंटैक्स-वार, जब आप एचटीएमएल 5 का उपयोग करते हैं, तो आप क्लीनर के साथ समाप्त होते हैं, मार्कअप को पढ़ना आसान होता है जो हमेशा मानक मोड को आमंत्रित करता है। जब आप XHTML 1.0 (टेक्स्ट / html के रूप में कार्य किया जाता है) का उपयोग करते हैं, तो आप क्रूड का एक गुच्छा निर्दिष्ट कर रहे हैं (क्रैपी डीडीटी के खिलाफ सत्यापन के लिए) जो कि ब्राउज़र स्वचालित रूप से करेगा।


यह मेरी निजी वेबसाइट है और विषय ही बहुत पुराना है। वेब साइट और विषय सभी मेरे लिए सिर्फ शौक हैं। जब तक मैं एक नया विषय लिखूंगा, तब तक हमारे पास सभी प्रमुख ब्राउज़रों में यथोचित HTML5 समर्थन होगा। प्लगइन्स गैर आज्ञाकारी मार्कअप उत्पन्न करना जारी रखने वाले हैं। मैं अपराधी को साफ करने की कोशिश कर सकता था, लेकिन तब प्लगइन अपडेट मुश्किल हो जाता है। लिंक के लिए धन्यवाद।
जेम्स

हाँ, अगर यह किसी व्यावसायिक उद्देश्य के लिए नहीं है या एक्सएचटीएमएल अनुपालन बनाए रखने की आपकी क्षमता पर विशेषज्ञता दिखाने के लिए मैं इसके बारे में चिंता नहीं करूंगा।
माइकस्किंकल

मैं वेब साइट और सर्वर का उपयोग सीखने के उपकरण के रूप में करता हूं। उन चीजों को सीखना जो मेरे काम पर अलग हैं।
जेम्स

ओह। एक अन-फन जॉब की तरह लगता है। सीखना सब मुझे लगता है! :)
माइकस्किंकल

ओह, काम काफी मजेदार है, लेकिन ज्यादातर विंडोज आधारित विकास है। यह C # :)
जेम्स

2

मानकों के अनुपालन की गारंटी नहीं है कि आपकी वेब साइट सभी ब्राउज़रों में काम करेगी। मानकों के अनुपालन की उपेक्षा करें और अधिक से अधिक ब्राउज़रों के साथ परीक्षण पर ध्यान केंद्रित करें।


1

आप अपनी साइट के पूरे आउटपुट को बफर कर सकते हैं और फिर इसे कंप्लीट HTML में जोड़ सकते हैं। यह सबसे अच्छा है, कि यह पूरी तरह से स्वचालित किया जा सकता है:

आप थीम इनिट या संबंधित हुक (जैसे * setup_theme * हुक) पर आउटपुट बफ़रिंग सक्षम कर सकते हैं।

यहाँ दो कोड टुकड़े हैं। पहले एक दिखाता है कि आप आउटपुट बफरिंग शुरू करते हैं और बफर को बाद में पढ़ते हैं:

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

दूसरा एक कॉन्फ़िगरेशन एक्शन के कुछ विकल्प दिखाता है:

/* 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;

मुझे यकीन है कि ऐसा करने के लिए पहले से ही एक मौजूदा वर्डप्रेस प्लगइन है। चलो देखते हैं:


दिलचस्प। मुझे इसे एक मौका और देना होगा।
जेम्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.