Работая над обновлением веб-страницы, у меня есть элемент управления, который по сути является многоэлементным элементом управления, похожим на изображение ниже.
Как только пользователь устанавливает фокус на текстовое поле (поле с пурпурной рамкой, поле ниже становится видимым, причем при проверке элементов оно добавляется к вышеуказанному текстовому полю.
Вопрос:
У меня вопрос больше с точки зрения доступности. Чтобы вспомогательные технологии могли правильно читать (рассказывать) этот элемент управления. Я использую role="listbox"
для текстового поля и role='listitem'
для каждого из флажков, что, как я понимаю, неправильно, поскольку listitem
должен быть добавлен как прямой дочерний элемент к listbox
. Но в моем случае это невозможно.
Можно ли как-нибудь связать textbox
и checkbox list
и заставить рассказчика рассматривать их как единый элемент управления?
<div class='multiselect_wrapper'>
<input type="text" role='listbox' aria-multiselecttable='true' />
<div class="chkList">
<fieldset>
<div>
<label role="listitem" for='chk1'>
<input type='checkbox' id='chk1'>Pizza
</label>
<label role="listitem" for='chk2'>
<input type='checkbox' id='chk2'>Lemonade
</label>
<label role="listitem" for='chk3'>
<input type='checkbox' id='chk3'>Fruit Salad
</label>
</div>
</fieldset>
</div>
</div>