jquery - 如何使 jquery 数据表呈现的搜索框可访问?
问题描述
使用 jquery 数据表时,包括 dom 中的搜索(过滤器)框,我得到一个可访问性错误,引用 3.3.2 Input field has no description。
如何使用 jquery 向搜索框添加 aria-label?
这是数据表呈现的代码:
<label>
<input type="search" class="form-control input-sm" placeholder="" aria-controls="data-table" style="z-index: 2147483646; position: relative;">
</label>
解决方案
编辑 虽然我下面的原始答案解决了一个可访问性错误,但它留下了另一个相关错误:表单控件标签缺少文本。
出于某种原因,数据表将搜索框包装在一个空标签标签中。
以下两行将解决两个可访问性错误:
$('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>
以下链接帮助了我:
推荐阅读
- sql-server - 在 SQL Server 中连接表以获取所有数据
- typo3 - TYPO3 - “给定的主题不是一个集合”
- google-maps - 从链接打开或嵌入时,为什么 KML 轨迹/图层不会出现在 Google 地图中?
- python - 评估多标签对象检测模型的平均精度指标
- php - 可以在一个命令(PDFTK 和 PHP)中加入 pdf 表单、填写和使用直通吗?
- javascript - TypeError [ERR_INVALID_ARG_TYPE]:“listener”参数必须是函数类型。收到未定义
- wpf - MahApps.Metro IOException:找不到资源'styles/colors.xaml'
- regex - 正则表达式匹配字符不在 2 个特定字符或单词之间
- xml - OSB 将字符串转换为 DateTime(xsl 或 xquery)
- python - 在 Pycharm 中调试 Tornado Web 服务器