嗨,我正在尝试提供对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/