GSP日期选择器:为每个字段(天,月,年)添加标签

时间:2019-08-12 18:11:15

标签: grails datepicker accessibility

我按照grails文档中的建议使用GSP日期选择器,但这会产生一个组件,使用屏幕阅读器不容易访问该组件。我的首选解决方案是为每个标签都贴上标签,或仅添加一个后缀(例如购买日期(天)...)。这个日期选择器是否可能实现此功能,还是我必须自己实现一个日期选择器?

GSP:

<g:datePicker name="buyDate" precision="day" default="${new Date()}" value="${book.buyDate}"/>

结果HTML:

<label for="buyDate"> Buy date</label>
<input type="hidden" name="buyDate" value="date.struct">
<select name="buyDate_day" id="buyDate_day" aria-labelledby="buyDate">
<option value="1">1</option>
...
</select>
<select name="buyDate_month" id="buyDate_month" aria-labelledby="buyDate"><option value="1">Januar</option>
...
</select>
<select name="buyDate_year" id="buyDate_year" aria-labelledby="buyDate"><option value="2119">2119</option>
...
</select>

1 个答案:

答案 0 :(得分:0)

仅使用grails datepicker无法做到这一点。但是,您可以通过javascript轻松添加自己的标签,或使用UI框架中的现有datepicker。我不确定“添加后缀”是什么意思,所以不确定如何在其中提供帮助。

通过jquery添加标签的简单方法示例:

$("select[id^='buyDate_']").each(function(idx, el) { 
    $(el).before("<label for='" + $(el).attr("id") + "'>" + $(el).attr("id").replace("buyDate_", "") + ": </label");
});
相关问题