こんにちは、へのアクセシビリティを提供しようとしています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);
}
この問題を解決するにはどうすればよいですか。role または aria 属性を使用して、これが複数回読み取られないようにすることはできますか?