我的应用程序中有一个过滤器组件。它是一个按钮列表,一次只能选择一个按钮。选择过滤器后,它会更改/过滤单个面板中的内容。在这种情况下,我应该使用哪些可访问性实践来使其更易于访问?
这是一个非常常见的用例,但似乎不适合任何 patterns在 WAI ARIA 示例中进行了解释。
根据我的说法,过滤器的功能可以属于以下模式之一:
任何指针或例子?
最佳答案
在我看来 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>
关于html - 可访问性:类似于带有单个面板的选项卡的设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56454918/