如果删除HTML元素,应该设置焦点?

时间:2015-02-20 12:23:33

标签: html internet-explorer focus accessibility screen-readers

我有这样的HTML(简化):

<ul>
  <li><a id="1" onclick="removeItself(1)" href="#">first</a></li>
  <li><a id="2" onclick="removeItself(2)" href="#">second</a></li>
</ul>
<input type="text"></input>

如果单击其中一个链接,则会将其删除。在删除后的情况下,整个列表将再次呈现。

有很多问题,但是如果删除了具有焦点的元素,那么一般是在何处设置焦点?

如果需要焦点设置在哪里删除第二个列表元素或删除所有元素?

在这种情况下,网络可访问的解决方案是什么?是否可以将焦点始终设置在列表中的第一个项目上,但是如果删除所有项目以将焦点设置为下一个(输入)或前一个元素?

在IE中,焦点将被重置,它将从页面的开头开始。

1 个答案:

答案 0 :(得分:2)

我在这里适用的一般原则是:

  1. 如果存在下一个元素,则将焦点放在下一个元素
  2. 否则,如果存在前一个元素,则将其放在前一个元素
  3. 否则,在有意义之前或之后将它放在某个元素上,没有,然后什么都不做
  4. 以下是Angular.js TodoMVC应用程序,我已经修改过这种方式(尽管你可能认为我在上面的#3上做得不够好)

    http://dylanb.github.io/todomvc/index.html#/

    以下是关于删除工作的博客文章

    http://unobfuscated.blogspot.com/2015/02/angularjs-accessibility-deleting-todo.html