Back to Question Center
0

A11y semalt: আপনার HTML উপাদানের একটি প্রবেশযোগ্য নাম দিন A11y semalt: আপনার HTML উপাদানের একটি প্রবেশযোগ্য নাম দিন

1 answers:

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

ব্রাউজার সহকারী প্রযুক্তিগুলির সাথে কীভাবে যোগাযোগ

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

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

দ্রষ্টব্য: ঐতিহাসিকভাবে, স্ক্রিন পাঠকরা অ্যাক্সেসিবিলিটি API- এর মাধ্যমে সঠিক তথ্য প্রকাশ করতে ব্রাউজারের বাগগুলি ক্ষতিপূরণ করার জন্য সরাসরি DOM অ্যাক্সেস করার প্রক্রিয়াগুলি প্রয়োগ করেছেন।

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

এর মধ্যে সবচেয়ে গুরুত্বপূর্ণ তথ্য

1997 সালে, মাইক্রোসফট মাইক্রোসফট অ্যাক্টিভ সেমিট (এমএসএএ) প্রকাশ করে যা প্রথমবারের জন্য কোনও ইউজার ইন্টারফেসের উপাদানগুলির জন্য চারটি গুরুত্বপূর্ণ টুকরা তথ্য প্রমিত করে:

  • ভূমিকা: বস্তুর ধরন, যেমন একটি বোতাম
  • নাম: বস্তুর জন্য একটি মানবিক বোধগম্য লেবেল, যেমন বোতাম টেক্সট হিসাবে
  • রাজ্য: নিয়ন্ত্রণের বর্তমান অবস্থা, যেমন একটি চেকবক্স জন্য "চেক"
  • মান: বস্তুর মূল্য, যেমন একটি সম্পাদনাযোগ্য টেক্সট ক্ষেত্রে তথ্য (সব বস্তুর একটি মান আছে না)

সময়ের সাথে সাথে, অপারেটিং সিস্টেমগুলি বিভিন্ন সেমল্ট API গুলি চালু করেছে এবং তারা সবগুলি একই ধরনের চারটি টুকরা তথ্য প্রদান করে, বিভিন্ন স্বাদে।

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

প্রবেশযোগ্য নাম কিভাবে কাজ করে

একটি ইউজার ইন্টারফেস এলিমেন্টের অ্যাক্সেসযোগ্য নামটি বিভিন্ন উৎস থেকে পাওয়া যায়, যা উপাদানটির প্রকারের উপর নির্ভর করে। ব্রাউজার অ্যাক্সেসযোগ্য নাম এবং বর্ণনা গণনা নামে পরিচিত প্রবেশযোগ্য নামটি গণনা করার জন্য একটি ফাঁকবিহীন প্রক্রিয়া ব্যবহার করে। এই fallback প্রক্রিয়া জটিল পেতে পারেন, এবং আমি প্রযুক্তিগত বিবরণ লিখতে চান না সেমিট শুধু একটি সহজ উদাহরণ:

  আমার দুর্দান্ত সুন্দর বিড়ালছানা  

এই উদাহরণে, লিঙ্কটির বিষয়বস্তু অ্যাক্সেসযোগ্য নাম, এবং উপাদান প্রকারটি অ্যাক্সেসযোগ্য ভূমিকা। সহায়ক প্রযুক্তি সেমল্ট এপিআই দ্বারা প্রকাশিত এই তথ্যটি ব্যবহার করবে এবং, উদাহরণস্বরূপ, স্ক্রিন পাঠকরা "লিঙ্ক, আমার সুপার সুন্দর বিড়ালছানা" "

অধিকাংশ ক্ষেত্রে, অ্যাক্সেসযোগ্য নাম একটি উপাদান এর বিষয়বস্তু, একটি বৈশিষ্ট্য, বা একটি সংযুক্ত উপাদান থেকে গণনা করা হয়। একটি যথাযথ উপলভ্য নাম প্রদান করার বিভিন্ন উপায় আছে.

প্রবেশযোগ্য নাম ছাড়া বাটন

সামাল এই ধরনের এইচটিএমএল অনেক বার দেখা, এমনকি সাম্প্রতিক প্রকল্পে। একটি বোতাম উপাদান, একটি আইকন সঙ্গে এবং একটি চমৎকার ইউজার ইন্টারফেস নিয়ন্ত্রণ মত দেখায় এমন একটি উপায় আড়াল:

  <বোতাম = "মেনু-আইকন">     

বা একটি সামান্য ভিন্ন বৈকল্পিক, একটি SVG আইকন বোতাম কন্টেন্ট হিসাবে:

  <বোতাম টাইপ = "বোতাম" ক্লাস = "মেনু-আইকন">         

উভয় ক্ষেত্রেই, অ্যাক্সেসযোগ্য নাম হিসাবে ব্যবহার করা যেতে পারে এমন কিছুই নেই। বোতাম ফাঁকা; সব সময়ে কোন টেক্সট আছে। তারা একটি Aria- লেবেল অ্যাট্রিবিউট ব্যবহার করতে পারে বা SVG আইকন কিছু উন্নত অ্যাক্সেসযোগ্যতা ব্যবহার করতে পারে। একটি অ্যাক্সেসযোগ্য নাম অনুপস্থিতিতে, পর্দা পাঠকরা কেবল অ্যাক্সেসযোগ্য ভূমিকা ঘোষণা করবে। ব্যবহারকারীরা "বোতাম" এবং অন্য কিছুই মত কিছু শুনতে হবে। বোতামের উদ্দেশ্য কি তাদের কোনও সূত্র নেই। এই ফিক্সিং খুব সহজ হবে: শুধু বোতাম কন্টেন্ট জন্য কিছু অর্থপূর্ণ টেক্সট ব্যবহার। বিকল্পভাবে, কিছু দৃশ্যত লুকানো পাঠ অথবা একটি Aria- লেবেল অ্যাট্রিবিউট ব্যবহার করুন।

একটি প্রবেশযোগ্য নাম ছাড়া ইনপুট ক্ষেত্র

 ইমেল ঠিকানা: <ইনপুট টাইপ = "পাঠ্য" নাম = "ইমেল" মান = "" />  

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

একটি স্বতন্ত্র বৈশিষ্ট্য ছাড়া লিঙ্কযুক্ত ইমেজ

চিত্রগুলি একটি alt অ্যাট্রিবিউট ব্যবহার করে একটি নির্দিষ্ট প্রসঙ্গে তাদের ফাংশনটি বর্ণনা করতে হবে। বিশুদ্ধরূপে আলংকারিক চিত্রগুলি একটি খালি alt অ্যাট্রিবিউট ব্যবহার করতে হবে। চিত্র উদ্দেশ্য বর্ণনা করার জন্য অর্থপূর্ণ চিত্রগুলি একটি অর্থপূর্ণ আলটি টেক্সট প্রয়োজন। W3C একটি খুব দরকারী আলটি বৈশিষ্ট্য নির্ধারণ গাছটি প্রদান করে যা এটি কিভাবে ব্যবহার করতে হয় তা বর্ণনা করে। নীচের উদাহরণ বিবেচনা করুন:

    

লিঙ্কের মধ্যে কেবলমাত্র সামগ্রীটি একটি ইমেজ ছাড়াও alt অ্যাট্রিবিউট। একটি অ্যাক্সেসযোগ্য নাম হিসাবে ব্যবহার করা যেতে পারে এমন কিছু নেই যেহেতু এটা একটি লিঙ্ক, স্ক্রিন পাঠকেরা যেকোনো উপায়ে কিছু পড়ার চেষ্টা করবে, এবং তারা কেবলমাত্র উপলব্ধ জিনিসটি ব্যবহার করার চেষ্টা করবে: ইমেজ ফাইলের নাম, এটি একটি অর্থবহ ফাইলের নাম। দুর্ভাগ্যবশত, বেশীরভাগ ক্ষেত্রে, ফাইলের নামটি লিঙ্কটির উদ্দেশ্য সম্পূর্ণরূপে সম্পর্কিত নয়। এই ক্ষেত্রে, স্ক্রিন পাঠকরা লিঙ্ক এবং ছবির ভূমিকা ঘোষণা করবে, এবং পুরো ফাইলের নামটি পড়বে, যেমনটি: "লিঙ্ক, চিত্র, 145x142_1492700029699 TgrWeb_Q। jpg "


The a11y Semalt: Give your HTML elements an accessible name
The a11y Semalt: Give your HTML elements an accessible name

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

একটি খালি আলটি বৈশিষ্ট্য ছাড়া লিঙ্কযুক্ত ইমেজ

পূর্ববর্তী উদাহরণের একটি বৈকল্পিক একটি খালি alt অ্যাট্রিবিউটের সাথে একটি সংযুক্ত চিত্র। হোম পৃষ্ঠাতে যুক্ত একটি ওয়েবসাইট লোগোর একটি খুব সাধারণ উদাহরণ:

    

প্রথম দর্শনে, এই উদাহরণটি আরো ভালো হতে পারে। এইটা না. একটি খালি alt অ্যাট্রিবিউট পর্দার পাঠকদের নির্দেশ করে একটি আদর্শ উপায় হল চিত্রটি আলংকারিক এবং নিরাপদে উপেক্ষা করা যায়। যাইহোক, এটি একটি লিঙ্ক থেকে, স্ক্রিন পাঠকেরা যেকোনোভাবেই কিছু করার চেষ্টা করবে। শুধুমাত্র উপলব্ধ ফাঁকশলা লিঙ্ক href বৈশিষ্ট্য যার মান একটি স্ল্যাশ Source . "

গভীরভাবে এইচটিএমএল শিখুন

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

রিচ, সিমান্তিক এইচটিএমএল হল আমাদের যোগাযোগ উন্নত করতে এবং মেশিনগুলি বোঝার জন্য যা আমাদের বোঝায় তা বোঝা যায়।

সাহায্য করতে চান?

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

আরও পড়ুন: 'ওয়েব কনটেন্ট অ্যাক্সেসযোগ্যতা ইয়োস্ট' »

February 28, 2018