2010-03-24 7 views
21

यदि यह संरचना है:क्या   खाली <td> के अंदर रखना अच्छा है?

<table cellspacing="0" cellpadding="0"> 
    <tr> 
     <td>I don't need anything here, should I always put a &nbsp; here?</td> 
     <td>item </td> 
    </tr> 
    <tr> 
     <td>model</td> 
     <td>one</td> 
    </tr> 
    <tr> 
     <td>model</td> 
     <td>two</td> 
    </tr> 
    <tr> 
     <td>model</td> 
     <td>three</td> 
    </tr> 
</table> 

कैसे एक स्क्रीन रीडर एक खाली td पढ़ा होगा? क्या यह अर्थात् सही है?

उत्तर

12

अर्थात् सही आईएमएचओ एक खाली सेल वास्तव में खाली रखना होगा। हालांकि, मैं भी व्यावहारिक कारणों से &nbsp; एस के साथ खाली कोशिकाओं को भरता हूं।

स्क्रीन पाठकों के लिए, मुझे एक शिक्षित अनुमान बनाना होगा: खाली नोड्स को पढ़ा नहीं जाएगा, क्योंकि एचटीएमएल में ज्यादातर व्हाइटस्पेस टेक्स्ट नोड्स होते हैं, जो पाठक अनदेखा करते हैं, और मुझे लगता है कि &nbsp; को ध्वस्त कर दिया गया है पाठक अनुप्रयोगों में सरल स्थान (गैर-ब्रेकिंग दृश्य मीडिया की एक संपत्ति है)।

नेत्रहीन प्रतिपादन के लिए, एक सीएसएस तालिका संपत्ति empty-cells पर भरोसा कर सकते हैं:

table { 
    empty-cells: show; 
} 
+2

मुझे लगता है कि यह संपत्ति आईई –

+3

में समर्थित नहीं है यह सच है, और कारण, मैं अभी भी ' ' दुर्भाग्यवश क्यों उपयोग करता हूं। – Boldewyn

+2

[एमडीएन] के अनुसार (https://developer.mozilla.org/en-US/docs/Web/CSS/empty-cells), 'खाली-कक्ष' संपत्ति का समर्थन IE 8 में है। –

0

वहाँ कुछ भी नहीं है वास्तव में कह रही है कि तुम एक खाली टीडी का उपयोग उपयोग नहीं करना चाहिए, और यह गुजरता है जब आप को मान्य करने की कोशिश ।

हालांकि, colspan का उपयोग करने के लिए एक और अधिक सुरुचिपूर्ण दृष्टिकोण होगा।

अर्थात

<tr> 
    <td colspan="2">item </td> 
</tr> 

लेकिन यह बाईं ओर अपनी सामग्री संरेखित जाएगा, और आप मैन्युअल रूप से (सीएसएस) के माध्यम से शैलियों लागू करें, ताकि सामग्री गठबंधन है अपने इच्छित स्थान पर होगा।

colspans साथ इसे का उपयोग के बारे में अच्छी बात यह है, कि स्क्रीन रीडर्स केवल वहाँ क्या है, और नहीं खाली स्थान

+4

'colspan' अधिक सुरुचिपूर्ण या अर्थपूर्ण नहीं है। 'colspan' प्रभावी ढंग से कहता है, कि तालिका कक्ष का मान उन मानों का एक वैध संयोजन है जो आम तौर पर दो अलग-अलग कोशिकाओं में होते हैं। उपर्युक्त मामले में: यदि पहली पंक्ति एक शीर्षक है, तो 'colspan' एक पूरी तरह से गलत परिणाम देता है (यानी, सेल सामग्री को * दोनों * कॉलम के लिए लेबल के रूप में चिह्नित किया जाता है)। – Boldewyn

2

Dreamweaver जैसे संपादकों के लिए धन्यवाद इस अभ्यास के लिए एक मानक के कुछ हो गया है, तो भले ही यह है पढ़ा जाएगा एक आदर्श समाधान नहीं - कम से कम आप इसे करने में अकेले नहीं होंगे। इसके अलावा यह पुराने ब्राउज़र के साथ सीएसएस के empty-cells की तुलना में अधिक संगत है।

4

शब्दार्थ एक HTML तालिका वास्तव में सिर्फ डेटा की एक सरणी (मैट्रिक्स) है, और वहाँ कोई कारण नहीं क्यों एक-ब्रेक स्पेस चरित्र डेटा के रूप में इलाज नहीं किया जा सका है। चाहे यह वास्तव में समझ में आता है, तालिका के उद्देश्य, संरचना और सामग्री पर निर्भर करता है। ज्यादातर मामलों में, एक बेहतर समाधान है। Empty cells in HTML tables में कुछ सुझाव देखें।

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

एक सामान्य स्थान का उपयोग कर या सेल पूरी तरह से खाली छोड़ने के लिए एक-ब्रेक स्पेस उपयोग का एक और प्रभाव, विपरीत के रूप में, यह है कि यह सेल और पृष्ठभूमि रंग और सेल के अंदर पृष्ठभूमि छवि के आसपास सीमाओं की उपस्थिति को प्रभावित कर सकता है।

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

संबंधित मुद्दे