嵌套元素的WCAG可访问性问题

时间:2016-04-05 12:03:37

标签: html css focus accessibility wcag

我的网格中有几个方框(<div>)。每个框都有一个列表,其中包含几个/几个链接(带有ul li元素的简单<a>列表)。此链接列表是隐藏的,仅在悬停时显示。

它工作得很好,但我有可访问性问题,即我无法使用&#34; tab&#34;进入任何列表元素。 key(框<div>工作正常,它获得焦点,所以列表显示),它只是跳到下一个框元素。我尝试在每个框中添加tabindex并在内部添加每个列表元素,但似乎这不是解决方案。

是否有任何CSS / HTML解决方案?我当然可以编写简单的JS,它将检查焦点在哪里以及焦点是否具有焦点选项的父节点,但我想尽可能避免使用它。

1 个答案:

答案 0 :(得分:1)

  • 你是如何隐藏链接列表的?使用display: none或使用visibility: hidden。 (并且您只将它应用于列表元素或div:?从您的描述中,我猜它仅适用于列表元素。)使用display: none隐藏的内容不能通过键盘访问。
  • 为了使列表显示在悬停状态,您使用的是JavaScript事件处理程序还是CSS?如果您使用的是JavaScript,则可能需要添加一个响应键盘事件的事件监听器(例如onfocus),但如上所述,隐藏display: none的内容不会获得焦点。在CSS中,我总是建议在使用:focus时添加:hover伪类(除非你想要这些东西的不同样式)。
  • 您可能需要编写一些JavaScript,以便在父div获得焦点时切换列表的可见性。 (如果tabindex元素上有div,正如您所说,它们应该已经能够获得焦点。)