हिन्दी

होवर और फ़ोकस स्टेट्स का उपयोग करके सुलभ टूलटिप्स लागू करने के लिए एक व्यापक गाइड, जो विकलांगों सहित सभी उपयोगकर्ताओं के लिए उपयोगिता सुनिश्चित करता है।

टूलटिप कार्यान्वयन: होवर और फ़ोकस सुलभ जानकारी

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

टूलटिप्स के लिए एक्सेसिबिलिटी क्यों महत्वपूर्ण है

एक्सेसिबिलिटी केवल अनुपालन के बारे में नहीं है; यह सभी के लिए एक बेहतर उपयोगकर्ता अनुभव बनाने के बारे में है। जब टूलटिप्स सुलभ नहीं होते हैं, तो यह उन उपयोगकर्ताओं को बाहर कर सकता है जो स्क्रीन रीडर, कीबोर्ड नेविगेशन, या स्पीच इनपुट जैसी सहायक तकनीकों पर निर्भर करते हैं। इन परिदृश्यों पर विचार करें:

एक्सेसिबिलिटी की सर्वोत्तम प्रथाओं का पालन करके, हम यह सुनिश्चित कर सकते हैं कि टूलटिप्स सभी के लिए उपयोगकर्ता अनुभव को बाधित करने के बजाय उसे बढ़ाएं।

सुलभ टूलटिप्स के लिए मुख्य सिद्धांत

सुलभ टूलटिप्स बनाने के लिए निम्नलिखित सिद्धांत महत्वपूर्ण हैं:

  1. वैकल्पिक पहुँच प्रदान करें: सुनिश्चित करें कि टूलटिप्स होवर और कीबोर्ड फ़ोकस दोनों के माध्यम से सुलभ हों।
  2. ARIA एट्रिब्यूट्स का उपयोग करें: सहायक तकनीकों को टूलटिप्स की सही पहचान और वर्णन करने के लिए ARIA (Accessible Rich Internet Applications) एट्रिब्यूट्स का उपयोग करें।
  3. फ़ोकस प्रबंधित करें: जब कोई टूलटिप प्रदर्शित और छिपाया जाता है, तो फ़ोकस कहाँ जाता है, इसे नियंत्रित करें।
  4. पर्याप्त कंट्रास्ट सुनिश्चित करें: टूलटिप टेक्स्ट और पृष्ठभूमि के बीच पर्याप्त रंग कंट्रास्ट प्रदान करें।
  5. पर्याप्त समय दें: उपयोगकर्ताओं को टूलटिप सामग्री पढ़ने के लिए पर्याप्त समय दें।
  6. उन्हें खारिज करने योग्य बनाएं: टूलटिप को खारिज करने का एक स्पष्ट तरीका प्रदान करें।
  7. अति प्रयोग से बचें: टूलटिप्स का संयम से और केवल आवश्यक होने पर उपयोग करें।

कार्यान्वयन तकनीकें

1. होवर और फ़ोकस का उपयोग करना

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

HTML:

<a href="#" aria-describedby="tooltip-example">Example Link</a>
<div id="tooltip-example" role="tooltip" style="display: none;">This is an example tooltip.</div>

CSS:

a:hover + div[role="tooltip"],
a:focus + div[role="tooltip"] {
  display: block;
  position: absolute;
  background-color: #f0f0f0;
  border: 1px solid #ccc;
  padding: 5px;
  z-index: 1000; /* Ensure the tooltip is on top */
}

स्पष्टीकरण:

जावास्क्रिप्ट (उन्नत नियंत्रण - वैकल्पिक):

जबकि CSS सरल दिखाने/छिपाने को संभाल सकता है, जावास्क्रिप्ट अधिक मजबूत नियंत्रण की अनुमति देता है, खासकर जब टूलटिप्स गतिशील रूप से उत्पन्न होते हैं या अधिक जटिल व्यवहार की आवश्यकता होती है।

const link = document.querySelector('a[aria-describedby="tooltip-example"]');
const tooltip = document.getElementById('tooltip-example');

link.addEventListener('focus', () => {
  tooltip.style.display = 'block';
});

link.addEventListener('blur', () => {
  tooltip.style.display = 'none';
});

link.addEventListener('mouseover', () => {
  tooltip.style.display = 'block';
});

link.addEventListener('mouseout', () => {
  tooltip.style.display = 'none';
});

2. ARIA एट्रिब्यूट्स का उपयोग करना

ARIA एट्रिब्यूट्स सहायक तकनीकों को सिमेंटिक जानकारी प्रदान करने के लिए आवश्यक हैं। यहाँ प्रमुख एट्रिब्यूट्स का विवरण दिया गया है:

उदाहरण:

<button aria-describedby="help-tooltip">Submit</button>
<div id="help-tooltip" role="tooltip" aria-hidden="true">Click here to submit the form.</div>

जावास्क्रिप्ट (aria-hidden के लिए):

const button = document.querySelector('button[aria-describedby="help-tooltip"]');
const tooltip = document.getElementById('help-tooltip');

button.addEventListener('focus', () => {
  tooltip.setAttribute('aria-hidden', 'false');
  tooltip.style.display = 'block';
});

button.addEventListener('blur', () => {
  tooltip.setAttribute('aria-hidden', 'true');
  tooltip.style.display = 'none';
});

button.addEventListener('mouseover', () => {
  tooltip.setAttribute('aria-hidden', 'false');
  tooltip.style.display = 'block';
});

button.addEventListener('mouseout', () => {
  tooltip.setAttribute('aria-hidden', 'true');
  tooltip.style.display = 'none';
});

3. फ़ोकस प्रबंधित करना

जब कोई टूलटिप दिखाई देता है, तो उसे आम तौर पर ट्रिगर करने वाले तत्व से फ़ोकस *नहीं* हटाना चाहिए। फ़ोकस उस तत्व पर रहना चाहिए जिसने टूलटिप को ट्रिगर किया था। यह सुनिश्चित करता है कि कीबोर्ड उपयोगकर्ता अप्रत्याशित बाधाओं के बिना पृष्ठ पर नेविगेट करना जारी रख सकते हैं।

हालांकि, ऐसी स्थितियाँ हो सकती हैं जहाँ आप फ़ोकस को टूलटिप पर ले जाना *चाहते* हैं, खासकर यदि टूलटिप में इंटरैक्टिव तत्व (जैसे, लिंक, बटन) हों। इस मामले में, यह सुनिश्चित करें कि:

अधिकांश मामलों में, सरलता और उपयोगिता के लिए टूलटिप के भीतर ही फ़ोकस प्रबंधन से बचना बेहतर है।

4. पर्याप्त कंट्रास्ट सुनिश्चित करना

पठनीयता के लिए रंग कंट्रास्ट महत्वपूर्ण है। सुनिश्चित करें कि आपके टूलटिप्स में टेक्स्ट का रंग पृष्ठभूमि के रंग के खिलाफ पर्याप्त कंट्रास्ट रखता है। वेब कंटेंट एक्सेसिबिलिटी गाइडलाइंस (WCAG) सामान्य टेक्स्ट के लिए कम से कम 4.5:1 और बड़े टेक्स्ट (18pt या 14pt बोल्ड) के लिए 3:1 के कंट्रास्ट अनुपात की सलाह देता है।

यह सत्यापित करने के लिए कि आपके रंग विकल्प एक्सेसिबिलिटी मानकों को पूरा करते हैं, ऑनलाइन कंट्रास्ट चेकर्स का उपयोग करें। कंट्रास्ट चेकर्स के उदाहरणों में शामिल हैं:

उदाहरण (अच्छा कंट्रास्ट):

.tooltip {
  background-color: #000;
  color: #fff;
}

उदाहरण (खराब कंट्रास्ट):

.tooltip {
  background-color: #fff;
  color: #eee;
}

5. पर्याप्त समय देना

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

यदि टूलटिप सामग्री लंबी है, तो उपयोगकर्ता को टूलटिप को मैन्युअल रूप से खारिज करने का एक तरीका प्रदान करने पर विचार करें (जैसे, एक क्लोज बटन या एस्केप कुंजी दबाकर)।

6. उन्हें खारिज करने योग्य बनाना

हालांकि टूलटिप्स अक्सर उपयोगकर्ता के माउस को दूर ले जाने या फ़ोकस हटाने पर स्वचालित रूप से गायब हो जाते हैं, उन्हें मैन्युअल रूप से खारिज करने का एक स्पष्ट तरीका प्रदान करना एक अच्छी प्रथा है, खासकर लंबी टूलटिप्स या इंटरैक्टिव तत्वों वाले टूलटिप्स के लिए।

टूलटिप्स को खारिज करने के तरीके:

उदाहरण (क्लोज बटन):

<div id="my-tooltip" role="tooltip" aria-hidden="true">
  This is my tooltip content.
  <button onclick="hideTooltip()">Close</button>
</div>

उदाहरण (एस्केप कुंजी):

document.addEventListener('keydown', function(event) {
  if (event.key === 'Escape') {
    hideTooltip(); // Replace with your actual hide tooltip function
  }
});

7. अति प्रयोग से बचना

टूलटिप्स का संयम से उपयोग किया जाना चाहिए और केवल तभी जब वे वास्तव में उपयोगी जानकारी प्रदान करते हैं। टूलटिप्स का अति प्रयोग इंटरफ़ेस को अव्यवस्थित कर सकता है, उपयोगकर्ताओं का ध्यान भटका सकता है, और एक निराशाजनक अनुभव पैदा कर सकता है।

टूलटिप्स के विकल्प:

उन्नत विचार

गतिशील सामग्री

यदि आपकी टूलटिप सामग्री गतिशील रूप से उत्पन्न होती है (उदाहरण के लिए, एपीआई से लोड की गई या उपयोगकर्ता इनपुट के आधार पर अपडेट की गई), तो सुनिश्चित करें कि aria-describedby एट्रिब्यूट और टूलटिप दृश्यता तदनुसार अपडेट की जाती है। इन अपडेट्स को प्रबंधित करने के लिए जावास्क्रिप्ट का उपयोग करें।

पोजिशनिंग

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

मोबाइल डिवाइस

टूलटिप्स पारंपरिक रूप से होवर इंटरैक्शन पर निर्भर करते हैं, जो टच-आधारित उपकरणों पर उपलब्ध नहीं हैं। मोबाइल उपकरणों के लिए, वैकल्पिक इंटरैक्शन विधियों का उपयोग करने पर विचार करें, जैसे:

अपने टूलटिप्स का परीक्षण करना

यह सुनिश्चित करने के लिए कि आपके टूलटिप्स सभी उपयोगकर्ताओं के लिए सुलभ हैं, उनका पूरी तरह से परीक्षण करें। मैनुअल परीक्षण और स्वचालित एक्सेसिबिलिटी परीक्षण टूल के संयोजन का उपयोग करें।

परीक्षण विधियाँ:

अंतर्राष्ट्रीयकरण (i18n) और स्थानीयकरण (l10n)

वैश्विक दर्शकों के लिए टूलटिप्स विकसित करते समय, अंतर्राष्ट्रीयकरण और स्थानीयकरण को ध्यान में रखें:

निष्कर्ष

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

संसाधन