Siteimprove 在 WAI-ARIA 标准 1.3.1 上报告的此错误是否为误报?

Is This Error Reported by Siteimprove on WAI-ARIA Criterion 1.3.1 A False Positive?

Siteimprove extension v. 126 用于 Chrome 以下 HTML 片段都报告了一个问题“输入字段没有描述 1.3.1”

似乎不​​需要任何描述,因为就可访问性 API 而言,aria-hidden 属性应该完全删除该元素。同样,tabindex=-1 属性值指示此元素既不用于交互也不用于表示。

此外,即使在根据以下文档添加 role="none" 之后,扩展仍将此报告为一个问题,这是该工具中的第一个交叉引用解决方案:

<input aria-hidden="true" tabindex="-1" 
    class="MuiSelect-nativeInput" 
    value="SORTING_OPTIONS_ENDDATE" 
    style="">

<input aria-hidden="true" tabindex="-1" 
    class="MuiSelect-nativeInput" role="none" 
    value="SORTING_OPTIONS_ENDDATE" 
style="">


注意: 这个隐藏的 input 元素是通过 Material UI 作为 <Select /> component 的一部分生成的。用于保存选中的值

是的,这是误报。

它可能会将此标记为一个问题,因为它无法知道您是否打算在将来“取消隐藏”<select>,届时由于缺少标签将无法访问它。

您可以安全地忽略此错误,因为输入从未设计为可访问,因此 tabindexaria-hidden 状态永远不会改变。

我注意到的一件事是他们将 opacity 设置为 0 而不是隐藏输入,不完全确定为什么会这样,但这可能是它抱怨的另一个原因,因为从技术上讲任何 0 opacity 仍然可以被一些不支持 aria-hidden 的旧屏幕阅读器访问。如果你可以将其更改为 display: none 它将更健壮(这需要由 JS 添加,否则如果你在 CSS 中设置它并且 JS 失败整个输入将被隐藏)。