অ্যাক্সেসিবিলিটি ট্রি

অ্যাক্সেসিবিলিটি ট্রির পরিচিতি

এলিস বক্সহল
Alice Boxhall
ডেভ গ্যাশ
Dave Gash
মেগিন কার্নি
Meggin Kearney

কল্পনা করুন যে আপনি শুধুমাত্র স্ক্রিন রিডার ব্যবহারকারীদের জন্য একটি ইউজার ইন্টারফেস তৈরি করছেন। এখানে, আপনাকে কোনও ভিজ্যুয়াল UI তৈরি করতে হবে না, তবে স্ক্রিন রিডার ব্যবহারের জন্য যথেষ্ট তথ্য প্রদান করুন৷

আপনি যা তৈরি করবেন তা হল এক ধরনের API যা পৃষ্ঠার গঠন বর্ণনা করে, DOM API-এর মতো, কিন্তু আপনি কম তথ্য এবং কম নোড দিয়ে দূরে যেতে পারেন, কারণ সেই তথ্যের অনেকগুলি শুধুমাত্র ভিজ্যুয়াল উপস্থাপনার জন্য উপযোগী। এটা এই মত কিছু দেখতে পারে.

স্ক্রিন রিডার DOM API মকআপ

এটি মূলত ব্রাউজার আসলে স্ক্রিন রিডারের কাছে উপস্থাপন করে। ব্রাউজারটি DOM ট্রি নেয় এবং এটিকে একটি ফর্মে পরিবর্তন করে যা সহায়ক প্রযুক্তির জন্য উপযোগী। আমরা এই পরিবর্তিত গাছটিকে অ্যাক্সেসিবিলিটি ট্রি হিসাবে উল্লেখ করি।

আপনি অ্যাক্সেসিবিলিটি ট্রিটিকে 90 এর দশকের একটি পুরানো ওয়েব পেজের মতো দেখতে দেখতে পারেন: কয়েকটি ছবি, প্রচুর লিঙ্ক, সম্ভবত একটি ক্ষেত্র এবং একটি বোতাম।

একটি 1990 শৈলী ওয়েব পেজ

এই ক্ষেত্রের মতো একটি পৃষ্ঠা দৃশ্যত স্ক্যান করা আপনাকে একটি স্ক্রিন রিডার ব্যবহারকারীর মতো অভিজ্ঞতা দেয়। ইন্টারফেস আছে, কিন্তু এটি সহজ এবং সরাসরি, অনেকটা একটি অ্যাক্সেসিবিলিটি ট্রি ইন্টারফেসের মতো।

অ্যাক্সেসিবিলিটি ট্রি হল যা সবচেয়ে সহায়ক প্রযুক্তির সাথে যোগাযোগ করে। প্রবাহ এই মত কিছু যায়.

  1. একটি অ্যাপ্লিকেশন (ব্রাউজার বা অন্যান্য অ্যাপ) একটি API এর মাধ্যমে সহায়ক প্রযুক্তিতে তার UI এর একটি শব্দার্থিক সংস্করণ প্রকাশ করে।
  2. সহায়ক প্রযুক্তি ব্যবহারকারীর জন্য একটি বিকল্প ব্যবহারকারী ইন্টারফেস উপস্থাপনা তৈরি করতে API এর মাধ্যমে পড়া তথ্য ব্যবহার করতে পারে। উদাহরণস্বরূপ, একটি স্ক্রিন রিডার একটি ইন্টারফেস তৈরি করে যেখানে ব্যবহারকারী অ্যাপটির একটি উচ্চারিত উপস্থাপনা শুনতে পান।
  3. সহায়ক প্রযুক্তি ব্যবহারকারীকে অ্যাপের সাথে অন্যভাবে ইন্টারঅ্যাক্ট করার অনুমতি দিতে পারে। উদাহরণস্বরূপ, বেশিরভাগ স্ক্রিন রিডার হুক প্রদান করে যাতে ব্যবহারকারী সহজেই একটি মাউস ক্লিক বা আঙুলের ট্যাপ অনুকরণ করতে পারে।
  4. সহায়ক প্রযুক্তি ব্যবহারকারীর অভিপ্রায়কে (যেমন "ক্লিক") অ্যাকসেসিবিলিটি API-এর মাধ্যমে অ্যাপে ফিরিয়ে দেয়। তারপরে আসল UI এর প্রসঙ্গে অ্যাকশনটিকে যথাযথভাবে ব্যাখ্যা করার দায়িত্ব অ্যাপটির রয়েছে।

ওয়েব ব্রাউজারগুলির জন্য, প্রতিটি দিকে একটি অতিরিক্ত পদক্ষেপ রয়েছে, কারণ ব্রাউজারটি আসলে ওয়েব অ্যাপগুলির জন্য একটি প্ল্যাটফর্ম যা এর ভিতরে চলে৷ তাই ব্রাউজারটিকে ওয়েব অ্যাপটিকে একটি অ্যাক্সেসিবিলিটি ট্রিতে অনুবাদ করতে হবে এবং অবশ্যই নিশ্চিত করতে হবে যে সহায়ক প্রযুক্তি থেকে আসা ব্যবহারকারীর ক্রিয়াগুলির উপর ভিত্তি করে উপযুক্ত ইভেন্টগুলি জাভাস্ক্রিপ্টে ফায়ার করা হয়েছে৷

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

আমরা আমাদের পৃষ্ঠাগুলির শব্দার্থকে সঠিকভাবে প্রকাশ করি তা নিশ্চিত করার মাধ্যমে আমরা এটি করি: নিশ্চিত করুন যে পৃষ্ঠার গুরুত্বপূর্ণ উপাদানগুলির সঠিক অ্যাক্সেসযোগ্য ভূমিকা, রাজ্য এবং বৈশিষ্ট্য রয়েছে এবং আমরা অ্যাক্সেসযোগ্য নাম এবং বিবরণ নির্দিষ্ট করি৷ ব্রাউজার তখন একটি কাস্টমাইজড অভিজ্ঞতা তৈরি করতে সহায়ক প্রযুক্তিকে সেই তথ্য অ্যাক্সেস করতে দিতে পারে।