【问题标题】:Does a combobox require a child element with the role of textbox?组合框是否需要具有文本框角色的子元素?
【发布时间】:2021-02-12 13:10:33
【问题描述】:

我有一个组合框触发了 Accessibility for Insights 工具 (https://accessibilityinsights.io/en/downloads/) 的辅助功能错误。可以在手机字段中看到带有国家/地区标志选择器的组合框 - https://configure.awardsplatform.com

这是我从 Accessibility for Insights 收到的错误消息:

Wai-aria 1.1 指南说文本框是必要的 - https://www.w3.org/TR/wai-aria-1.1/#combobox

但是,我很困惑,因为 Wai-aria 1.2 指南(显然仍在开发中)没有将其作为要求 - https://www.w3.org/TR/wai-aria-1.2/#combobox

这个示例组合框也不包括文本框 - https://w3c.github.io/aria-practices/examples/combobox/combobox-select-only.html

这里的信息相互矛盾,所以我不确定是否需要。有人知道吗?

【问题讨论】:

    标签: combobox accessibility


    【解决方案1】:

    “组合框是否需要具有文本框角色的子元素?”的简短回答

    根据当前 (aria-1.1) 标准:

    更长的答案

    标准将很快改变(ish),您正在查看尚未最终确定的未来指南。根据当前指导,您选择的国家/地区使用了不正确的角色。

    为什么会出现错误?

    我们仍在使用 aria-1.1 标准。

    definition of a combobox in the aria 1.1 standards 是:

    包含单行文本框和另一个元素(例如列表框或网格)的复合小部件,可以动态弹出以帮助用户设置文本框的值强>。

    至于the example combobox you gave,您可能一直在查看一个用于 aria-1.2 的示例(尽管我仍然不相信它会在那时有效,因为它仍然应该设置某种输入的值,但我们将看到所有内容何时正式发布,因为我认为“输入”的 1.2 定义仍然需要更好地定义)

    目前,combobox 是一个带有相关列表的 <input>(或等效项),可用于设置 <input> 的值。一个关键特性是您应该仍然能够手动输入值。

    你应该改用什么?

    对于您的示例,<select>(或类似role="listbox")会更合适,因为用户无法手动输入国家/地区。

    即使出现新的指导a listbox will probably still be a better choice from the definition currently in place

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-16
      • 2016-04-02
      相关资源
      最近更新 更多