इंटरऑप 2024: सुलभता फ़ोकस एरिया के लिए, Chrome 100% पर काम करेगा

Jocelyn Tran
Jocelyn Tran

उस साल Chrome ने सुलभता सुविधाओं पर फ़ोकस करने वाले 88.2% टेस्ट पास किए Interop 2024 का. जून 2024 में, हमने यह सुविधा शुरू की हम 100% परीक्षा पास कर लेंगे. इस पोस्ट में उस काम की जानकारी दी गई है जिस पर इस लक्ष्य को टारगेट करने के लिए.

सुलभता सुविधाओं के फ़ोकस एरिया में क्या-क्या शामिल है?

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

ऐक्सेस किए जा सकने वाले नाम, एचटीएमएल एलिमेंट के मकसद या इंटेंट के बारे में बताते हैं. इससे मदद मिली उपयोगकर्ता इस बात को समझते हैं कि वह एलिमेंट क्या है और वे इससे कैसे इंटरैक्ट कर सकते हैं. कॉन्टेंट बनाने accname की खास बातें बताती हैं कि ब्राउज़र किसी एलिमेंट के लिए ऐक्सेस किया जा सकने वाला यह नाम वाली स्ट्रिंग बनाएं. ARIA स्पेसिफ़िकेशन में सिलसिलेवार तरीके से यह नाम दिया गया है कि कैलकुलेटेड.

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

Chrome टीम को क्या करना था?

हमें दो बड़े काम पूरे करने थे. पहला, मैप में बदलाव के लिए भूमिकाओं को सामान्य भूमिकाओं में बदलना और काम न करने वाली भूमिकाओं को हटाना. इसके बाद, कुछ और छोटे सुधार और लागू की जाने वाली सुविधाएं. इन शर्तों के अलावा जिसमें Chrome टीम ने वह काम पूरा किया जिसे Chrome टीम ने पूरा किया. साथ ही, हमने Microsoft के साथ मिलकर ऐसे सुधार किए गए हैं जो सुलभता के फ़ोकस एरिया के लिए Chromium पर काम कर रहे थे.

कुछ भूमिकाओं के लिए मैपिंग को सामान्य भूमिका में बदलें

मैपिंग को सामान्य भूमिका में बदलने से सुलभता सिमेंटिक्स एलिमेंट. सामान्य एलिमेंट से किसी सुलभता ट्री को कोई फ़ायदा नहीं होता, इसलिए वे ट्री में शामिल नहीं किए जाते. इससे परफ़ॉर्मेंस बेहतर करने में मदद मिलती है और ट्री इन्हें छोटा और सहायक टेक्नोलॉजी के लिए पार्स करना आसान होता है. नीचे दी गई भूमिकाएं ये हैं सामान्य भूमिका में बदल दिया गया है.

  • <header> के दायरे में <main> या सेक्शनिंग कॉन्टेंट एलिमेंट (<article>, <aside>, <nav> या <section>).
  • <footer> के दायरे में <main> या सेक्शनिंग कॉन्टेंट एलिमेंट (<article>, <aside>, <nav> या <section>).
  • सेक्शन वाले कॉन्टेंट एलिमेंट में <aside> (<article>, <aside>, <nav>, या <section>) को ऐक्सेस करने लायक नाम के बिना.
  • एक <section>, जिसके नाम को ऐक्सेस नहीं किया जा सकता.
  • ऑर्फ़ंड वाले सूची के आइटम (<li>).

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

उस भूमिका को हटाना जो अब काम नहीं करती

हमने directory भूमिका को बंद कर दिया है और इसे सूची में दी गई भूमिका के साथ मैप कर दिया है. ARIA 1.2, directory के इस्तेमाल को रोक देता है भूमिका. खास जानकारी में बताया गया है कि यह list भूमिका के बराबर है, और डेवलपर को list का इस्तेमाल करना चाहिए. पुराने ज़माने के सिमैंटिक को बनाए रखने के लिए ऐसा कॉन्टेंट जो directory का इस्तेमाल करता है. अब इसे Chrome में list के साथ मैप कर दिया गया है.

अन्य तरीके

हमने gridcell भूमिका. यह नई भूमिका, gridcell और cell और साफ़ तौर पर समझ में आ जाता है. cell की तरह, gridcell पर फ़ोकस किया जा सकता है, उसमें बदलाव किया जा सकता है, और उसे चुना जा सकता है.

हमने फ़ॉलबैक रोल के कैलकुलेशन की सुविधा जोड़ी है. पहले, हम फ़ॉलबैक की जांच नहीं करते थे इसलिए, अगर पहली भूमिका मान्य नहीं थी, तो हमने किसी दूसरी भूमिका का इस्तेमाल किया, जो क्या पूरी जानकारी दी गई है ब्यौरे में दी गई है.

कुछ भूमिकाएं सिर्फ़ तब मान्य होती हैं, जब वे सही कॉन्टेक्स्ट में हों. हमने एक जांच जोड़ी है नीचे दिया गया है, जिसमें भूमिकाओं के अमान्य इस्तेमाल के लिए बनाया गया है:

  • row की भूमिका table, grid, rowgroup या treegrid में होनी चाहिए.
  • rowgroup की भूमिका table, grid, tree या treegrid में होनी चाहिए.
  • listitem की भूमिका, list में होनी चाहिए.

अगर भूमिका अमान्य है, तो Chrome अब एचटीएमएल जैसी अन्य जानकारी का इस्तेमाल करता है एलिमेंट का इस्तेमाल करें.

हमने thead और tfooter को सुलभता ट्री में शामिल किया है. पहले उन्हें अनदेखा किया गया के तौर पर मार्क किया जाता था, लेकिन फिर भी उन्हें ट्री में शामिल किया जाता था. अब तक का डेटा टेबल हेडर और टेबल फ़ुटर को सहायक टेक्नोलॉजी की मदद से पार्स किया जा सकता है.


ऐसा हो सकता है कि ये बदलाव सभी ब्राउज़र पर, ज़्यादातर डेवलपर को न दिखें हम यह पक्का करते हैं कि ये चीज़ें पहले की तरह ही काम करें. हम पक्का करते हैं कि भूमिकाओं को हर जगह एक ही तरह से दिखाया जाता है.