რატომ დაემატა roll ატრიბუტი?
sobes.tech AI
პასუხი AI-სგან
ARIA (Accessible Rich Internet Applications)-ის role ატრიბუტი გამოიყენება ელემენტის მომხმარებლის ინტერფეისის ტიპის მკაფიო განსაზღვრებისთვის. ეს ეხმარება დამხმარე ტექნოლოგიებს, როგორიცაა სკრინრიდერები, გააზრონ ელემენტის დანიშნულება და გადასცენ ეს ინფორმაცია შეზღუდული შესაძლებლობების მქონე მომხმარებლებს. ის ავსებს HTML-ის სემანტიკას, განსაკუთრებით იმ ელემენტებისთვის, რომლებსაც არ აქვთ შიდა სემანტიკა, ან როდესაც სტანდარტული სემანტიკა არასაკმარისია.
მაგალითები:
divელემენტს, რომელსაც მიენიჭებაbuttonროლი, სკრინრიდერი განიხილავს როგორც ღილაკს, მიუხედავად იმისა, რომ მას არ აქვს სტანდარტული ფუნქციონალი და HTML-ის სემანტიკა.
<div role="button" tabindex="0" aria-pressed="false">
დაწკაპე მე
</div>
navigationროლიnavელემენტზე (მიუხედავად იმისა, რომnavუკვე აქვს შიდა სემანტიკა ნავიგაციისთვის) შეიძლება დამატებით გაუმჯობესდეს მისი ინტერპრეტაცია ზოგიერთ შემთხვევაში.
<nav role="navigation">
<ul>
<li><a href="/">მთავარი</a></li>
</ul>
</nav>
- ზოგიერთი რთული ვიჯეტი, რომელიც შექმნილია ნეიმსემანტიკური ელემენტების საფუძველზე, იღებს თავის როლებს სწორად წარმოდგენისთვის:
<div role="tablist">
<button role="tab" aria-selected="true" aria-controls="panel-1" id="tab-1">სექცია 1</button>
<button role="tab" aria-selected="false" aria-controls="panel-2" id="tab-2">სექცია 2</button>
</div>
<div id="panel-1" role="tabpanel" aria-labelledby="tab-1">
სექციის 1 შინაარსი.
</div>
<div id="panel-2" role="tabpanel" aria-labelledby="tab-2" hidden>
სექციის 2 შინაარსი.
</div>
role ატრიბუტი კლასიფიცირებს ელემენტებს მათი ფუნქციის და მიზნის მიხედვით, უზრუნველყოფს უფრო ზუსტ და სასარგებლო ურთიერთქმედებას დამხმარე ტექნოლოგიების მომხმარებლებისთვის. მნიშვნელოვანია გამოიყენოთ იგი სხვა ARIA ატრიბუტებთან ერთად (მაგალითად, aria-label, aria-expanded, aria-hidden), რომლებიც გადასცემენ ელემენტების მდგომარეობასა და თვისებებს.
უნდა გახსოვდეთ:
- ყოველთვის უპირატესობა ენიჭება ნატიური HTML სემანტიკას. თუ არსებობს შესაბამისი HTML ელემენტი, გამოიყენეთ ის
roleდა სხვა ARIA ატრიბუტების იმიტაციის ნაცვლად. მაგალითად, გამოიყენეთ<button><div role="button">-ის ნაცვლად. - ელემენტის როლის შეცვლა არ იცვლის მისი შიდა ფუნქციონალს. მაგალითად,
role="button"div-ზე არ აქცევს მას ფოკუსირებად ან აქტივირებად Space ან Enter-ის დაჭერით დამატებითი JavaScript-ის გარეშე.