1

我正在使用 jQuery UI datepicker 小部件(请参阅API 文档),但我们的可访问性合规性检查器抱怨它插入的按钮图像。特别是它标记了“buttonText”属性被用作按钮图像上的“alt”和“title”。

输入:

<input type='text' name='from' id='from' value=''>

<script type='text/javascript'>
$(document).ready(function() {
    $( '#from' ).datepicker({
         buttonImageOnly:   true,
         buttonImage:       '/img/calendar_icon_20x20.png',
         buttonText:        'select date from calendar'
       ...
});
</script>

生成的按钮对象如下所示:

<img class="ui-datepicker-trigger" src="/img/calendar_icon_20x20.png"
    alt="select date from calendar"
  title="select date from calendar">

有什么方法可以使 alt 和 title 不一样吗?

4

1 回答 1

0

查看有问题的代码,没有直接的方法:

inst.trigger = $(this._get(inst, "buttonImageOnly") ?
               $("<img/>").addClass(this._triggerClass)
                          .attr({ src: buttonImage, alt: buttonText, title: buttonText }) :
               $("<button type='button'</button>")
                          .addClass(this._triggerClass)
                          .html(!buttonImage ? buttonText : $("<img/>")
                          .attr({ src: buttonImage, alt: buttonText, title: buttonText })));

由于buttonText属性直接应用于alttitle属性。

选项:

  1. 事后使用 JavaScript 以某种方式更改 alt 或 title 属性
  2. 使用附加的buttonTitle属性制作 jquery-ui 的本地变体(如果上游接受更改,则可以说是正确的选择)
  3. 制作一个硬编码标题的本地变体(我懒惰的自己做了什么)
于 2016-10-08T15:16:15.480 回答