আমি ARIA এর প্রথম নিয়ম কঠিন ভাবে শিখেছি। css-ট্রিকস

আমি ARIA এর প্রথম নিয়ম কঠিন ভাবে শিখেছি। css-ট্রিকস


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

চেকলিস্টের কিছুই একটি ত্রুটি চিহ্নিত করেনি৷ প্রযুক্তিগতভাবে, সবকিছু “সঠিক” ছিল। কিন্তু বাস্তবে, উপাদানটি অনুমানযোগ্য ছিল না। এখানে উপাদানটির একটি সরলীকৃত সংস্করণ রয়েছে যা সমস্যার সৃষ্টি করেছে:

আপনি ডেমোতে দেখতে পাচ্ছেন, মার্কআপটি মোটেও জটিল নয়:

এবং এটি ঠিক করা প্রত্যাশার চেয়ে সহজ ছিল। আমাকে ARIA সরাতে হয়েছিল role বৈশিষ্ট্য আমি ভাল উদ্দেশ্য সঙ্গে যোগ.

মার্কআপ আগের তুলনায় আরও কম জটিল:

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

আমরা অনেকেই ইতিমধ্যে ARIA এর প্রথম নিয়ম জানি: এটি ব্যবহার করবেন না। ভাল, এটা ব্যবহার করুন. কিন্তু না যখন আপনার প্রয়োজনীয় সুবিধা এবং কার্যকারিতা ইতিমধ্যেই আছে, যেমনটি যোগ করার আগে আমার ক্ষেত্রে ছিল role সম্পত্তি।

আমাকে স্পষ্টভাবে ধাপে ধাপে ব্যাখ্যা করতে দিন যা ঘটেছে, কারণ আমি মনে করি আমার ত্রুটি আসলে একটি খুব সাধারণ অভ্যাস। আমি এখানে যা বলছি তা ঠিক বলেছে এমন অনেকগুলি নিবন্ধ রয়েছে, কিন্তু আমি এটি প্রায়ই বাস্তব জীবনের অভিজ্ঞতার মাধ্যমে শুনে এটিকে অভ্যন্তরীণ করতে সহায়তা করে বলে মনে করি।

মন্তব্য: এই নিবন্ধটি কীবোর্ড নেভিগেশন এবং একটি স্ক্রিন রিডার (NVDA) ব্যবহার করে নেটিভ এবং ARIA-সংশোধিত উপাদানগুলিতে প্রকৃত মিথস্ক্রিয়া আচরণ পর্যবেক্ষণ করার জন্য পরীক্ষা করা হয়েছিল।

1: সম্ভব সহজতম মার্কআপ দিয়ে শুরু করুন

আবার, এটি মাত্র একটি নেটিভ সহ একটি ন্যূনতম পৃষ্ঠা

সেই একটি লাইন আমাদের বিনামূল্যে একটি আশ্চর্যজনক পরিমাণ দেয়:

  • সঙ্গে কীবোর্ড সক্রিয়করণ Enter এবং Space কী
  • সঠিক ফোকাস আচরণ
  • একটি ভূমিকা যা সহায়ক প্রযুক্তি ইতিমধ্যে বুঝতে পারে
  • স্ক্রিন রিডারে ক্রমাগত ঘোষণা

এই সময়ে, আছে না ARIA – এবং এটি ইচ্ছাকৃত। কিন্তু আমার CSS এ স্টাইলিং বোতামের জন্য একটি বিদ্যমান ক্লাস ছিল, তাই আমি এটি যোগ করেছি:

2: কিছু যোগ করার আগে মূল আচরণ পর্যবেক্ষণ করুন

শুধুমাত্র মূল উপাদান দিয়ে, আমি তিনটি জিনিস পরীক্ষা করেছি:

  1. শুধুমাত্র কীবোর্ড (ট্যাব, প্রবেশ করা, স্থান)
  2. একটি স্ক্রিন রিডার (নিয়ন্ত্রণ কীভাবে ঘোষণা করা হয় তা শুনছি)
  3. ফোকাস ক্রম পৃষ্ঠার মধ্যে

সবকিছুর আচরণ অনুমানযোগ্য ছিল। ব্রাউজার ব্যবহারকারীরা যা আশা করে ঠিক তাই করছিল। এই পদক্ষেপটি গুরুত্বপূর্ণ কারণ এটি একটি বেসলাইন স্থাপন করে। যদি কিছু পরে ভেঙে যায়, আপনি জানেন যে এটি HTML এর কারণে হয়নি। প্রকৃতপক্ষে, DevTool-এর অ্যাক্সেসিবিলিটি প্যানেলে উপাদানটি পরিদর্শন করে আমরা দেখতে পাচ্ছি যে সবকিছুই নিখুঁতভাবে কাজ করছে।

আমি ARIA এর প্রথম নিয়ম কঠিন ভাবে শিখেছি। css-ট্রিকস

3: সৎ উদ্দেশ্যযুক্ত ARIA যোগ করুন

আমি যখন বোতামটিকে একটি লিঙ্কের মতো আচরণ করার চেষ্টা করেছি তখন সমস্যাটি এসেছিল:

আমি স্টাইলিং এবং রাউটিং কারণে এটি করেছি। এই বোতামটি ডিফল্টের চেয়ে একটু ভিন্নভাবে স্টাইল করা দরকার .cta ক্লাস এবং আমি ভেবেছিলাম আমি পরিবর্তনকারী ক্লাস ব্যবহার করার পরিবর্তে ARIA বৈশিষ্ট্য ব্যবহার করতে পারি। আপনি দেখতে শুরু করতে পারেন কিভাবে আমি শৈলীকে নির্দেশিত করতে এবং কার্যকারিতাকে প্রভাবিত করতে দিই। ক

আমি জানি এটা সহজ শোনাচ্ছে: যদি এটি একটি ক্রিয়া হয়, তাহলে a ব্যবহার করুন

ঠিক তেমনই, আমি আমার প্রয়োজনীয় উপাদানটিকে স্টাইল করতে সক্ষম হয়েছিলাম এবং যে ব্যবহারকারী সমস্যাটি রিপোর্ট করেছেন তিনি নিশ্চিত করতে সক্ষম হয়েছিলেন যে সবকিছু প্রত্যাশিত হিসাবে কাজ করছে। স্ট্যাকের মধ্যে ARIA-এর স্থান সম্পর্কে একটি মৌলিক ভুল বোঝাবুঝি থেকে এটি একটি অনিচ্ছাকৃত ভুল।

কেন এটা ঘটতে থাকে

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

  • কীবোর্ড মিথস্ক্রিয়া,
  • ফোকাস ব্যবস্থাপনা,
  • প্রত্যাশিত ঘোষণা, এবং
  • প্ল্যাটফর্ম-নির্দিষ্ট quirks.

এটি রক্ষণাবেক্ষণের জন্য একটি বৃহৎ পৃষ্ঠ এলাকা, এবং সেই কারণেই ছোট ARIA পরিবর্তনগুলি বড় এবং অপ্রত্যাশিত প্রভাব ফেলতে পারে।

একটি নিয়ম আমি এখন অনুসরণ করি

এখানে কর্মপ্রবাহ যা আমাকে সবচেয়ে বেশি সময় এবং বাগ বাঁচিয়েছে:

  1. অভিপ্রায় জানাতে মৌলিক HTML ব্যবহার করুন।
  2. কীবোর্ড এবং স্ক্রিন রিডার দিয়ে পরীক্ষা করুন।
  3. শুধুমাত্র ডায়ালগে ARIA যোগ করুন অনুপস্থিত রাষ্ট্রভূমিকা পুনঃসংজ্ঞায়িত না.

যদি ARIA মনে করে যে এটি ভারী উত্তোলন করছে, এটি সাধারণত একটি চিহ্ন যে মার্কআপ ব্রাউজারের সাথে লড়াই করছে।

যেখানে ARIA করে সংযুক্ত

একটি উদাহরণ নেটিভ ব্যবহার করে একটি সাধারণ প্রকাশ উইজেট হবে

Leave a Reply

Your email address will not be published. Required fields are marked *