क्या HTML5 दस्तावेजों के लिए Doctype की आवश्यकता है


12

हाल ही में मेरे पास एक नौकरी का साक्षात्कार था और उनमें से एक प्रश्न था "क्या HTML 5 दस्तावेजों के लिए सिद्धांत आवश्यक है?"। मैंने जवाब दिया "नहीं", लेकिन मुझे लग रहा है कि मैं गलत हो सकता हूं। से w3 ऐसा लगता है कि यह बिल्कुल आवश्यक है, लेकिन अगर मैं की तरह एक साधारण HTML टाइप

<html>
    <body>
        <input type="color" disabled/>
    </body>
</html>

इसे HTML के रूप में सहेजें और Chrome में खोलने का प्रयास करें - यह एक नए रंग इनपुट (अक्षम) के साथ पूरी तरह से अच्छी तरह से काम करेगा। वह इनपुट HTML5 के साथ-साथ विशेषता है।

तो सवाल है - क्या मुझे सिद्धांत निर्दिष्ट करने की आवश्यकता है या नहीं? साक्षात्कार के लिए सही उत्तर क्या होगा?


1
मुझे लगता है कि आप तर्क दे सकते हैं कि Doctypeतत्व के बिना यह एचटीएमएल 5 दस्तावेज नहीं है।
मेटाफ़ाइट

आप hello worldएक टेक्स्ट एडिटर में टाइप कर सकते हैं , इसे HTML के रूप में सहेज सकते हैं, और यह क्रोम में रेंडर करेगा। Chrome को बाहर करता है (और कई अन्य ब्राउज़र) आपके लिए सामान रखते हैं, भले ही यह "आवश्यक हो।"
intcreator

जवाबों:


14

सही उत्तर "यह निर्भर करता है" होगा।

XHTML सिंटैक्स में HTML5 दस्तावेज़ों के लिए एक DOCTYPE वैकल्पिक है (यानी, XHTML5 दस्तावेज़):

यदि वांछित हो तो XML दस्तावेज़ों में एक DOCTYPE हो सकता है, लेकिन इस विनिर्देश के अनुरूप होने की आवश्यकता नहीं है।

HTML सिंटैक्स में HTML5 दस्तावेज़ों के लिए DOCTYPE आवश्यक है :

दस्तावेज़ में दिए गए क्रम में निम्नलिखित भाग होने चाहिए:

[...]

3. एक डॉक्टर।

अपवाद

  • में एचटीएमएल 5 दस्तावेजों srcdocविशेषता एक के iframeतत्व का DOCTYPE की जरूरत नहीं है:

    2. वैकल्पिक रूप से, एक डॉक्टर।


1
यह पूर्ण उत्तर है यदि "आवश्यक है" की व्याख्या "विनिर्देशों द्वारा आवश्यक है" के रूप में की जाती है। इसे व्यावहारिक प्रभावों के संदर्भ में भी समझा जा सकता है। उस स्थिति में, इसका उत्तर यह होगा कि ब्राउज़रों को "मानक मोड" में डालने के लिए HTML सिंटैक्स में एक doctype string की आवश्यकता है।
जुक्का के। कोर्पेला

मैं इस उत्तर को बेहतर ढंग से पसंद करूंगा यदि आप एक दस्तावेज़ एचटीएमएल बनाम एक्सएचटीएमएल के रूप में विस्तृत हो। ब्राउज़रों के लिए इसका क्या मतलब है - उन्होंने कैसे तय किया कि किस सिंटैक्स के साथ मूल्यांकन करना है?
temporary_user_name

7

मैं भी, "नहीं" (गलत तरीके से, जैसा कि होता है) का जवाब होगा।

हालाँकि, http://www.w3.org/TR/html5/syntax.html#the-doctype कहता है:

8.1.1 DOCTYPE

एक DOCTYPE एक आवश्यक प्रस्तावना है।

विरासत कारणों के लिए DOCTYPEs की आवश्यकता होती है। जब छोड़ा जाता है, तो ब्राउज़र एक अलग रेंडरिंग मोड का उपयोग करते हैं जो कुछ विशिष्टताओं के साथ असंगत है। किसी दस्तावेज़ में DOCTYPE को शामिल करना यह सुनिश्चित करता है कि ब्राउज़र प्रासंगिक विशिष्टताओं का पालन करने के लिए सबसे अच्छा प्रयास करता है।

BTW, GIYF


1
उद्धृत भाग केवल HTML सिंटैक्स पर लागू होता है।
जुक्का के। कोर्पेला

और प्रश्न का शीर्षक "HTML5 दस्तावेजों के लिए आवश्यक सिद्धांत है" (QED)।
मावग का कहना है कि मोनिका

1
HTML5 विनिर्देश स्पष्ट रूप से और स्पष्ट रूप से कहता है कि यह HTML5 के लिए दो सिंटैक्स को परिभाषित करता है, एक मूल HTML पर आधारित है और एक पूरी तरह से XML के अनुरूप है। आप जो प्रश्न उद्धृत करते हैं, वह प्रश्न का उत्तर नहीं देता है, क्योंकि यह केवल एक वाक्यविन्यास पर लागू होता है।
जुका के। कोर्पेला

आह! अंत में मैं समझ गया। स्पष्टीकरण के लिए बहुत-बहुत धन्यवाद।
मावग का कहना है कि

2

जब आप w3c मानक-अनुरूप HTML5 दस्तावेज़ लिखना चाहते हैं, तब <!DOCTYPE html>आवश्यक है।

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

इस साक्षात्कार के लिए कौन सा उत्तर सही है ? यह उस व्यक्ति की मानसिकता पर निर्भर करता है जिसने आपका साक्षात्कार किया। नौकरी के साक्षात्कार में यह सही या गलत होने से कोई फर्क नहीं पड़ता। यह केवल यह मायने रखता है कि आप साक्षात्कारकर्ता पर क्या प्रभाव डालते हैं।


मेरे लिए दिलचस्प सवाल यह है कि क्या वर्ष 2020 में DOCTYPE HTML5 को अभ्यास की आवश्यकता है? अगर मैं इसे अभी भी HTML-5 का अनुपालन करता हूं, तो वर्तमान ब्राउज़र (FF, Chrome, Edge) क्या करते हैं?
पानू लॉजिक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.