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);
  }

この問題を解決するにはどうすればよいですか。role または aria 属性を使用して、これが複数回読み取られないようにすることはできますか?

ここでフィドル:http://jsfiddle.net/archanabr05/D4AGz/719/

4

0 に答える 0