UA: Mozilla Firefox 28.0; AT: JAWS 14.0.1534 и NVDA 2014.1; ОС: MS Windows 7 Professional SP1
Учитывая следующий простой виджет меню с расширенным ARIA, почему ассоциированный ярлык «Куда пойти» никогда не читается? Насколько я понимаю, метки, связанные с фокусируемыми элементами, должны объявляться при получении фокуса. Вместо этого читается только текст пункта меню.
<div role="application">
<ul id="main-menu" role="menu" aria-label="Where to go" aria-activedescendant="item-1" tabindex="0">
<li id="item-1" role="menuitem"><a href="page-1.html" tabindex="-1">First page</a></li>
<li id="item-2" role="menuitem"><a href="page-2.html" tabindex="-1">Second page</a></li>
<li id="item-3" role="menuitem"><a href="page-3.html" tabindex="-1">Third page</a></li>
</ul>
</div>
Это какая-то «оптимизация», чтобы пользователь не читал лишнюю информацию каждый раз, когда меню получило фокус? Например, содержимое «элемента меню» будет иметь приоритет над маркировкой содержащего его виджета меню. Конечно, это просто дикая догадка. Есть ли у кого-нибудь более подробная информация, которая могла бы помочь прояснить вышеуказанную ситуацию?
Связанный вопрос, основанный на том же примере кода: я обнаружил, что отказ от содержащего div (того, который с атрибутом role = "application") абсолютно ничего не меняет в отношении поведения виджета (есть код Javascript для управления клавиатурой взаимодействие и обновление атрибута aria-activedescendant UL). Когда вам действительно нужен контейнер с role = "application"?
role
все испортило. Тед Дрейк написал статью оapplication
роли, в которой может помочь некоторым. - person Ryan B   schedule 26.03.2014