Подтвердить что ты не робот

Цель использования "aria-labelledby" на уже маркированных входных элементах?

Многие демонстрационные веб-сайты ARIA используют код, например:

<label for="name" id="label-name">Your Name</label>
<input id="name" aria-labelledby="label-name" type="text">


Но в чем смысл использования атрибута aria-labelledby в этом случае? Элемент input уже помечен элементом label, который использует атрибут for, не так ли?

4b9b3361

Ответ 1

Вот несколько хороших примеров его использования на страницах разработчиков 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. Но если вы создаете "богатый пользовательский интерфейс" с нуля (DIVs и другие элементы низкого уровня с добавлением интерактивности javascript), то это важно для того, чтобы позволить прошивщику узнать, что такое намерение более высокого уровня.

Ответ 2

Всегда есть проблемы с поддержкой UA с чем-то новым, поэтому разработчики смотрят на прогрессивное улучшение. Этот метод ARIA обеспечивает способность устранять атрибут "для" и позволяет другим элементам стать частью богатой формы. Эти методы станут обычной практикой.