Jquery ui 可访问性:当用户无法在日期选择器中选择禁用日期时,是否需要使用ARIA-disabled='TRUE'标记禁用日期/月份

Jquery ui 可访问性:当用户无法在日期选择器中选择禁用日期时,是否需要使用ARIA-disabled='TRUE'标记禁用日期/月份,jquery-ui,accessibility,datetimepicker,Jquery Ui,Accessibility,Datetimepicker,我正在研究网页可访问性。我们的客户与web易访问性专家一起测试该网站,并向我们提供一份需要修复或修改该网站的手册 关于日期选择器,专家评论如下 使用ARIA角色和属性定义日期选择器。 有关详细信息,请参见附录A,可访问日期选择器要求 注意:如果禁用了月份或日期,则活动元素上的user aria disabled=true表示禁用状态 下面是代码示例 <lable> Date: <input id="dp" type="text" /> </lable>

我正在研究网页可访问性。我们的客户与web易访问性专家一起测试该网站,并向我们提供一份需要修复或修改该网站的手册

关于日期选择器,专家评论如下

使用ARIA角色和属性定义日期选择器。 有关详细信息,请参见附录A,可访问日期选择器要求

注意:如果禁用了月份或日期,则活动元素上的user aria disabled=true表示禁用状态

下面是代码示例

<lable>
   Date:
  <input id="dp" type="text" />
</lable>

/** JS CODE **/
$(function() {

  $('#dp, #dp1').datepicker({
    defaultDate: new Date(),
    minDate: new Date()
  });

});
我的小提琴:

我正在使用jQuery日期选择器。键盘用户不能在minDate之前移动光标。例如,如果minDate设置为“今天”,键盘用户就不能在今天之前选择或移动光标。现在是否需要使用aria disabled='true'标记禁用的前一天

我的理解是,如果不允许用户在minDate之前移动,那么用aria disabled标记禁用日期是没有意义的


任何形式的建议,请谅解:

简短的回答是“是”。不可选择的日期必须禁用aria='true'

虽然您正确地认为不可选择的日期不能使用键盘聚焦,但屏幕阅读器用户可以使用屏幕阅读器快捷键导航到这些日期。由于月份是一个月,屏幕阅读器用户可以使用ctrl+alt+arrowkey在表格中导航,就像它是一个电子表格一样。使用屏幕阅读器快捷键时,视觉焦点不移动,但屏幕阅读器将读取表格单元格中的数据。看起来jquery正在使用一个样式表class='ui-datepicker-unselectable ui state disabled',从视觉上使不可选择的日期看起来不同于常规日期,但是屏幕阅读器不知道样式表的意图。您需要通过aria disabled='true'告诉屏幕阅读器单元格已禁用

对于禁用的日期,生成的html应该是这样的:

<td class="ui-datepicker-unselectable ui-state-disabled" aria-disabled="true">
  <span class="ui-state-default">4</span>
</td>
你想要的是:

<th>
  <span aria-hidden='true'>Mo</span>
  <span class='visually-hidden'>Monday</span>
</th>

如果我正确识别了报告的样式,那么应该在报告的附录A中定义视觉隐藏类,靠近附录的开头。对于没有报告的读者,您可以查看关于隐藏内容和关于隐藏内容的内容。

谢谢您的回复。我已经研究了jQuery日期选择器API。没有发现任何有用的东西。我必须手动操作日期选择器生成的HTML代码。但是有没有符合WCG2.0规范的日期选择器呢?在谷歌上搜索一下可访问的日期选择器,你会在结果的顶部找到5个好的日期选择器。
<th>
  <span aria-hidden='true'>Mo</span>
  <span class='visually-hidden'>Monday</span>
</th>