list
Отбелязва елемент като списък от елементи. Използвайте първо <ul>, <ol> или <dl> — нативният елемент носи ролята, броя и визуалния маркер. Прибягвайте до role="list" само когато CSS list-style: none задейства евристиката на Safari за премахване на ролята на списъка.
Кога да се използва
Използвайте <ul> за неподредени списъци, <ol> за подредени списъци и <dl> за описателни списъци. Всеки от тях се представя автоматично като списък с правилен брой елементи.
Единствената практическа причина изрично да зададете role="list" на <ul> е поведението на Safari за „премахване на ролята на списъка”: когато към <ul> е приложено list-style: none, WebKit премахва ролята на списъка от дървото на достъпността, приемайки, че е само за стилови цели. Изричното задаване на role="list" заменя тази евристика.
Не бъркайте role="list" с role="listbox". Списъкът е статично съдържание; listbox е интерактивен уиджет за избор. Смесването им кара екранните четци да очакват семантика на избор, която не е налична.
Чести грешки
role="list"върху контейнери<div>, които съдържат<div>„елементи” безrole="listitem". Ролята на списъка изисква наличие на наследници listitem; без тях броят е грешен.- Използване на
role="list"за навигационно меню вместо<nav>с<ul>. Ориентирът за навигация е по-полезен. - Добавяне на
role="list"към<ul>безlist-style: none. Излишно е — нативната роля вече е налична. - Използване на
role="list", когато е имало предвидrole="listbox". - Влагане на елементи
<li>в родителски елемент, различен от списък (<div>) — елементите на списъка стават сираци.
Пример
<!-- Предпочитан начин -->
<ul>
<li>Screen reader</li>
<li>Switch control</li>
<li>Voice control</li>
</ul>
<!-- Заместване на евристиката на Safari за премахване на ролята на списъка -->
<ul role="list" style="list-style: none;">
<li role="listitem">Screen reader</li>
<li role="listitem">Switch control</li>
</ul>