- `` नाम–मान जोड़ों की सूची को अर्थपूर्ण तरीके से व्यक्त करने वाला HTML एलिमेंट है, और सुविधाएँ, बिलिंग आइटम, तकनीकी शब्दावली जैसी UI patterns के लिए उपयुक्त है
- description list की संरचना में
नाम** और ** मान को `` के अंदर रखा जाता है, और एक ही नाम के साथ कई मान भी जोड़े जा सकते हैं
- styling के लिए संबंधित
और को समूहित करना हो, तो spec के अनुसार केवल `` wrapper ही उस group को घेर सकता है
- सिर्फ nested
का उपयोग करने पर assistive technology के लिए list pattern पहचानना कठिन हो सकता है, जबकि item count, current position और list skip जैसे navigation फायदे देता है
- Dungeons & Dragons stat block की तरह अलग-अलग रूपों वाले numbers, abilities और actions data को भी description list में बाँटा जा सकता है, जिससे इसकी versatility स्पष्ट होती है
`` किस pattern को दर्शाता है
- `` नाम–मान जोड़ों की सूची को दर्शाने वाला HTML एलिमेंट है, और वेब UI में बार-बार दिखने वाले pattern को semantic meaning देता है
- lodging सुविधाएँ, monthly rent के अलग-अलग billing items, और technical glossary जैसी नाम और मान वाली संरचनाएँ इसके प्रतिनिधि उदाहरण हैं
कोई standalone एलिमेंट नहीं है; यह, , तीन एलिमेंट्स के संयोजन से नाम–मान groups बनाता है
- HTML5 से पहले `` को definition list कहा जाता था, और मूल रूप से यह terms और definitions की glossary को व्यक्त करने के लिए बनाया गया था
description list की मूल संरचना
-
, , ``
- **
** पूरे description list को wrap करता है, और इसकी भूमिका कुछ हद तक या `` द्वारा पूरी सूची को घेरने जैसी है
** description term है, जो नाम को दर्शाता है, और ** description detail है, जो मान को दर्शाता है
और पहले क्रमशः definition term और definition detail के नाम से भी जाने जाते थे
- मूल संरचना में एक
के बाद एक रखा जाता है
Title
Designing with Web Standards
-
कई नाम–मान जोड़े
- उसी सूची में अन्य नाम–मान जोड़े जोड़ने के लिए नया
और क्रम से रखा जाता है
Title
Designing with Web Standards
Publisher
New Riders Pub; 3rd edition (October 19, 2009)
-
एक नाम के कई मान
- एक
के साथ कई ** मान** हो सकते हैं
- जैसे किसी किताब के कई authors हों, तो एक नाम के साथ कई मानों वाली संरचना को सीधे व्यक्त किया जा सकता है
Title
Designing with Web Standards
Author
Jeffrey Zeldman
Ethan Marcotte
Publisher
New Riders Pub; 3rd edition (October 19, 2009)
-
styling के लिए wrapper
- styling के उद्देश्य से संबंधित
और को समूहित करना हो, तो `` wrapper का उपयोग किया जा सकता है
- spec के अनुसार
/ group को wrap करने वाला एकमात्र wrapper एलिमेंट `` है
- अधिक विस्तृत allowed structure और constraints के लिए MDN का `` दस्तावेज़ या HTML spec देखा जा सकता है
Title
Designing with Web Standards
Author
Jeffrey Zeldman
Ethan Marcotte
semantics की ज़रूरत क्यों है
- नाम–मान groups को केवल nested `` से भी दृश्य रूप में बनाया जा सकता है, लेकिन browser या assistive technology के लिए इसे list pattern के रूप में पहचानना कठिन होता है
- semantic एलिमेंट का चयन इस आधार पर किया जा सकता है कि कंप्यूटर उस pattern को पहचानने पर उपयोगकर्ता को वास्तविक लाभ मिलता है या नहीं
- `` का उपयोग करने पर screen reader users नाम–मान groups की सूची को अधिक आसानी से navigate कर सकते हैं
- वे सूची में मौजूद नाम–मान groups की संख्या जान सकते हैं
- वे समझ सकते हैं कि वे अभी सूची में किस स्थान पर हैं
- यदि रुचि न हो, तो वे पूरी सूची को एक block की तरह skip कर सकते हैं
- nested
संरचना में हर नाम और मान अलग text node की तरह संभाला जाता है, लेकिन उसी जानकारी को संरचनात्मक अर्थ देता है
- ये फायदे ज़्यादातर browser/screen reader combinations में `` के उपयोग पर वास्तव में मिलते हैं
- हालाँकि
support अभी पूरी तरह universal नहीं है, इसलिए यदि independent text nodes के रूप में fallback experience पर्याप्त नहीं है, तो support बेहतर होने तक जैसे दूसरे एलिमेंट चुनना भी उचित हो सकता है
Dungeons & Dragons stat block उदाहरण
- Dungeons & Dragons का stat block नाम–मान जोड़ों का एक बड़ा उदाहरण है, और एक stat block के भीतर description list के कई संभावित उपयोग मिलते हैं
- Armor Class, Hit Points, Speed जैसी basic values, STR·DEX जैसी abilities, Senses·Languages·Challenge जैसी proficiency-related information, तथा Traits और Actions को अलग-अलग description lists में बाँटा जा सकता है
- दृश्य रूप से अलग दिखने वाली ability lists और attack lists भी description list pattern के रूप में व्यक्त की जा सकती हैं
- कई description lists को अलग पहचान देने या उन्हें heading से जोड़ने के लिए
aria-label और aria-labelledby का उपयोग किया जा सकता है
- यह markup केवल एक संभावित तरीका है, और यह दिखाता है कि `` pattern अलग-अलग रूपों वाले data groups पर भी लागू होने लायक काफी versatile है
2 टिप्पणियां
Lobste.rs की राय
लेकिन ज़्यादातर implementations इसे support नहीं करते, यह सही है। दूसरी ओर, typesetting system/markup language Typst
/ term: descriptionजैसी syntax के साथ description list को first-class syntax के रूप में देता है, इसलिए यह-bullet list या+auto-numbered list के साथ भी अच्छी तरह मेल खाता है<details>के साथ यह निश्चित रूप से ऊपर की श्रेणी में है। काश ऐसे interactive elements और ज़्यादा होते<dt>भी रखे जा सकते हैं। dictionary-style list में synonym जैसी चीज़ें दिखाने के लिए इसका उपयोग हो सकता हैCSS से styling करते समय adjacent sibling selector की आदत डालना अच्छा रहेगा
संदर्भ: https://developer.mozilla.org/en-US/docs/…
Hacker News की राय
यह गलत है:
के लिए कोई corresponding implicit role नहीं है, लेकिन इसे `group`, `list`, `none`, `presentation` role दिए जा सकते हैं `aria-label` सिर्फ़ उन elements पर define किया जा सकता है जिनके पास compatible role हो, चाहे implicit हो या explicit, और `aria-label` ज़्यादातर roles पर allowed है, लेकिन यहाँ `presentation` और `none` हट जाते हैं, इसलिए सिर्फ़ `group` और `list` बचते हैं `group` अटपटा है और `list` स्वीकार्य है, इसलिए निष्कर्ष यह है कि **या तो aria-label हटाएँ** या `role="list"` जोड़ें। तब children पर `role="listitem"` भी चाहिए होगा लेख में जो बात छूट गई, वह यह है किसिर्फ़ एक बार नहीं आता, कई बार लगातार भी आ सकता है। spec का उदाहरण अच्छा है: https://html.spec.whatwg.org/multipage/grouping-content.html... यह name-value pair नहीं, बल्कि name-value group हैऔरको wrap करने वालेelement पर `role="listitem"` लगाएंगे? `role="listitem"` शायदपर allowed है, लेकिन जब कईसाथ group किए जाते हैं तो यह सही नहीं लगता, और यह भी स्पष्ट नहीं कि इससेकी मूल term के रूप में interpretation बिगड़ेगी या नहींयहाँ यह लोकप्रिय नहीं होगा, लेकिन semantic HTML इस्तेमाल करने की कोशिश न करने से मेरी ज़िंदगी आसान हो गई है। डिज़ाइन ही बस अच्छा नहीं है
इस्तेमाल करने की कोशिश हर बार आख़िर में पछतावा ही बनी, क्योंकि कई स्तर के wrappers चाहिए होते हैं, या sections के बीच separator चाहिए होता है, या icons चाहिए होते हैं, या कई key-value pairs पर फैला heading चाहिए होता है कुछ हद तक flexibility है, लेकिन जिस generalized concept का दावा किया जाता है, उसे वास्तव में संभालने के लिए यह बहुत कम है। हाँ,, `` जैसे matching elements जिनका observable benefit है, उन्हें मैं अब भी इस्तेमाल करता हूँ, लेकिन अगर वह data model पर ठीक से fit नहीं बैठता और सब कुछ override करना पड़ता है, तो यह व्यावहारिक विकल्प नहीं है अगर 99% usage API को bypass करती है, तो यह कहना शायद इतना विवादास्पद नहीं होना चाहिए कि गलती API की हैdocument.speakTextचाहते हैं। उनके पास जो है वह एक अजीब API है जो page के text बदलने पर उसे पढ़कर सुनाती है। इन दोनों के बीच पुल बनाना पड़ता है, और अच्छी implementation में भी यह कठिन और hack जैसा है। फिर भी कम से कम live region वाला तरीका semantically pure HTML तो कहलाएगाdisplay:contentswrappers हटाने देता है, वैसे ही elements को ऐसे group करने का तरीका भी आना चाहिए जैसे उनका कोई common ancestor हो:wrap(dt, dt+dd) {border: solid 1px}402 Payment Required,407 Proxy Authentication Required,508 Loop Detectedऐसे लगते हैं जैसे किसी specific app या deployment type की ज़रूरतों को web की foundation में ठूँसने की कोशिश की गई हो समझ नहीं आता कि RFC authors की specific ज़रूरतें web की foundation में implement होती हैं, जबकि मेरी ज़रूरतों के लिए मुझे बस कहीं-कहीं मिलने वाले overlap ढूँढकर app-specific चीज़ों को400 Bad Requestया500 Internal Server Errorमें ठूँसना पड़े। जब भी किसी web app को बुनियादी से ज़्यादा HTTP status codes का सच में उपयोग करते देखता हूँ, आँखें घूम जाती हैं। वह application layer में होना चाहिए। यह protocol आपके लिए नहीं, बल्कि ज़्यादातर static assets serve करने वाले LAMP stack apps के लिए बना थायह lists के इतिहास का पाठ है। नीचे 1985 का IBM mainframe DCF/GML manual देखें, DL-DT-DD web से पहले से मौजूद था 40 साल से पुराने दस्तावेज़ में सिर्फ़ Definition lists(DL) ही नहीं, बल्कि Glossary lists(GL), Ordered lists(OL), Unordered lists(UL), Simple lists(SL) भी हैं ibm :: 370 :: DCF :: SH35-0050-2 Document Composition Facility Generalized Markup Language Implementation Guide Rel 3 Mar85 https://archive.org/details/bitsavers_ibm370DCFSpositionFaci...
:p., `की जगह:li.` जैसा कुछ था। 1990~1991 के आसपास, जब TBL HTML और HTTP विकसित कर रहे थे, तब HyTime नाम का एक प्रयास भी था, जो hypermedia-केंद्रित SGML application था। HTML ने उसे काफ़ी जल्दी पीछे छोड़ दिया GML/SGML को आगे बढ़ाने वाले Charles Goldfarb के लिए https://en.wikipedia.org/wiki/Charles_Goldfarb देखें, और SGML के लिए https://en.wikipedia.org/wiki/Standard_Generalized_Markup_La... देखेंदुनिया की पहली website में `` का काफ़ी इस्तेमाल हुआ है https://info.cern.ch/hypertext/WWW/TheProject.html https://info.cern.ch/ असली पहली website के लिए context और दिशा देने वाला एक तरह का landing page है
native GUI toolkits सब मर चुके हैं, और अब लोग एक HTML element पर लंबा निबंध लिख सकते हैं। पता नहीं इसे प्रगति कहें या नहीं
HTML5 से पहले इसे definition list कहा जाता था, और अब पता चला कि मूल रूप से `` सिर्फ़ terms और definitions वाली glossary दिखाने के लिए था। 10 साल तक मैं इसका नाम ग़लत बोलता रहा
bअब “bring attention to” है। कमाल हैअच्छा लेख है। बहुत मामूली आपत्ति यह है कि
smallelement subtitle के लिए इस्तेमाल नहीं होना चाहिए, उसके लिएhgroupelement इस्तेमाल करना चाहिएsmallelement छोटे अक्षरों वाले supplementary comments को दर्शाता है। छोटे अक्षरों में आम तौर पर disclaimer, caveat, legal restrictions, copyright जैसी चीज़ें आती हैं। कभी-कभी attribution या license requirements पूरी करने के लिए भी इसका उपयोग होता है (https://html.spec.whatwg.org/multipage/text-level-semantics....)screen reader `` को कितना अच्छी तरह support करते हैं, इस पर एक उपयोगी note है: https://adrianroselli.com/2025/01/updated-brief-note-on-desc...
DnD ability sheet के आख़िरी example को देखकर सोच रहा हूँ कि क्या `` को nest करना भी वैध है जैसे
Actions ...जैसा कुछ किया जा सकता है?मुझे
पसंद है। कम से कम पहले तो tables का misuseकी तुलना में ज़्यादा होता था, और table markup की असुविधा कईdivसे भी बदतर हैfirstsecondwhateverमेरे हिसाब से यह किसी भी Markdown table syntax से ज़्यादा simple और साफ़ है