html - 可访问性:类似于带有单个面板的选项卡的设计模式

标签 html accessibility

我的应用程序中有一个过滤器组件。它是一个按钮列表,一次只能选择一个按钮。选择过滤器后,它会更改/过滤单个面板中的内容。在这种情况下,我应该使用哪些可访问性实践来使其更易于访问?

这是一个非常常见的用例,但似乎不适合任何 patterns在 WAI ARIA 示例中进行了解释。
根据我的说法,过滤器的功能可以属于以下模式之一:

  • 选项卡,但每个选项卡都没有单独的面板在选项卡选择时隐藏/显示,而只是一个内容动态变化的面板。
  • 带有单选按钮的单选组,它控制另一个 DOM 元素。
  • Select 功能,但样式使得所有选项同时可见,并且 select 控制另一个 DOM 元素。

  • 任何指针或例子?

    最佳答案

    在我看来 aria-controls 这里是个不错的选择。

    您的按钮组再现了实际上是 radiogroup 的内容选择,只选择一个选项。

    使用 radio对于屏幕阅读器用户来说,元素将是一个很好的方法(当然,您可以完美地自定义它们以使其看起来像按钮),然后应用 aria-controlradiogroup元素。

    这是一个完整的 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/

    相关文章:

    javascript - 无法在按钮之间添加带有 'innerHTML' 的空格

    html - 在导航链接下划线,附加到 div 底部并限制宽度

    php - 仅允许 WYSIWYG BBCode 编辑器中的 html 标签

    jquery - 自定义设计的单选按钮输入样式,带有 CSS 和无障碍语音

    ios - Swift 中带有 UISegmentedControl 的 VoiceOver

    html - 您目前优化网页设计的最低屏幕分辨率是多少?

    html - 是否可以在查询字符串参数中指定 PayPal 固定捐赠金额?

    html - 将按钮中的图像与文本居中

    asp.net - 是否有适用于 ASP.NET 的 JAWS 友好日期选择器?

    html - 辅助功能:如何为一个 INPUT 项正确使用多个 LABEL 元素(通过 ARIA 等)?