Вопрос по label, html, accessibility, wai-aria – Цель использования «aria-labelledby» на уже помеченных элементах ввода?

69

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

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


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

Спасибо @Sarfraz. Однако эта страница не иллюстрирует цель такого использования на уже помеченных элементах ввода. Ian Y.

Ваш Ответ

2   ответа
3

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

Совершенно неверно. Атрибуты aria НЕ должны заменять другие атрибуты, поскольку их единственная цель - сделать элементы более доступными. Элементы НЕ должны быть фокусируемыми из-за какого-либо атрибута арии.
Устройства должны, хотя не многие, делают ... пока.
Фокусируется ли элемент при нажатии, как атрибут for? Я не догадываюсь
56

Есть несколько хороших примеров его использования наСтраницы разработчика 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, как правило, наиболее полезны при создании AccessibleRich Internet Applicationsпока вы придерживаетесь стандартного семантического HTML - используя формы со стандартными метками - вам это вообще не нужно: так что нет причин использовать его для пары LABEL / INPUT. Но если вы "строите" богатый пользовательский интерфейс " с нуля (DIV и другие низкоуровневые элементы с добавлением javascript интерактивности), тогда важно, чтобы программа для чтения с экрана знала, что такое высокоуровневое намерение.

эта ссылка ДОЛЖНА быть здесь:developer.mozilla.org/en-US/docs/Accessibility/ARIA
Спасибо @BrendanMcK. То, что вы сказали, правда. Я спросил кого-то, кто работает в ARIA, и он тоже сказал, что в этом случае нет необходимости использовать aria-labelledby. Он отметил, что для обозначения входных данных используйте его только тогда, когда нам нужно пометить входные данные & lt; input & gt; с несколькими метками & lt; label & gt; s. Вот пример, который он представил:html5accessibility.com/tests/mulitple-labels.html Ian Y.
More than one LABEL may be associated with the same control by creating multiple references via the for attribute, Хорошо, WAVE / WebAIM не нравится, и получаетсяthere's an issue with UA support, Но его предложение простоstrangeи я не думаю, что это имеет какое-либо реальное преимущество.At least IE<=8 doesn't support multiple IDs in aria-labelledby.

Похожие вопросы