使用jQuery DataTables(包括DOM中的搜索(过滤(框(时,我会在3.3.2输入字段中获得一个可访问性错误。
如何使用jQuery将ARIA标签添加到搜索框中?
这是DataTables渲染的代码:
<label>
<input type="search" class="form-control input-sm" placeholder="" aria-controls="data-table" style="z-index: 2147483646; position: relative;">
</label>
edit 虽然下面我的原始答案解决了一个可访问性错误,但它留下了另一个相关错误:表单控制标签缺少文本。
由于某种原因,DataTables将搜索框包装在空标签中。
以下两行将解决这两个可访问性错误:
$('input[type="search"]').unwrap(); //removes the empty parent label tag that surrounds this
$('input[type="search"]').attr('aria-label', 'search');
导致此HTML,没有错误:
<input type="search" class="form-control input-sm" placeholder="" aria-controls="data-table" aria-label="search">
以下将清除该错误:
$('input[type="search"]').attr('aria-label', 'search');
导致此HTML:
<label><input type="search" class="form-control input-sm" placeholder="" aria-controls="data-table" aria-label="search" style=""></label>
以下链接对我有帮助:
- 按类型选择器的目标输入
- 如何使用jQuery 将ARIA-LABEL添加到NAB中