javascript - 将 Web 可访问性添加到 Twitter bootstrap Accordion

标签 javascript jquery twitter-bootstrap wai-aria

我试图将键盘导航添加到 Twitter Bootstrap Accordion 以启用 Web 可访问性,类似于 http://hanshillen.github.io/jqtest/#goto_accordion .

我无法执行以下操作:

  1. 一旦焦点放在 Accordion 选项卡上,我就不能只是导航 Accordion 标题。当我点击标签时,它会导航所有内部链接 在组中,然后转到下一个标题。
  2. 我无法使用向上/向下箭头键
  3. 在最后一个 Accordion 标题选项卡之后,焦点移到 Accordion 。

Link to page

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Getting Started</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">

</head>

<body>
<div class="row-fluid" id="main">
<div class="container">
  <div class="row-fluid">
    <div class="gutter10">
      <div class="row-fluid">
        <div class="span3" id="sidebar">
          <div class="selections">
            <h4 class="graydrkbg">Hello</h4>
          </div>
        </div>
        <!--sidebar-->
        <div class="span9" id="rightpanel">
            <div class="gutter10">
                <div class="accordion" id="accordion2">
                    <div class="accordion-group">
                        <div class="accordion-heading">
                            <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
                                Collapsible Group Item #1
                            </a>
                        </div>
                        <div id="collapseOne" class="accordion-body collapse in">
                            <div class="accordion-inner">
                                <p>
                                    <a href="http://en.wikipedia.org/wiki/Dogs" class="">More information about Dogs on Wikipedia</a>
                                </p>
                            </div>
                        </div>
                    </div>
                    <div class="accordion-group">
                        <div class="accordion-heading">
                            <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
                                Collapsible Group Item #2
                            </a>
                        </div>
                        <div id="collapseTwo" class="accordion-body collapse">
                            <div class="accordion-inner">
                                <p>Anim pariatur cliche...</p>
                                <p>
                                    <a href="http://en.wikipedia.org/wiki/Dogs" class="">More information about Dogs on Wikipedia</a>
                                </p>
                            </div>
                        </div>
                    </div>
                </div>
            </div><!--gutter10--> 
        </div><!--rightpanel--> 
      </div><!--row-fluid-->
    </div><!--gutter10-->
    <!--container--> 
</div><!--main--> 


<!--footer-->
<script src="../js/jquery-1.7.2.min.js" type="text/javascript"></script> 
<script src="../js/bootstrap.js" type="text/javascript"></script> 
</body>
</html>

最佳答案

因此,由于缺乏更好的解决方案,我将要做的是:

.collapse 我将添加一个 display:none; 这将对有视力的用户和屏幕阅读器隐藏它。然后到 .in 我将添加 display:block;,这将使它再次对两者可见。因此,它会在关闭时跳过 Tab 顺序中的内容,并在打开时将其添加回来。

所以:

    .collapse {
       display:none;
    }

    .in{
       display:block;
    }

我还没有在屏幕阅读器上测试过,但我认为它应该适用于向下箭头返回阅读文本。如果没有我会更新。

关于javascript - 将 Web 可访问性添加到 Twitter bootstrap Accordion ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16429840/

相关文章:

javascript - 如何使用 JQuery 追加 ajax 成功响应后聚焦到 div

twitter-bootstrap - Twitter bootstrap - 如何删除子类中的渐变混合

javascript - CefSharp 在任何文档加载/处理之前注入(inject) Javascript

javascript - 如何使用 javascript 更改所有链接

javascript - Ember 2.4 - 让当前用户使用服务并在登录后进行简单的身份验证

javascript - 数组中具有两个值的数组索引,例如[["val1", "val2"],...]

javascript - 如何在 java 脚本中停止鼠标悬停幻灯片放映(幻灯片放映应在鼠标移开后照常开始)

javascript - 如何使 `do while` 循环(它的停止条件)取决于 AJAX 调用的回调?

css - 在 bootstrap 网格中使用边距和填充

html - 使用 Bootstrap 为不同的屏幕设置列类