Skip to content
This page has been auto-translated and may contain errors.View in English

दस्तावेज़ संरचना और रूपरेखा

docs.scrimba.com

एक पृष्ठ तत्वों का एक समतल ढेर नहीं है। ऊपर से नीचे तक एक को पढ़ें और इसे एक साथ रखना चाहिए: एक शीर्षक, फिर इसके नीचे अनुभाग, प्रत्येक के अपने शीर्षलेख के साथ, एक क्रम में जो इसके माध्यम से जाने के लिए समझदारी रखता है। वह आकार पृष्ठ की रूपरेखा है, और यह दो चीजों से आता है जो एक साथ काम कर रहे हैं। शीर्षलेख प्रत्येक भाग का नाम देते हैं, और सिमेंटिक HTML अध्याय से मुख्य क्षेत्र, <header>, <nav>, <main>, <aside>, और <footer>, उन भागों को क्षेत्रों में समूहित करते हैं। यह अध्याय इस बारे में है कि दोनों कैसे एक पूरे पृष्ठ में संयोजित होते हैं।

कैसे शीर्षलेख और मुख्य क्षेत्र एक रूपरेखा बनाते हैं

एक वेब पृष्ठ ऊपर से नीचे तक पढ़ता है, उसी तरह जैसे आप किताब के एक पृष्ठ को पढ़ते हैं। जो कोई भी दौरा करता है वह शीर्ष पर शुरू करता है और नीचे काम करता है, इसलिए जिस क्रम में आपकी सामग्री बैठी है वह वह क्रम है जिसमें आगंतुक इसे पढ़ते हैं। चीजों को उस क्रम में रखें जिसमें कोई वास्तव में उनसे मिलना चाहता है।

शीर्षलेख वह हैं जो उस क्रम को एक आकार देते हैं। एक शीर्षलेख उस भाग के लिए एक छोटा लेबल है जो इसके बाद आता है, <h1> से नीचे <h6> तक के टैग के साथ लिखा गया है। <h1> पूरे पृष्ठ का शीर्षक है। प्रत्येक <h2> इसके नीचे एक मुख्य अनुभाग का नाम देता है, और एक <h3> एक <h2> के अंदर एक छोटे भाग का नाम देता है। उन्हें स्टैक करें और आप पृष्ठ की रूपरेखा प्राप्त करते हैं: एक विषयसूची जो पृष्ठ के क्रम को प्रतिबिंबित करती है।

html
<!-- सोरडौ शुरुआती लोगों के लिए -->
<h1>शुरुआती लोगों के लिए सोरडौ</h1>
<!-- आपको क्या चाहिए -->
<h2>आपको क्या चाहिए</h2>
<!-- सामग्री -->
<h3>सामग्री</h3>
<!-- उपकरण -->
<h3>उपकरण</h3>
<!-- स्टार्टर बनाना -->
<h2>स्टार्टर बनाना</h2>

अपने आप में शीर्षलेखों को पढ़ें और आप पहले से ही जानते हैं कि पृष्ठ किस बारे में है और यह कैसे आयोजित है, एक भी पैराग्राफ पढ़ने से पहले।

एक पृष्ठ की संरचना दो परतों से आती है, और वे विभिन्न प्रश्नों का उत्तर देते हैं। शीर्षलेख स्तर <h1> से <h6> एक नेस्टेड पदानुक्रम बनाते हैं: <h1> पृष्ठ शीर्षक है, <h2> एक शीर्ष-स्तर अनुभाग है, <h3> उस <h2> का एक उप-खंड है, और इसी तरह। केवल शीर्षलेखों को पढ़ें और आपके पास पृष्ठ की रूपरेखा है, सीधे मार्कअप से बनी एक विषयसूची।

मुख्य क्षेत्र दूसरी परत बनाते हैं। <header>, <nav>, <main>, <aside>, और <footer> पृष्ठ को नामित क्षेत्रों में विभाजित करते हैं, इसलिए विषयों की एक नेस्टेड सूची के बजाय आपको क्षेत्रों का एक नक्शा मिलता है: यह नेविगेशन है, यह मुख्य सामग्री है, यह पाद लेख है।

html
<body>
  <header>
    <nav>...</nav>
  </header>
  <main>
    <!-- शुरुआती लोगों के लिए सोरडौ -->
    <h1>शुरुआती लोगों के लिए सोरडौ</h1>
    <!-- आपको क्या चाहिए -->
    <h2>आपको क्या चाहिए</h2>
    <!-- स्टार्टर बनाना -->
    <h2>स्टार्टर बनाना</h2>
  </main>
  <footer>...</footer>
</body>

एक संरचना आपको बताता है कि सामग्री किस बारे में है (शीर्षलेख), दूसरा आपको बताता है कि प्रत्येक प्रकार की सामग्री कहाँ रहती है (मुख्य क्षेत्र)। एक अच्छी तरह से निर्मित पृष्ठ दोनों है।

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

एक स्क्रीन रीडर (सॉफ़्टवेयर जो एक पृष्ठ को जोर से बोलता है, या ब्रेल डिस्प्ले चलाता है, उन लोगों के लिए जो दृष्टि से नेविगेट नहीं करते हैं) एक पृष्ठ से दो नेविगेट करने योग्य संरचनाएं बनाता है। पहला हर शीर्षलेख की एक सूची है, <h1> से <h6> तक, स्रोत क्रम के साथ अपने स्तर के साथ रखी गई है, इसलिए एक उपयोगकर्ता सभी शीर्षलेखों को खींच सकता है और सीधे उस पर जंप कर सकता है जो वह चाहता है। दूसरा मुख्य क्षेत्रों की एक सूची है, जो क्षेत्र <header>, <nav>, <main>, <aside>, और <footer> द्वारा चिह्नित हैं, जो उन्हें बीच में सब कुछ पढ़ने के बजाय पूरे क्षेत्रों के बीच कूदने देता है। प्रत्येक मुख्य क्षेत्र तत्व एक निहित ARIA भूमिका ले जाता है (एक पहुंच लेबल जो क्षेत्र के प्रकार का नाम देता है, जैसे navigation या main), और यह भूमिका है जो स्क्रीन रीडर घोषणा करता है।

ये दोनों संरचनाएं व्यवहार में रूपरेखा हैं। एक नेत्रहीन पाठक पृष्ठ के नीचे शीर्षलेख पाठ को स्कैन करके स्कैन करता है; एक स्क्रीन रीडर उपयोगकर्ता समान शीर्षलेखों और क्षेत्रों के माध्यम से कदम बढ़ाकर स्कैन करता है। समान संरचना, दो तरह से पहुंचा। यह इसे जानबूझकर बनाने का कारण है: रूपरेखा कुछ लोगों पर निर्भर सजावट नहीं है, यह है कि बड़े समूह कैसे पढ़ते हैं।

Junoकैसे शीर्षलेख और मुख्य क्षेत्र एक रूपरेखा बनाते हैं एक पृष्ठ को ऊपर से नीचे तक पढ़ें, किताब की तरह, इसलिए चीजों को उस क्रम में रखें जिसमें लोग उन्हें चाहते हैं। आपके शीर्षलेख, <h1> से <h6> तक, कंकाल हैं: <h1> पृष्ठ शीर्षक है, और सब कुछ इसके अंतर्गत नेस्टेड है। केवल शीर्षलेखों को पढ़ें और आप पहले से ही जानते हैं कि पृष्ठ कैसे रखा गया है।
Junoकैसे शीर्षलेख और मुख्य क्षेत्र एक रूपरेखा बनाते हैं दो परतें एक पृष्ठ को उसका आकार देती हैं: शीर्षलेख स्तर एक नेस्टेड विषयसूची बनाते हैं, और <main> और <nav> जैसे मुख्य क्षेत्र क्षेत्रों को मैप करते हैं। एक कहता है कि सामग्री किस बारे में है, दूसरा कहता है कि यह कहाँ रहता है। दोनों को बनाएं और पृष्ठ के पास एक वास्तविक संरचना है, न कि केवल एक दिखावट।
Junoकैसे शीर्षलेख और मुख्य क्षेत्र एक रूपरेखा बनाते हैं एक स्क्रीन रीडर आपके पृष्ठ से दो सूचियां बनाता है: हर शीर्षलेख इसके स्तर के साथ, और हर मुख्य क्षेत्र। वह जोड़ी आपकी रूपरेखा है, और यह वह है कि बहुत सारे लोग कैसे पढ़ते हैं। तो संरचना कुछ उपयोगकर्ताओं के लिए एक अच्छाई नहीं है, यह पठन अनुभव ही है, और यह सीधे उन टैग से आता है जो आपने चुने हैं।

एक मुख्य, और सही शीर्षलेख क्रम

दो आदतें एक रूपरेखा को स्वच्छ रखती हैं। सबसे पहले, पृष्ठ को एक एकल <h1> दें। यह पृष्ठ का शीर्षक है, और एक पृष्ठ का एक शीर्षक है, जिस तरह एक किताब के कवर पर एक नाम है। बाकी सब कुछ <h2> और नीचे है।

दूसरा, स्तर न छोड़ें। एक <h2> के बाद, अगला कदम नीचे <h3> है, <h5> नहीं। एक स्तर छोड़ना रूपरेखा में एक अंतराल छोड़ता है, जैसे एक विषयसूची जो अध्याय 1 और फिर अध्याय 4 सूचीबद्ध करती है। एक बार में एक स्तर में जाएं, नीचे और वापस:

html
<!-- सप्ताह की रातों की डिनर -->
<h1>सप्ताह की रातों की डिनर</h1>
<!-- पास्ता -->
<h2>पास्ता</h2>
<!-- टमाटर और तुलसी -->
<h3>टमाटर और तुलसी</h3>
<!-- लहसुन की मक्खन -->
<h3>लहसुन की मक्खन</h3>
<!-- सलाद -->
<h2>सलाद</h2>
<!-- यूनानी -->
<h3>यूनानी</h3>

जिस सामग्री के शीर्षलेख हैं वह आमतौर पर एक <main> क्षेत्र में रहती है। <main> पृष्ठ की प्राथमिक सामग्री को चिह्नित करता है, जो पृष्ठ के लिए अद्वितीय है और साझा किए गए हेडर, नेविगेशन, या पाद लेख नहीं है। एक <main> है, जैसे एक <h1> है।

एक पृष्ठ में बिल्कुल एक <main> मुख्य क्षेत्र होता है। यह सामग्री को लपेटता है जो इस पृष्ठ के लिए अद्वितीय है, और स्क्रीन रीडर इसमें सीधे कूदने की पेशकश करते हैं, इसलिए एक उपयोगकर्ता हेडर और नेविगेशन को छोड़ सकता है जो हर पृष्ठ पर दोहराया जाता है। एक पृष्ठ पर दो <main> तत्व उस वादे को तोड़ते हैं और क्षेत्र नक्शे को भ्रमित करते हैं।

शीर्षलेखों के लिए, दो नियम रूपरेखा को एक साथ रखते हैं। एक <h1> है, पृष्ठ शीर्षक। और शीर्षलेख स्तर एक से नीचे जाते हैं: एक <h2> के बाद <h3> है, कभी भी <h4> या <h5> के लिए सीधे नहीं। रूपरेखा में यह बैठा है कि के लिए एक शीर्षलेख स्तर चुनें, यह कितना बड़ा दिखता है इसके लिए कभी नहीं। <h1> अक्सर सीधे <main> के अंदर या पृष्ठ हेडर में रहता है, उस चीज़ का नाम देता है जो पृष्ठ के बारे में है।

html
<main>
  <!-- सप्ताह की रातों की डिनर -->
  <h1>सप्ताह की रातों की डिनर</h1>
  <!-- पास्ता -->
  <h2>पास्ता</h2>
  <!-- टमाटर और तुलसी -->
  <h3>टमाटर और तुलसी</h3>
</main>

यदि एक शीर्षलेख बहुत बड़ा या बहुत छोटा दिखता है, तो यह एक स्टाइलिंग समस्या है। CSS में आकार सेट करें और स्तर को इसका मतलब रखने दें।

एक पेज पर <main> (आप मार्कअप में अधिक हो सकते हैं यदि उन सभी को छोड़कर एक छिपा हुआ है, उदाहरण के लिए एक एकल-पृष्ठ ऐप में जो DOM में निष्क्रिय विचार रखता है)। यह ARIA भूमिका main ले जाता है, "मुख्य सामग्री पर छोड़ें" कूद का लक्ष्य जो कीबोर्ड और स्क्रीन रीडर उपयोगकर्ता दोहराए गए नेविगेशन को बायपास करने के लिए भरोसा करते हैं।

शीर्षलेख स्तर इससे अधिक वजन ले जाते हैं कि वे दिखाई देते हैं, इतिहास के एक टुकड़े के कारण जो जानने के लायक है। वर्षों से HTML विशिष्टता एक दस्तावेज़ रूपरेखा एल्गोरिदम का वर्णन करती थी जो सेक्शनिंग तत्वों (<section>, <article>, <nav>, <aside>) से संरचना की गणना करेगी, ताकि एक <h1> एक <section> के अंदर नेस्टेड स्वचालित रूप से एक दूसरे स्तर के शीर्षलेख में अवनत हो जाए। यह एक स्वच्छ विचार था। कोई भी ब्राउज़र ने इसे कभी लागू नहीं किया, कोई स्क्रीन रीडर ने इसका उपयोग नहीं किया, और इसे अंततः विशिष्टता से हटा दिया गया।

व्यावहारिक परिणाम सरल और स्थायी है: रूपरेखा केवल आपके शीर्षलेख संख्याओं द्वारा परिभाषित है। तीन <section> तत्वों के गहरे में नेस्टेड एक <h1> अभी भी हर ब्राउज़र और हर स्क्रीन रीडर के लिए एक शीर्ष-स्तर की सुरक्षा है। नेस्टिंग आपके लिए कुछ भी पुनर्मूल्यांकन नहीं करता है। तो एक <h1> रखें, एक बार में एक स्तर नीचे जाएं, और संख्या को संरचनात्मक तथ्य के रूप में व्यवहार करें जो यह है, कभी भी एक आकार डायल के रूप में नहीं।

Junoएक मुख्य, और सही शीर्षलेख क्रम पृष्ठ का एक शीर्षक होता है क्योंकि एक पृष्ठ का एक शीर्षक होता है। शीर्षलेख स्तरों को एक बार में नीचे लें, <h2> फिर <h3>, <h5> के लिए कोई कूद नहीं। और पृष्ठ की मुख्य सामग्री एक <main> में जाती है। यदि कोई शीर्षलेख गलत आकार दिख रहा है, तो वह CSS के लिए एक नौकरी है, स्तरों को स्विच करने के लिए एक कारण नहीं।
Junoएक मुख्य, और सही शीर्षलेख क्रम एक <main>, एक <h1>, और स्तर जो एक से नीचे जाते हैं। रूपरेखा में इसके स्थान के लिए एक शीर्षलेख चुनें, इस बात के लिए कभी नहीं कि यह कितना बड़ा प्रस्तुत करता है, क्योंकि आकार आपकी स्टाइलशीट में है। <main> स्किप लिंक का लक्ष्य भी है, तो एक एकल रखना उस शॉर्टकट को काम करने रखता है।
Junoएक मुख्य, और सही शीर्षलेख क्रम पुरानी रूपरेखा एल्गोरिदम जो अनुभाग नेस्टिंग द्वारा शीर्षलेखों को फिर से नंबर करेगी कभी नहीं बनी गई और गिरा दी गई, तो आपकी शीर्षलेख संख्याएं रूपरेखा हैं, पूर्ण विराम। एक <h1> तीन <section> तत्वों में दफन एक सर्वव्यापी <h1> है। एक <h1>, एक <main>, और एक बार में एक स्तर नीचे जाएं रखें।

सामग्री को समूहीकृत और आदेश देना

संबंधित सामग्री बेहतर पढ़ी जाती है जब यह समूहीकृत होती है। इसके लिए दो तत्व मौजूद हैं। एक <section> एक पृष्ठ का एक थीम्ड चंक है जिसका अपना शीर्षलेख है, जैसे एक नुस्खा का "सामग्री" हिस्सा। एक <article> एक ऐसा टुकड़ा है जो अपने आप में खड़ा होता है और यदि आप इसे उठाते हैं तो भी समझदारी होगी, जैसे एक एकल ब्लॉग पोस्ट या एक ग्राहक समीक्षा।

html
<!-- लेख -->
<article>
  <!-- धीमी-वृद्धि फोकेशिया -->
  <h2>धीमी-वृद्धि फोकेशिया</h2>
  <!-- एक रोटी जिसे लगभग कोई आटा गूंधना की जरूरत नहीं है। -->
  <p>एक रोटी जिसे लगभग कोई आटा गूंधना की जरूरत नहीं है।</p>
</article>

आदेश समूहीकरण जितना महत्वपूर्ण है। क्योंकि पृष्ठ ऊपर से नीचे तक पढ़ता है, सबसे महत्वपूर्ण सामग्री शीर्ष के पास रखें, और बाकी को उस क्रम में व्यवस्थित करें जिसमें एक पाठक इसे चाहता है। एक नुस्खा चरणों से पहले सूचीबद्ध करता है जो आपको चाहिए, क्योंकि यह वह क्रम है जिसमें आप इसे अनुसरण करेंगे।

सामग्री के एक विषयगत समूहन के लिए <section> का उपयोग करें जो एक शीर्षलेख के अंतर्गत है, और एक आत्म-निहित इकाई के लिए <article> जो अपने आप वितरित किया जा सकता है, एक ब्लॉग पोस्ट, एक उत्पाद कार्ड, एक मंच का जवाब। दोनों को एक शीर्षलेख ले जाना चाहिए ताकि वे रूपरेखा में दिखाई दें; सामग्री को समूहित करना केवल आधा काम है यदि समूह के पास कोई नाम नहीं है।

जिस क्रम में आप तत्वों को लिखते हैं वह स्रोत क्रम है, और यह अधिक वजन रखता है जितना पहली बार दिखता है। स्रोत क्रम पठन क्रम है और टैब क्रम है। पठन क्रम वह है जो एक स्क्रीन रीडर बोलता है और पृष्ठ CSS के बिना दिखाता है। टैब क्रम वह क्रम है जिसमें कीबोर्ड Tab दबाने पर लिंक और फॉर्म नियंत्रणों के माध्यम से चलता है। दोनों डिफ़ॉल्ट रूप से स्रोत को अनुसरण करते हैं।

html
<main>
  <!-- लेख -->
  <article>
    <!-- धीमी-वृद्धि फोकेशिया -->
    <h2>धीमी-वृद्धि फोकेशिया</h2>
    <!-- ... -->
    <h2>...</h2>
  </article>
</main>

CSS flexbox या grid के साथ चीजों को दृश्य से स्थानांतरित कर सकता है, लेकिन यह स्रोत को नहीं बदलता। तो अपने मार्कअप को उस क्रम में लिखें जिसमें सामग्री वास्तव में पढ़ी जाती है, फिर वहां से स्टाइल करें। CSS में पुनर्क्रम करें और दृश्य क्रम और टैब क्रम मेल खाना बंद कर देते हैं, जो कीबोर्ड द्वारा नेविगेट करने वाले किसी के लिए भी असंतोषजनक है।

<section> और <article> सामग्री को समूहित करते हैं, लेकिन न तो कोई शीर्षलेख स्तर उत्पन्न करता है। यह रूपरेखा एल्गोरिदम बिंदु मूर्त है: एक <section> रूपरेखा में एक रंग नहीं जोड़ता है, और एक <section> इसके अंदर कोई शीर्षलेख नहीं है जो एक स्क्रीन रीडर नेविगेट कर सकता है। हर सेक्शनिंग तत्व को एक शीर्षलेख दें, या यह समूहीकरण है आंख देख सकती है और रूपरेखा नहीं कर सकती।

skim-reading को ध्यान में रखते हुए संरचना, क्योंकि लगभग कोई भी पृष्ठ शुरू से अंत तक नहीं पढ़ता है। नेत्रहीन उपयोगकर्ता शीर्षलेख स्कैन करते हैं; स्क्रीन रीडर उपयोगकर्ता शीर्षलेख और मुख्य क्षेत्र सूचियों के माध्यम से कदम बढ़ाते हैं। एक वर्णनात्मक <h2> हर स्क्रीनफुल, और सामग्री सामने-लोड की गई ताकि बिंदु सहायक विवरण से पहले आए, दोनों सेवा करें। शीर्षलेखों के बिना पैराग्राफों की एक दीवार किसी भी तरह के skimmer के लिए अपठनीय है।

फिर कीबोर्ड नेविगेशन होता है, माउस के बजाय Tab कुंजी के साथ एक पृष्ठ के माध्यम से जाना, जो स्रोत क्रम को अनुसरण करता है। जिस क्षण आप CSS order, flex-direction: row-reverse, या ग्रिड प्लेसमेंट के साथ सामग्री को पुन: व्यवस्थित करते हैं, दृश्य क्रम और स्रोत क्रम विचलित हो जाते हैं: जब उपयोगकर्ता टैब करता है तो फोकस स्क्रीन के चारों ओर अप्रत्याशित रूप से कूदता है, क्योंकि ब्राउज़र अभी भी स्रोत का अनुसरण करता है। पुनर्क्रमण जो माउस उपयोगकर्ता कभी नोटिस नहीं करता है एक कीबोर्ड उपयोगकर्ता के लिए एक भूलभुलैया बन जाता है। विश्वसनीय नियम स्रोत क्रम को इच्छित पठन क्रम से मेल खाना है, और CSS पुनर्क्रमण को परिवर्तनों के लिए आरक्षित रखना है जो प्रभावित नहीं करते कि सामग्री कैसे पढ़ी जानी चाहिए।

Junoसामग्री को समूहीकृत और आदेश देना<section> के साथ संबंधित सामग्री को समूहित करें एक थीम्ड भाग के लिए जिसका एक शीर्षलेख है, और <article> एक ऐसे टुकड़े के लिए जो अपने आप पर खड़ा होता है, जैसे एक एकल पोस्ट। फिर आदेश को ध्यान में रखें: पृष्ठ ऊपर से नीचे तक पढ़ता है, इसलिए महत्वपूर्ण चीजें शीर्ष के पास जाती हैं। इसे उस क्रम में लिखें जिसमें कोई वास्तव में इसे पढ़ना चाहता है।
Junoसामग्री को समूहीकृत और आदेश देना<section> एक शीर्षलेख के तहत सामग्री को समूहित करता है, <article> एक स्व-निहित इकाई को लपेटता है, और दोनों एक शीर्षलेख चाहते हैं ताकि वे रूपरेखा में उतरें। बड़ा एक रखने के लिए: स्रोत क्रम पठन क्रम है और टैब क्रम है। मार्कअप को उस क्रम में लिखें जिसमें यह पढ़ता है, फिर CSS को लुक संभालने दें, या कीबोर्ड पथ जो लोग देखते हैं उससे मेल खाना बंद कर देता है।
Junoसामग्री को समूहीकृत और आदेश देना कोई शीर्षलेख के बिना एक <section> रूपरेखा में अदृश्य है, इसलिए हर समूहीकरण एक शीर्षलेख अर्जित करता है या यह कुछ भी समूहित नहीं करता है जो एक स्क्रीन रीडर पहुंच सकता है। और स्रोत क्रम आपका टैब क्रम है: CSS order या ग्रिड के साथ पुनर्क्रम करें और फोकस कीबोर्ड उपयोगकर्ताओं के लिए स्क्रीन के चारों ओर होपिंग शुरू करता है। स्रोत क्रम को पठन क्रम से मेल खाएं और केवल तभी CSS में पुनर्क्रम करें जब यह प्रभावित न करे कि सामग्री कैसे पढ़ी जाती है।

सामान्य संरचनात्मक गलतियां

कुछ संरचनात्मक गलतियां बार-बार दिखाई देती हैं, और प्रत्येक के पास एक स्वच्छ फिक्स है।

  • पाठ को बड़ा बनाने के लिए शीर्षलेख टैग का उपयोग करना। <h3> तक पहुंचना क्योंकि यह उस आकार पर प्रस्तुत होता है जो आप चाहते हैं रूपरेखा को तोड़ता है। स्तर को अर्थ से चुनें, और आकार को CSS में सेट करें।
  • शीर्षलेख स्तरों को छोड़ना। <h2> से <h4> तक कूदना रूपरेखा में एक छेद छोड़ता है। एक बार में एक स्तर नीचे जाएं।
  • एक से अधिक <h1> एक पृष्ठ का एक शीर्षक है। अतिरिक्त <h1> टैग विषयसूची को मलिन करते हैं।
  • कोई शीर्षलेख नहीं। पैराग्राफों का एक लंबा रन इसे तोड़ने के लिए कुछ भी नहीं के साथ स्कैन करना मुश्किल है। एक पाठक को अपना रास्ता खोजने में मदद करने के लिए शीर्षलेख जोड़ें।

इन्हें ठीक करें और पृष्ठ सभी के लिए स्पष्ट रूप से पढ़ता है, चाहे वह अपनी आंखों से स्कैन कर रहा हो या इसे जोर से पढ़ा जा रहा हो। Accessibility अध्याय हर आगंतुक के लिए एक पृष्ठ को काम करने पर आगे बढ़ता है।

सामान्य गलतियां सभी संरचना के लिए खड़े होने वाली उपस्थिति तक नीचे आती हैं।

इसकी प्रस्तुत आकार के लिए एक शीर्षलेख स्तर चुनना रूपरेखा को स्क्रैम्बल करता है, क्योंकि स्तर एक संरचनात्मक संकेत है और CSS पहले से ही आकार को नियंत्रित करता है। स्तरों को छोड़ना (एक <h2> के बाद एक <h4>) एक अंतराल छोड़ता है जो एक लापता अनुभाग के रूप में पढ़ता है। कई <h1> तत्व पृष्ठ को एक से अधिक शीर्षक देते हैं और इसकी विषयसूची को धुंधला करते हैं। और एक शीर्षलेख को नकलना, एक <p> या <div> को बोल्ड और बड़ा दिखने के लिए शैली देना, आपको दिखावट देता है जिसमें कोई संरचना नहीं है: यह कभी भी शीर्षलेख सूची में नहीं दिखाई देता है जो एक स्क्रीन रीडर बनाता है।

नाम के लायक दो और। एक खाली मुख्य क्षेत्र, जैसे कि एक <nav> इसमें कुछ भी नहीं के साथ, एक क्षेत्र जोड़ता है जो कहीं नहीं ले जाता है। और CSS में सामग्री को पुनर्क्रम करना ताकि दृश्य क्रम अब स्रोत से मेल न खाता हो कीबोर्ड उपयोगकर्ताओं को पृष्ठ के माध्यम से एक क्रम में टैब करने देता है जो वह नहीं देखता है। HTML में संरचना रखें और CSS में दिखावट, और अधिकांश ये कभी नहीं होता है।

अधिकांश संरचनात्मक विफलताएं एक ही त्रुटि हैं विभिन्न कपड़ों में: दिखावट जहां संरचना की आवश्यकता थी। एक <div> एक शीर्षलेख की तरह स्टाइल सहायक तकनीक को कुछ भी नहीं देता है, क्योंकि स्टाइलिंग का रूपरेखा पर कोई प्रभाव नहीं है; केवल वास्तविक शीर्षलेख तत्व शीर्षलेख सूची दर्ज करते हैं। एक छोड़ा गया स्तर एक स्क्रीन रीडर उपयोगकर्ता को एक अनुभाग के रूप में पढ़ता है जो गायब हो गया। कई <h1> तत्व पृष्ठ को कई शीर्षक देते हैं और उस एक शॉर्टकट को कमजोर करते हैं जो अधिकांश उपयोगकर्ता भरोसा करते हैं।

सूक्ष्मतर विफलताएं क्रम और फोकस के बारे में हैं। CSS के साथ पुनर्क्रम करना ताकि दृश्य और स्रोत आदेश विचलित हों माउस उपयोगकर्ता के लिए अदृश्य है और किसी को भी टैब के माध्यम से असंतोषजनक है, क्योंकि कीबोर्ड नेविगेशन स्रोत को अनुसरण करता है। सकारात्मक tabindex मूल्य (एक विशेषता जो एक तत्व को टैब क्रम में पहले मजबूर करती है) यह बदतर बना देता है फोकस को अनुक्रम से बाहर कूद कर; उन्हें टालें और स्रोत क्रम को काम करने दें। और एक मुख्य क्षेत्र कोई सुलभ सामग्री के साथ, एक खाली <nav> या एक <section> कोई शीर्षलेख के बिना, एक क्षेत्र जोड़ता है जो नक्शे में कहीं नहीं ले जाता है।

यह सब कुछ नीचे नियम है: HTML में संरचना बनाएं ताकि यह कोई CSS के बिना सही हो, फिर शीर्ष पर स्टाइल करें। एक पृष्ठ जिसकी रूपरेखा सादे, unstyled मार्कअप के रूप में रखती है वह है जो हर तरह से रखती है इसे पढ़ता है। तत्वों के बारे में अधिक के लिए, Semantic HTML अध्याय इस के लिए साथी है।

Junoसामान्य संरचनात्मक गलतियां बड़े चार: पाठ को बड़ा बनाने के लिए एक शीर्षलेख का उपयोग न करें, स्तरों को न छोड़ें, दूसरा <h1> न जोड़ें, और एक लंबे पृष्ठ को कोई शीर्षलेख के साथ न छोड़ें। प्रत्येक एक रूपरेखा को मलिन करता है। शीर्षलेख स्तर अर्थ से चुनें और CSS आकार संभालने दें।
Junoसामान्य संरचनात्मक गलतियां लगभग हर संरचनात्मक बग दिखावट संरचना के लिए खड़ी है: एक शीर्षलेख इसके आकार के लिए चुना गया है, एक बोल्ड <div> एक शीर्षलेख नाटक, एक स्तर छोड़ दिया गया है, दो <h1> तत्व। एक स्टाइल किया गया <div> कभी भी रूपरेखा में नहीं उतरता है, इसलिए यह एक शीर्षलेख है केवल आंख के लिए। HTML में संरचना रखें, CSS में स्टाइलिंग, और ये ज्यादातर गायब हो जाते हैं।
Junoसामान्य संरचनात्मक गलतियां हर मामले में बताने वाला कार्य स्टाइलिंग कर रहा है जो संरचना करता है: एक नकली <div> शीर्षलेख, एक छोड़ा हुआ स्तर, खाली मुख्य क्षेत्र, एक CSS पुनर्क्रम जो कीबोर्ड फोकस को होपिंग छोड़ देता है। सकारात्मक tabindex भी छोड़ें, यह फोकस को अनुक्रम से बाहर खींचता है। मार्कअप बनाएं जो शून्य CSS के साथ सही है, फिर शीर्ष पर स्टाइल करें, और यह सही पढ़ता है कि कोई इसे कैसे प्राप्त करता है।