2009-06-07 6 views
5

कहें कि आपके पास एक HTML तालिका है, जिसमें <th> सेल है जो कई कॉलम फैलाता है, उदा।कई कॉलमों की तुलना में HTML <th> तालिका कक्ष के लिए उपयोग करने के लिए सही दायरा मूल्य क्या है?

<table> 
    <tr> 
     <th colspan="3" scope="?">Scores</th> 
     <!-- ...more headings here... --> 
    </tr> 
    <tr> 
     <th scope="col">English</th> 
     <th scope="col">Maths</th> 
     <th scope="col">Science</th> 
     <!-- ...more sub-headings here... --> 
    </tr> 
    <tr> 
     <td>12</td> 
     <td>16</td> 
     <td>20</td> 
     <!-- ...more cells here... --> 
    </tr> 
</table> 

स्पैनिंग हेडर सेल के लिए स्कोप विशेषता के लिए सही मूल्य क्या है? col गलत लगता है क्योंकि यह कई स्तंभों का शीर्षक है, लेकिन colgroup सही नहीं लगता है अगर मेरे पास वास्तव में कोई colgroup टैग नहीं है।

उत्तर

6

WebAIM (मन में वेब पहुंच) समूह creating accessible data tables पर एक बड़ा लेख है। कुल मिलाकर, वे स्पैन की गई पंक्तियों या स्तंभों से परहेज करने की सलाह देते हैं, क्योंकि स्क्रीन पाठक विश्वसनीय रूप से मार्कअप की व्याख्या नहीं कर सकते हैं।

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

<table> 
    <tr> 
     <th id="scores" colspan="3">Scores</th> 
    </tr> 
    <tr> 
     <th id="english" scope="col">English</th> 
     <th id="maths" scope="col">Maths</th> 
     <th id="science" scope="col">Science</th> 
    </tr> 
    <tr> 
     <td headers="scores english">12</td> 
     <td headers="scores maths">16</td> 
     <td headers="scores science">20</td> 
    </tr> 
</table> 
+0

महान सामान:

यह आपके उदाहरण आईडी/हेडर के साथ कैसा लगेगा क्या है , धन्यवाद। मैं अपने पाठकों को कोडिंग करने के बजाए स्पेस का समर्थन करने वाले स्क्रीन पाठकों के पक्ष में दुबला हूं, लेकिन क्विर्क दस्तावेज करना बहुत अच्छा है। –

1

शायद शीर्षक सुविधा बेहतर आप के लिए अनुकूल हो सकता है ...

<table> 
    <caption>Scores</caption> 
    <thead> 
    <tr> 
     <th scope="col">English</th> 
     <th scope="col">Maths</th> 
     <th scope="col">Science</th> 
    </tr> 
    </thead> 
    <tbody> 
    <tr> 
     <td>12</td> 
     <td>16</td> 
     <td>20</td> 
    </tr> 
    </tbody> 
</table> 

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption

+0

आह - हाँ काफी संभवतः। मेरे द्वारा उपयोग किए जाने वाले वास्तविक उपयोग मामले में मेरे उदाहरण HTML की तुलना में अधिक कॉलम वाली एक तालिका थी, इसलिए शीर्षक जो कई स्तंभों को फैलाता है, वास्तव में पूरी तालिका को नहीं बढ़ाता था। मैं तदनुसार उदाहरण में संशोधन करूंगा। –

+1

गोचा। आईडी का उपयोग करने में डेव की प्रतिक्रिया बिल्कुल वैसा ही प्रतीत होती है जो आप खोज रहे थे। आप जानते हैं, 4 साल पहले :) – MetalAdam