.sr-onlyएक वर्ग नाम है जो विशेष रूप से स्क्रीन पाठकों के लिए उपयोग किया जाता है। आप किसी भी वर्ग के नाम का उपयोग कर सकते हैं, लेकिन .sr-onlyआमतौर पर इसका उपयोग किया जाता है। यदि आप मन में अनुपालन के साथ विकसित होने की परवाह नहीं करते हैं, तो इसे हटाया जा सकता है। इसे हटाए जाने पर यह किसी भी तरह से UI को प्रभावित नहीं करेगा क्योंकि इस वर्ग के लिए सीएसएस डेस्कटॉप और मोबाइल डिवाइस ब्राउज़रों के लिए दिखाई नहीं देता है।
ऐसा लगता है कि .sr-onlyइसके उद्देश्य को समझाने और स्क्रीन पाठकों के लिए उपयोग करने के बारे में कुछ जानकारी यहाँ गायब है । सबसे पहले और सबसे महत्वपूर्ण है, हमेशा बिगड़ा हुआ उपयोगकर्ताओं को ध्यान में रखना बहुत महत्वपूर्ण है। हानि 508 अनुपालन का उद्देश्य है: https://www.section508.gov/ , और यह बहुत अच्छा है कि बूटस्ट्रैप इसे ध्यान में रखता है। हालाँकि, .sr-only508 अनुपालन के लिए सभी का ध्यान रखने की आवश्यकता नहीं है। आपके पास रंग का उपयोग, फोंट का आकार, नेविगेशन के माध्यम से पहुंच, विवरणकर्ता, आरिया का उपयोग और बहुत कुछ है।
लेकिन जैसा कि .sr-only- सीएसएस वास्तव में क्या करता है? सीएसएस के कई अलग-अलग प्रकार हैं जिनके लिए उपयोग किया जाता है .sr-only। मेरे द्वारा उपयोग किए जाने वाले कुछ में से एक नीचे है:
.sr-only {
position: absolute;
margin: -1px 0 0 -1px;
padding: 0;
display: block;
width: 1px;
height: 1px;
font-size: 1px;
line-height: 1px;
overflow: hidden;
clip: rect(0,0,0,0);
border: 0;
outline: 0;
}
उपरोक्त सीएसएस इस वर्ग के साथ लिपटे डेस्कटॉप और मोबाइल ब्राउज़रों में सामग्री छुपाता है, लेकिन JAWS जैसे एक स्क्रीन रीडर द्वारा देखा जाता है: http://www.freedomscientific.com/Products/Blindness/JAWS । उदाहरण मार्कअप निम्नानुसार है:
<a href="#" target="_blank">
Click to Open Site
<span class="sr-only">This is an external link</span>
</a>
इसके अतिरिक्त, यदि DOM तत्व की चौड़ाई और ऊंचाई 0 है, तो DOM द्वारा तत्व को नहीं देखा जाता है। यही कारण है कि ऊपर सीएसएस का उपयोग करता है width: 1px; height: 1px;। का उपयोग करके display: noneऔर करने के लिए अपने सीएसएस की स्थापना height: 0और width: 0, तत्व डोम द्वारा नहीं देखा है और इस तरह समस्याग्रस्त है है। उपरोक्त सीएसएस का उपयोग width: 1px; height: 1px;आप सभी डेस्कटॉप और मोबाइल ब्राउज़रों के लिए सामग्री को अदृश्य बनाने के लिए नहीं करते हैं (बिना overflow: hidden, आपकी सामग्री अभी भी स्क्रीन पर दिखाई देगी), और स्क्रीन पाठकों को दिखाई देती है। डेस्कटॉप और मोबाइल ब्राउज़रों से सामग्री को छिपाना एक ऑफसेट को जोड़कर width: 1pxऔर height: 1pxपहले उपयोग करके बताया गया है:
position: absolute;
margin: -1px 0 0 -1px;
overflow: hidden;
अंत में, एक बहुत अच्छा विचार है कि एक स्क्रीन रीडर अपने बिगड़ा उपयोगकर्ता को क्या देखता है और उससे संबंधित है, अपने ब्राउज़र पर पृष्ठ स्टाइल को बंद करें। फ़ायरफ़ॉक्स के लिए, आप यह कर सकते हैं:
View > Page Style > No Style
मुझे आशा है कि मेरे द्वारा यहां दी गई जानकारी अन्य प्रतिक्रियाओं के अलावा किसी और को उपयोग करने के लिए है।