Chrome DevTools की मदद से फ़ॉर्म से जुड़ी समस्याएं ढूंढना

Chrome DevTools की टीम, फ़ॉर्म से जुड़ी समस्याओं का पता लगाने और ऑटोमैटिक भरने की सुविधा को डीबग करने में आपकी मदद करने के लिए, नई सुविधाएं बना रही है.

हम Chrome Canary में, DevTools में नई सुविधाओं की जांच कर रहे हैं. इनसे डेवलपर को यह समझने में मदद मिलेगी कि फ़ॉर्म में जानकारी अपने-आप भरने की सुविधा कैसे काम करती है और कभी-कभी यह काम क्यों नहीं करती:

  • ब्राउज़र की ऑटोमैटिक भरने की सुविधा, फ़ील्ड बनाने के लिए सेव की गई वैल्यू को कैसे मैप करती है?
  • फ़ॉर्म फ़ील्ड भरने के लिए, ऑटोमैटिक भरने की सुविधा किन शर्तों का इस्तेमाल करती है?
  • अपने-आप भरने की सुविधा से कौनसे फ़ील्ड नहीं भरे गए?
  • अपने-आप भरने की सुविधा से, फ़ॉर्म फ़ील्ड क्यों नहीं भरता?

इस लेख में, Chrome DevTools की नई सुविधाओं के बारे में बताया गया है. साथ ही, इन सुविधाओं को टेस्ट करने और उनसे जुड़ा सुझाव/राय देने का तरीका भी बताया गया है.

ऑटोमैटिक भरने की सुविधा क्या है?

Chrome, उपयोगकर्ताओं को पते, पेमेंट, और लॉगिन की जानकारी मैनेज करने में मदद करता है. इसके लिए, यह डेटा के सेट को सुरक्षित तरीके से सेव करता है और उपयोगकर्ता को टेक्स्ट डाले बिना फ़ॉर्म फ़ील्ड भरने का विकल्प देता है. इसे ऑटोमैटिक भरना कहते हैं.

फ़ॉर्म सबमिट करने पर, Chrome आपको ऑटोमैटिक भरी जाने वाली जानकारी को सेव करने का विकल्प देता है. मोबाइल पर:

Android के तीन स्क्रीनशॉट: Chrome में पता डालने के लिए फ़ॉर्म, Chrome की ऑटोमैटिक भरने की सुविधा, जो पते को सेव करने का सुझाव दे रही है, और ऑटोमैटिक भरने की नई एंट्री में बदलाव करने के लिए डायलॉग दिखा रहा है.

इसके बाद, Chrome सेव किए गए डेटा की मदद से फ़ॉर्म को ऑटोमैटिक भरने का विकल्प देता है.

मोबाइल पर:

डेस्कटॉप पर:

डेस्कटॉप पर, Chrome में पते का फ़ॉर्म अपने-आप भरने की सुविधा

Chrome की सेटिंग में जाकर, ऑटोमैटिक भरने की सुविधा से जुड़ा डेटा मैनेज किया जा सकता है.

मोबाइल पर:

Android पर Chrome की सेटिंग: पते में बदलाव करना

डेस्कटॉप पर:

chrome://settings/addresses पेज, जिसमें दो सैंपल पते दिख रहे हैं

आपको यह भी दिख सकता है कि Chrome, इनपुट फ़ील्ड के लिए ऐसे सुझाव दिखाता है जो पते, क्रेडिट कार्ड या लॉगिन डेटा से जुड़े नहीं हैं. Chrome, स्ट्रक्चर्ड डेटा के सेट के लिए ऑटोमैटिक भरने की सुविधा देता है. जैसे, पता और पेमेंट की जानकारी. साथ ही, Chrome उन एक फ़ॉर्म फ़ील्ड के लिए डेटा फिर से डालने से उपयोगकर्ताओं को बचाता है जिन्हें ऑटोमैटिक भरने की सुविधा से मैनेज नहीं किया जा सकता. जब किसी फ़ॉर्म में ऐसा फ़ील्ड होता है जिसमें name एट्रिब्यूट की वैल्यू पहले से मौजूद होती है, तो Chrome आपको वैल्यू का सुझाव दे सकता है. इससे, आपको डेटा फिर से डालने की ज़रूरत नहीं पड़ती.

इसका एक आसान सा उदाहरण देखें :

Chrome, एक फ़ॉर्म फ़ील्ड में मौजूद अनस्ट्रक्चर्ड डेटा के लिए सुझाव दे रहा है

Chrome DevTools से पता चलता है कि यहां मौजूद फ़ॉर्म फ़ील्ड में ऐसे एट्रिब्यूट नहीं हैं जो ब्राउज़र के लिए काम के हों. इसके बजाय, यह n300 का सिर्फ़ name एट्रिब्यूट है.

Chrome DevTools, फ़ॉर्म में मौजूद बिना स्ट्रक्चर वाले डेटा की जानकारी दिखा रहा है. जैसा कि पिछले उदाहरण में दिखाया गया है: एक ऐसा इनपुट जिसमें सिर्फ़ type=text और name=n300 एट्रिब्यूट हैं.

यह फ़ील्ड, स्ट्रक्चर्ड डेटा के सेट में मौजूद किसी ऐसी वैल्यू से मेल नहीं खाता जिससे यह Chrome की ऑटोमैटिक भरने की सुविधा के लिए सही हो. हालांकि, अगर आने वाले समय में Chrome को इस नाम वाला कोई फ़ील्ड मिलता है, तो वह उपयोगकर्ता की मदद कर सकता है.

Chrome DevTools में ऑटोमैटिक भरने की नई सुविधाओं को टेस्ट करना

Chrome, DevTools के समस्याएं पैनल के लिए नई सुविधाओं की जांच कर रहा है. इससे, ऑटोमैटिक भरने की सुविधा से जुड़ी गड़बड़ियों को डीबग करने में मदद मिलेगी.

Chrome Canary में इन नई सुविधाओं को आज़माया जा सकता है. DevTools में सेटिंग. सेटिंग > प्रयोग > चेकबॉक्स. एलिमेंट पैनल के डीओएम ट्री में, उल्लंघन करने वाले नोड या एट्रिब्यूट को हाइलाइट करता है को चुनें और जब कहा जाए, तब DevTools को रीफ़्रेश करें.

Chrome DevTools के सेटिंग पेज पर, 'उल्लंघन करने वाले नोड को हाइलाइट करता है ...' दिख रहा है

इसके अलावा, कमांड लाइन से AutofillEnableDevtoolsIssues फ़्लैग के साथ Chrome Canary को चलाया जा सकता है:

  • Windows: shell start chrome --restart --flag-switches-begin --enable-features=AutofillEnableDevtoolsIssues
  • Mac: shell open -a "Google Chrome Canary" --args --restart --flag-switches-begin --enable-features=AutofillEnableDevtoolsIssues

समस्याओं का पता लगाने के लिए, फ़ॉर्म वाले पेज पर DevTools का समस्याएं पैनल खोलें. सबसे पहले, form-problems.glitch.me पर जाएं.

Chrome DevTools में, फ़ॉर्म एलिमेंट के for एट्रिब्यूट से जुड़ी समस्या दिख रही है.

जैसा कि आप देख सकते हैं, यह फ़ॉर्म गड़बड़ है! ये हैं:

  • id या name एट्रिब्यूट के बिना इनपुट फ़ील्ड.
  • डुप्लीकेट आईडी वाले एलिमेंट.
  • for एट्रिब्यूट वाला <label>, जो किसी एलिमेंट आईडी से मैच नहीं करता.
  • ऐसा फ़ील्ड जिसमें autocomplete एट्रिब्यूट की वैल्यू खाली है.

ज़्यादा जानने के लिए, डीओएम ट्री में हाइलाइट किए गए एलिमेंट पर कर्सर घुमाएं और समस्या देखें पर क्लिक करें.

Chrome DevTools में बढ़ाई गई समस्या: एट्रिब्यूट के लिए लेबल का गलत इस्तेमाल.

हर समस्या के लिए, जिन संसाधनों पर असर पड़ा है उन्हें देखने के लिए, उल्लंघन करने वाला नोड पर क्लिक करें. इस फ़ॉर्म में आठ लेबल हैं, जिनमें for एट्रिब्यूट है. यह एट्रिब्यूट, फ़ॉर्म फ़ील्ड के id एट्रिब्यूट से मेल नहीं खाता.

फ़ॉर्म को सुलभ बनाने के लिए, DevTools का इस्तेमाल करना

DevTools, ऑटोमैटिक भरने की सुविधा के ऐक्सेस से जुड़ी समस्याओं को भी हाइलाइट कर सकता है. जैसे, ऐसा फ़ॉर्म फ़ील्ड जिसमें aria-labelledby एट्रिब्यूट या उससे जुड़ा <label> एट्रिब्यूट न हो.

Chrome DevTools का सुलभता पैनल, जिसमें दिखाया गया है कि फ़ॉर्म में मौजूद इनपुट एलिमेंट के लिए लेबल मिला है.

इस उदाहरण में, <input> एलिमेंट में मैच करने वाला लेबल है. इसका मतलब है कि सहायता करने वाले डिवाइस, एलिमेंट के मकसद के बारे में बता सकते हैं. हालांकि, यहां दिए गए उदाहरण में, कोई मिलता-जुलता लेबल या aria-labelledby एट्रिब्यूट नहीं मिला.

Chrome DevTools के ऐक्सेसibililty पैनल में दिख रहा है कि फ़ॉर्म में मौजूद इनपुट एलिमेंट के लिए, मिलता-जुलता कोई लेबल या aria-labelledby एट्रिब्यूट नहीं मिला.

DevTools में ऑटोमैटिक भरने की नई सुविधाओं के बारे में सुझाव, शिकायत या राय देना

पोस्ट में दी गई नई सुविधाओं और बदलावों या DevTools से जुड़ी किसी भी चीज़ के बारे में चर्चा करने के लिए, इन विकल्पों का इस्तेमाल करें:

  • crbug.com पर मौजूद अंब्रेला बग की मदद से, हमें सुझाव या राय सबमिट करें.
  • DevTools से किसी समस्या की शिकायत करने के लिए: ज़्यादा विकल्प > सहायता > DevTools से जुड़ी समस्या की शिकायत करें पर जाएं.
  • @ChromeDevTools पर ट्वीट करें.

ज़्यादा जानें

  • फ़ॉर्म के बारे में जानें: एचटीएमएल फ़ॉर्म के बारे में एक कोर्स, ताकि आपको वेब डेवलपर के तौर पर अपनी विशेषज्ञता को बेहतर बनाने में मदद मिल सके. यह उन लोगों के लिए सही है जो फ़ॉर्म और ऑटोमैटिक भरने की सुविधा का इस्तेमाल पहली बार कर रहे हैं.
  • web.dev/tags/forms: पेमेंट, लॉगिन, और पते के फ़ॉर्म के लिए दिशा-निर्देश, सबसे सही तरीके, और कोडलैब.