ইন্টারপ 2024: অ্যাক্সেসিবিলিটি ফোকাস এলাকার জন্য Chrome 100%

জোসেলিন ট্রান
Jocelyn Tran

ক্রোম ইন্টারপ 2024- এর অ্যাক্সেসিবিলিটি ফোকাস এলাকায় 88.2% পরীক্ষা পাস করে বছর শুরু করেছে। জুন 2024-এ আমরা প্রথম ছিলাম 100% পরীক্ষায় উত্তীর্ণ। এই লক্ষ্যে পৌঁছানোর জন্য যে কাজটি ঘটেছে তা এই পোস্টটি ব্যাখ্যা করে।

ইন্টারপ 2024-এর প্রতিটি ফোকাস এলাকার মতো, অ্যাক্সেসিবিলিটি এলাকাটি নির্বাচিত বৈশিষ্ট্যগুলির জন্য ওয়েব প্ল্যাটফর্ম পরীক্ষার একটি সেট দ্বারা সংজ্ঞায়িত করা হয়। ইন্টারপ 2024-এর পরীক্ষাগুলির লক্ষ্য হল সমস্ত ব্রাউজার একইভাবে অ্যাক্সেসযোগ্য নাম এবং গণনাকৃত ভূমিকা তৈরি করে তা নিশ্চিত করা।

অ্যাক্সেসযোগ্য নামগুলি একটি HTML উপাদানের উদ্দেশ্য বা অভিপ্রায় প্রকাশ করে৷ এটি ব্যবহারকারীদের বুঝতে সাহায্য করে যে উপাদানটি কী এবং তারা কীভাবে এটির সাথে ইন্টারঅ্যাক্ট করতে পারে৷ accname স্পেসিফিকেশন সংজ্ঞায়িত করে কিভাবে ব্রাউজার একটি উপাদানের জন্য এই অ্যাক্সেসযোগ্য নামের স্ট্রিং তৈরি করে। ARIA স্পেসিফিকেশনে এই নামটি কীভাবে গণনা করা হয় তার একটি ওয়াকথ্রু অন্তর্ভুক্ত রয়েছে

একটি উপাদানের গণনাকৃত ভূমিকা হল একটি স্ট্রিং যা ব্রাউজার ইঞ্জিন দ্বারা গণনা করা উপাদানটির ভূমিকাকে উপস্থাপন করে। এটি প্রাথমিকভাবে বিকাশকারী সরঞ্জামগুলিতে ব্যবহৃত হয় এবং, উদাহরণস্বরূপ, WebDriver ফাংশনে getComputedRole , আন্তঃঅপারেবিলিটি পরীক্ষা সক্ষম করে৷

ক্রোম টিমের কি করার দরকার ছিল?

কাজের দুটি বৃহত্তর ক্ষেত্র ছিল যা সম্পূর্ণ করার জন্য আমাদের প্রয়োজন ছিল- ভূমিকার ম্যাপিংকে জেনেরিক ভূমিকায় পরিবর্তন করা এবং অবহেলিত ভূমিকাগুলি সরানো। তারপরে বাস্তবায়নের জন্য কিছু অতিরিক্ত ছোট সংশোধন এবং বৈশিষ্ট্য ছিল। Chrome টিম সম্পন্ন করা নিম্নলিখিত কাজগুলি ছাড়াও, আমরা মাইক্রোসফ্টের সাথে অ্যাকসেসিবিলিটি ফোকাস এরিয়ার জন্য 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 মধ্যে পার্থক্যকে আরও স্পষ্ট করে তোলে। একটি gridcell ফোকাসযোগ্য, সম্পাদনাযোগ্য এবং নির্বাচনযোগ্য, cell বিপরীতে।

আমরা ফলব্যাক ভূমিকা গণনা যোগ করেছি। পূর্বে, আমরা ফলব্যাক ভূমিকাগুলির জন্য পরীক্ষা করিনি তাই প্রথম ভূমিকাটি বৈধ না হলে, আমরা অন্য ভূমিকা ব্যবহার করতাম, যা স্পেসিফিকেশনে বিস্তারিত নয়।

কিছু ভূমিকা কেবলমাত্র বৈধ যদি সেগুলি সঠিক প্রসঙ্গে হয়, আমরা ভূমিকাগুলির অবৈধ ব্যবহারের জন্য একটি চেক যুক্ত করেছি, নিম্নরূপ:

  • row ভূমিকাটি table , grid , rowgroup বা treegrid ভিতরে হওয়া উচিত।
  • rowgroup ভূমিকা table , grid , tree বা treegrid ভিতরে হওয়া উচিত।
  • listitem ভূমিকা list ভিতরে থাকা উচিত।

ভূমিকাটি অবৈধ হলে Chrome এখন বিকল্প ভূমিকা গণনা করতে HTML উপাদানের মতো অন্যান্য তথ্য ব্যবহার করে।

আমরা অ্যাক্সেসিবিলিটি ট্রিতে অন্তর্ভুক্ত হিসাবে thead এবং tfooter চিহ্নিত করেছি। পূর্বে তারা উপেক্ষিত হিসাবে চিহ্নিত করা হয়েছিল, কিন্তু এখনও গাছের অন্তর্ভুক্ত ছিল। এখন টেবিল হেডার এবং টেবিল ফুটার সহায়ক প্রযুক্তি দ্বারা পার্স করা যেতে পারে।


যদিও এই পরিবর্তনগুলি বেশিরভাগ বিকাশকারীদের কাছে দৃশ্যমান নাও হতে পারে, সমস্ত ব্রাউজার এই জিনিসগুলি একই ভাবে কাজ করে তা নিশ্চিত করার জন্য কাজ করে, আমরা নিশ্চিত করি যে বিভিন্ন ভূমিকা সব জায়গায় একই ভাবে প্রকাশ করা হয়।