Мне кажется, что aria-controls
- хороший выбор здесь.
Ваша группа кнопок воспроизводит то, что фактически является выбором radiogroup
, с выбранным только одним выбором.
Использование элементов radio
было бы хорошим подходом для пользователей программ чтения с экрана (вы, конечно, можете идеально настроить их так, чтобы они выглядели как кнопки), а затем примените aria-control
к элементу radiogroup
.
Здесь достаточно полной ARIA, но вы можете прекрасно использовать нативные input[type='radio']
элементы.
<div role="radiogroup" aria-controls="panel1" aria-labelledby="filter">
<div id="filter">Filter by</div>
<div role="radio" aria-checked="true" tabindex="0">Filter 1</div>
<div role="radio" tabindex="0">Filter 2</div>
</div>
<div id="panel1">
Results here
</div>