单击

时间:2017-04-20 14:04:31

标签: html accessibility wai-aria screen-readers

我在UI中工作,按钮将被一个无法关闭的小窗体替换。用户点击该按钮后该按钮将消失。

问题不在于如何在JavaScript中实现,问题在于如何改善可访问性。

我试图解决这个问题,因为按钮崩溃,隐藏按钮除了屏幕阅读器并在点击后管理此元素的tabindex以确保没有人可以再次访问。

我创建了一个codepen来解释解决方案,简化了我的解决方案,但看起来对我来说很糟糕。 https://codepen.io/luarmr/pen/oWbZYK

HTML:

<div>
  <button onclick="showContent(this, 'action-box');" aria-expanded="false" aria-controls="action-box">Do you want to perform an action?
  </button>
  <div id="action-box" role="region" aria-label="We will do something in this box" aria-hidden="true">
    <form action="some action">
      <label for="myinput" class="control-label sr-only">
                    Introduce a value
                </label>
      <input class="form-control" type="text" name="myinput" value="" placeholder="introduce a value">
      <input type="submit" value="send action">
    </form>
  </div>
</div> 

JS:

function showContent(node, id) {
  $(node).attr('aria-expanded', 'true')
    .attr('tabindex','-1');
  $('#'+id).attr('aria-hidden', 'false');
}

是否应该添加aria-expanded并将焦点移至新面板?我觉得这个解决方案过于复杂。

0 个答案:

没有答案