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>
,届时由于缺少标签将无法访问它。
您可以安全地忽略此错误,因为输入从未设计为可访问,因此 tabindex
和 aria-hidden
状态永远不会改变。
我注意到的一件事是他们将 opacity
设置为 0 而不是隐藏输入,不完全确定为什么会这样,但这可能是它抱怨的另一个原因,因为从技术上讲任何 0 opacity
仍然可以被一些不支持 aria-hidden
的旧屏幕阅读器访问。如果你可以将其更改为 display: none
它将更健壮(这需要由 JS 添加,否则如果你在 CSS 中设置它并且 JS 失败整个输入将被隐藏)。
将 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>
,届时由于缺少标签将无法访问它。
您可以安全地忽略此错误,因为输入从未设计为可访问,因此 tabindex
和 aria-hidden
状态永远不会改变。
我注意到的一件事是他们将 opacity
设置为 0 而不是隐藏输入,不完全确定为什么会这样,但这可能是它抱怨的另一个原因,因为从技术上讲任何 0 opacity
仍然可以被一些不支持 aria-hidden
的旧屏幕阅读器访问。如果你可以将其更改为 display: none
它将更健壮(这需要由 JS 添加,否则如果你在 CSS 中设置它并且 JS 失败整个输入将被隐藏)。