1

嗨,我正在尝试提供对jquery datepicker.

NVDA我导航到其他日期时正在阅读日期。

我的问题是最初datepicker打开时,焦点日期被读取 4-10 次。当datepicker关闭时,日期被读取 4-10 次

HTML:

<p>Date:
<input id="datepicker" type="text">
    <button id="add_30">Add 30 days </button>
    <button id="add_60">Add 60 days </button>
    <button id="add_90">Add 90 days </button>
</p>

<div id="liveRegion" aria-live="assertive"></div>

JS:

var message;
 function emitChanges(){                
//Emit message
    message = ' ' + $('.ui-state-hover').html() + ' ' + $('.ui-datepicker-month').html() + ' ' + $('.ui-datepicker-year').html();
    document.getElementById('liveRegion').innerHTML = message;
  }

//Check for changes to DOM 
var target = document.querySelector('#ui-datepicker-div');

if(!document.attachEvent) {
    //Using not attachEvent to filter out IE 8 & 9.
    var observer = new MutationObserver(function(mutations){
      emitChanges();
    });
    var config = { attributes: true, characterData: true };
    observer.observe(target, config);
  } else {
    //Using event attach for IE8
    target.attachEvent("onpropertychange", emitChanges);
  }

我该如何解决这个问题。我可以使用任何角色或 aria 属性来阻止它多次读取。

在这里小提琴:http: //jsfiddle.net/archanabr05/D4AGz/719/

4

0 回答 0