当咏叹调变化时,VoiceOver不会读取

时间:2016-08-06 06:07:22

标签: javascript html accessibility wai-aria voiceover

我注意到,当通过JavaScript在按钮上切换aria-pressed时,VoiceOver(不确定其他屏幕阅读器)无法读取aria-pressed已更改。只有当按钮获得焦点时才会读出它(例如,当aria-pressedfalse时为“Lorem ipsum,切换按钮”,aria-pressed为{true时为“Lorem ipsum,已选中,切换按钮” {1}})。

谁能告诉我为什么会这样?这是一个错误吗?就个人而言,我认为如果用户正在切换按钮的状态,那么当它改变状态时会得到通知。

注意:与aria-expanded的行为相同。

这是一个重现的代码片段(假设VO已打开)。

  1. 将焦点移至按钮。 VO将在那时读出状态(“Lorem ipsum,toggle button”或“Lorem ipsum,selected,toggle button”)。
  2. 按Return / Space切换aria-pressed
  3. VO没有阅读任何内容。为什么? (如果检查DOM,您可以看到aria-pressed值已更改。)
  4. function toggleAriaPressed(event) {
      var $element = $(event.target);
      var pressed = $element.attr('aria-pressed') === 'true';
      $element.attr('aria-pressed', !pressed);
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <button onclick="toggleAriaPressed(event)" aria-pressed="false">Lorem ipsum</button>
    
    <span tabindex="0">Something else focusable</span>

0 个答案:

没有答案