2009-11-18 11 views
36

स्क्रीन रीडर उपयोगकर्ताओं के लिए इन तीनों के बीच क्या अंतर है?डिस्प्ले: कोई भी बनाम दृश्यता: छुपा बनाम टेक्स्ट-इंडेंट: 99 99 स्क्रीन रीडर प्रत्येक के साथ कैसे व्यवहार करता है?

+0

मैं, स्क्रीन रीडर के साथ कुछ अनुभव है, हालांकि सीमित है, लेकिन मैं करूंगा लगता है कि वे सीएसएस को अनदेखा करते हैं ... क्या आधुनिक स्क्रीन पाठक भी जावास्क्रिप्ट उत्पन्न सामग्री को अनदेखा करते हैं? – Zoidberg

+0

जेएडब्ल्यूएस (http://www.freedomscientific.com/products/fs/jaws-product-page.asp), सबसे लोकप्रिय स्क्रीन रीडर (http://www.webaim.org/projects/screenreadersurvey2/) नहीं है एक समर्पित ब्राउज़र, लेकिन एक ऐसा एप्लिकेशन जो अन्य प्रोग्राम बनाता है, जैसे ब्राउज़र, सुलभ। मुझे नहीं पता कि यह कैसे काम करता है, लेकिन मुझे लगता है कि यह कहने के लिए कि क्या कहना है, ब्राउज़र के प्रतिपादन इंजन पर यह सिर्फ पिग्गी बैक है। – mercator

+0

आप एक छिपे हुए पाठ को क्यों पढ़ना चाहते हैं? क्या यह पता है कि क्या छिपा हुआ है?मैं इस सीएसएस संपत्ति के आवेदन को बेहतर ढंग से समझने की कोशिश कर रहा हूं ताकि आप जान सकें कि किसके लिए उपयोग करना है। – user1815356

उत्तर

30

देखें: http://css-discuss.incutio.com/?page=ScreenreaderVisibility

प्रदर्शन: कोई नहीं: है और न ही नहीं देखा जाएगा सुना। *
दृश्यता: छुपा: नहीं देखा जाएगा और न ही सुना जाएगा। *
टेक्स्ट इंडेंट: 99 99: नहीं देखा जाएगा लेकिन यह सुना जाएगा।

  • स्क्रीन रीडर 'बात' नहीं होगा प्रदर्शन के अधिकांश: कोई नहीं और visibility: hidden, लेकिन वहाँ जो भी इन भी पढ़ा जाएगा pwWebSpeak और HtReader की तरह कुछ स्क्रीन रीडर हैं।
+3

मैंने एनवीडीए स्क्रीन रीडर के साथ परीक्षण किया और यह उन तत्वों को पढ़ता है जो डिस्प्ले द्वारा छिपा हुआ है: कोई भी –

+0

मेरे द्वारा निर्दिष्ट लिंक में एक समान टिप्पणी है। RTIMO। –

+0

उपर्युक्त संभावना आईई –

8

स्क्रीन पाठकों को WebAIM पर इन गुणों की व्याख्या करने का एक बहुत अच्छा सारांश है।

संक्षेप में,और display:none स्क्रीन पाठकों से टेक्स्ट छिपाएगा जैसे कि यह दूसरों से करता है। अन्य सभी विधियां स्क्रीन रीडर को 'दृश्यमान' होंगी।

+1

लेकिन मैंने एनवीडीए स्क्रीन रीडर सॉफ्टवेयर डाउनलोड किया और यह डिस्प्ले पढ़ता है: कोई भी सामग्री –

+1

हाँ, दुर्भाग्य से स्क्रीन पाठक सीएसएस की बात करते समय दृष्टि वाले ब्राउज़र के रूप में असंगत हैं। मानक ऊपर वर्णित है, लेकिन हमेशा कुछ ऐसे होंगे जो मानकों को अनदेखा करते हैं। – anschauung

+1

मुझे लगता है कि एनवीडीए स्क्रीन रीडर 'डिस्प्ले नहीं पढ़ता है: कोई भी सामग्री नहीं अगर स्क्रीन उस स्थिति में है जब स्क्रीन लोड हो; लेकिन यदि जावास्क्रिप्ट का उपयोग राज्य को 'डिस्प्ले' में बदलने के लिए किया जाता है: स्क्रीन रीडर को कोई भी नहीं पता है, और सामग्री को पढ़ता है। –

15

ए सूची के अलावा इसमें अच्छी व्याख्या है। http://www.alistapart.com/articles/fir/ यह उत्पाद पर निर्भर करता है।

 
PRODUCT       DISPLAY: NONE  VISIBILITY: HIDDEN 
Hal version 5.20    Does not read  Reads 
IBM Home Page Reader 3.02  Does not read  Does not read 
Jaws (4.02, 4.50, 5.0 beta)  Reads    Reads 
OutSpoken 9      Does not read  Does not read 
Window-Eyes 4.2     Does not read  Does not read 
2

नेत्रहीन सामग्री छिपा लेकिन यह स्क्रीन पाठकों के लिए उपलब्ध है many techniques रहे हैं।

H5BP तकनीक एफएफ, वेबकिट, ओपेरा और IE6 +

में काम करता है
.visuallyhidden { 
    border: 0; 
    clip: rect(0 0 0 0); 
    height: 1px; 
    margin: -1px; 
    overflow: hidden; 
    padding: 0; 
    position: absolute; 
    width: 1px; 
} 
0

पूरा answere यहाँ है यकीन है कि क्रोम does not को autoshow/स्वत: भरण इनपुट बॉक्स बनाने के लिए। मेरे वेब पेज (नया उपयोगकर्ता) पर, टेलीफोन फ़ील्ड और पासवर्ड फियोल्ड को कैश किए गए डेटा के साथ स्वत: भर दिया जा रहा था। इससे छुटकारा पाने के लिए, मैंने दो डमी फ़ील्ड बनाए और उन्हें एक कक्षा दी जो उन्हें उपयोगकर्ता के लिए अदृश्य बनाता है। एक jquery समारोह दिखाने के लिए और फिर एक अंश के बाद इन्हें छुपाएं।

$().ready(function() { 
    $(".fake-autofill-fields").show(); 
    // some DOM manipulation/ajax here 
    window.setTimeout(function() { 
     $(".fake-autofill-fields").hide(); 
    }, 1000); 
}); 

कक्षा::

.fake-autofill-fields 
{ 

    border: none; 
    clip: rect(0 0 0 0); 
    height: 1px; 
    margin: -1px; 
    overflow: hidden; 
    padding: 0; 
    position: absolute; 
    width: 1px; 
} 

इनपुट फ़ील्ड:

jQuery समारोह & छिपाने को दिखाने के लिए

<input style="display:none" type="text" class="fake-autofill-fields" name="fakeusernameremembered"/> 
<input style="display:none" type="password" class="fake-autofill-fields" name="fakepasswordremembered"/> 
+0

इनपुट फ़ील्ड में JAWS के साथ काम नहीं कर रही है इनपुट फ़ील्ड: <इनपुट शैली = "प्रदर्शन: कोई नहीं" प्रकार = "पाठ" वर्ग = "नकली-ऑटोफिल-फ़ील्ड" नाम = "नकली-उपयोगकर्ता नामांकित" /> <इनपुट शैली = "प्रदर्शन: कोई नहीं" प्रकार = "पासवर्ड" वर्ग = "नकली-ऑटोफिल-फ़ील्ड" नाम = "fakepasswordremembered" /> – Nitasha