Многие демонстрационные веб-сайты ARIA используют такой код, как:
<label for="name" id="label-name">Your Name</label>
<input id="name" aria-labelledby="label-name" type="text">
Но какова aria-labelledby
в этом случае цель использования атрибута? input
Элемент уже помечен label
элементом , который использует for
атрибут, не так ли?
html
label
accessibility
wai-aria
Ян Ю.
источник
источник
Ответы:
На страницах разработчиков Mozilla есть несколько хороших примеров его использования . Возможно, лучший из их примеров - это то, где оно используется для связывания всплывающего меню с родительским элементом меню - это Пример 7 на странице:
<div role="menubar"> <div role="menuitem" aria-haspopup="true" id="fileMenu">File</div> <div role="menu" aria-labelledby="fileMenu"> <div role="menuitem">Open</div> <div role="menuitem">Save</div> <div role="menuitem">Save as ...</div> ... </div> ...
Атрибуты ARIA имеют тенденцию быть наиболее полезными при создании доступных полнофункциональных интернет-приложений : пока вы придерживаетесь стандартного семантического HTML - используя формы со стандартными метками - он вам вообще не понадобится: поэтому нет причин использовать его в пара LABEL / INPUT. Но если вы создаете «богатый пользовательский интерфейс» с нуля (DIV и другие элементы низкого уровня с javascript, добавляющими интерактивность), то важно, чтобы программа чтения с экрана знала, в чем заключается намерение более высокого уровня.
источник
Всегда возникают проблемы с поддержкой UA с любым новым продуктом, поэтому разработчики обращают внимание на прогрессивные улучшения. Этот метод ARIA позволяет избавиться от атрибута «for» и позволяет другим элементам стать частью расширенной формы. Эти техники станут обычной практикой.
источник