aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorPatrick H. Lauke <[email protected]>2014-07-15 11:39:27 +0100
committerHeinrich Fenkart <[email protected]>2014-09-09 01:19:20 +0200
commitfb1ca10b99edc0f92eddd68b840f021da942afe9 (patch)
treeb4bbbbd2d9b2b4d1af3d34a9922b8e66ace4df6b /docs
parent9702579aeb3f0aeb677631782c2920d6cd804475 (diff)
downloadbootstrap-fb1ca10b99edc0f92eddd68b840f021da942afe9.tar.xz
bootstrap-fb1ca10b99edc0f92eddd68b840f021da942afe9.zip
ARIA support for collapse
Added handling of aria-expanded=true/false to collapse.js, updated documentation to include advice on making expand/collapse controls accessible, updated examples and javascript documentation to use aria-expanded and aria-controls (when targetting single collapsible element, using ID rather than class selector) Closes #14147. Closes #14153.
Diffstat (limited to 'docs')
-rw-r--r--docs/_includes/js/collapse.html23
-rw-r--r--docs/examples/carousel/index.html4
-rw-r--r--docs/examples/dashboard/index.html4
-rw-r--r--docs/examples/jumbotron/index.html4
-rw-r--r--docs/examples/navbar-fixed-top/index.html4
-rw-r--r--docs/examples/navbar-static-top/index.html4
-rw-r--r--docs/examples/navbar/index.html4
-rw-r--r--docs/examples/non-responsive/index.html4
-rw-r--r--docs/examples/offcanvas/index.html4
-rw-r--r--docs/examples/starter-template/index.html4
-rw-r--r--docs/examples/sticky-footer-navbar/index.html4
-rw-r--r--docs/examples/theme/index.html4
12 files changed, 36 insertions, 31 deletions
diff --git a/docs/_includes/js/collapse.html b/docs/_includes/js/collapse.html
index 4e7fb450a..5239256a6 100644
--- a/docs/_includes/js/collapse.html
+++ b/docs/_includes/js/collapse.html
@@ -17,7 +17,7 @@
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
- <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
+ <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Collapsible Group Item #1
</a>
</h4>
@@ -31,7 +31,7 @@
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
- <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
+ <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
Collapsible Group Item #2
</a>
</h4>
@@ -45,7 +45,7 @@
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
- <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
+ <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
Collapsible Group Item #3
</a>
</h4>
@@ -63,7 +63,7 @@
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
- <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
+ <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Collapsible Group Item #1
</a>
</h4>
@@ -77,7 +77,7 @@
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
- <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
+ <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
Collapsible Group Item #2
</a>
</h4>
@@ -91,7 +91,7 @@
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
- <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
+ <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
Collapsible Group Item #3
</a>
</h4>
@@ -107,13 +107,18 @@
<p>You can also use the plugin without the accordion markup. Make a button toggle the expanding and collapsing of another element.</p>
{% highlight html %}
-<button type="button" class="btn btn-danger" data-toggle="collapse" data-target="#demo">
+<button type="button" class="btn btn-danger" data-toggle="collapse" data-target="#demo" aria-expanded="true" aria-controls="demo">
simple collapsible
</button>
<div id="demo" class="collapse in">...</div>
{% endhighlight %}
+ <div class="bs-callout bs-callout-warning">
+ <h4>Make expand/collapse controls accessible</h4>
+ <p>Be sure to add <code>aria-expanded</code> to the control element. This attribute explicitly defines the current state of the collapsible element to screen readers and similar assistive technologies. If the collapsible element is closed by default, it should have a value of <code>aria-expanded="false"</code>. If you've set the collapsible element to be open by default using the <code>in</code> class, set <code>aria-expanded="true"</code> on the control instead. The plugin will automatically toggle this attribute based on whether or not the collapsible element has been opened or closed.</p>
+ <p>Additionally, if your control element is targetting a single collapsible element – i.e. the <code>data-target</code> attribute is pointing to an <code>id</code> selector – you may add an additional <code>aria-controls</code> attribute to the control element, containing the <code>id</code> of the collapsible element. Modern screen readers and similar assistive technologies make use of this attribute to provide users with additional shortcuts to navigate directly to the collapsible element itself.</p>
+ </div>
<h2 id="collapse-usage">Usage</h2>
<p>The collapse plugin utilizes a few classes to handle the heavy lifting:</p>
@@ -125,7 +130,7 @@
<p>These classes can be found in <code>component-animations.less</code>.</p>
<h3>Via data attributes</h3>
- <p>Just add <code>data-toggle="collapse"</code> and a <code>data-target</code> to element to automatically assign control of a collapsible element. The <code>data-target</code> attribute accepts a CSS selector to apply the collapse to. Be sure to add the class <code>collapse</code> to the collapsible element. If you'd like it to default open, add the additional class <code>in</code>.</p>
+ <p>Just add <code>data-toggle="collapse"</code> and a <code>data-target</code> to the element to automatically assign control of a collapsible element. The <code>data-target</code> attribute accepts a CSS selector to apply the collapse to. Be sure to add the class <code>collapse</code> to the collapsible element. If you'd like it to default open, add the additional class <code>in</code>.</p>
<p>To add accordion-like group management to a collapsible control, add the data attribute <code>data-parent="#selector"</code>. Refer to the demo to see this in action.</p>
<h3>Via JavaScript</h3>
@@ -151,7 +156,7 @@ $('.collapse').collapse()
<td>parent</td>
<td>selector</td>
<td>false</td>
- <td>If selector then all collapsible elements under the specified parent will be closed when this collapsible item is shown. (similar to traditional accordion behavior - this dependent on the <code>panel</code> class)</td>
+ <td>If a selector is provided, then all collapsible elements under the specified parent will be closed when this collapsible item is shown. (similar to traditional accordion behavior - this is dependent on the <code>panel</code> class)</td>
</tr>
<tr>
<td>toggle</td>
diff --git a/docs/examples/carousel/index.html b/docs/examples/carousel/index.html
index 193a92657..3b185dcd9 100644
--- a/docs/examples/carousel/index.html
+++ b/docs/examples/carousel/index.html
@@ -35,7 +35,7 @@
<nav class="navbar navbar-inverse navbar-static-top" role="navigation">
<div class="container">
<div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
@@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
- <div class="navbar-collapse collapse">
+ <div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
diff --git a/docs/examples/dashboard/index.html b/docs/examples/dashboard/index.html
index 6554d329b..f69735da1 100644
--- a/docs/examples/dashboard/index.html
+++ b/docs/examples/dashboard/index.html
@@ -32,7 +32,7 @@
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
@@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
- <div class="navbar-collapse collapse">
+ <div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="#">Dashboard</a></li>
<li><a href="#">Settings</a></li>
diff --git a/docs/examples/jumbotron/index.html b/docs/examples/jumbotron/index.html
index 084dcfba1..81b8bfc49 100644
--- a/docs/examples/jumbotron/index.html
+++ b/docs/examples/jumbotron/index.html
@@ -32,7 +32,7 @@
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
@@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
- <div class="navbar-collapse collapse">
+ <div id="navbar" class="navbar-collapse collapse">
<form class="navbar-form navbar-right" role="form">
<div class="form-group">
<input type="text" placeholder="Email" class="form-control">
diff --git a/docs/examples/navbar-fixed-top/index.html b/docs/examples/navbar-fixed-top/index.html
index 9d6fc3da3..09022528c 100644
--- a/docs/examples/navbar-fixed-top/index.html
+++ b/docs/examples/navbar-fixed-top/index.html
@@ -33,7 +33,7 @@
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
@@ -41,7 +41,7 @@
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
- <div class="navbar-collapse collapse">
+ <div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
diff --git a/docs/examples/navbar-static-top/index.html b/docs/examples/navbar-static-top/index.html
index 7bf0612a4..77eba75ed 100644
--- a/docs/examples/navbar-static-top/index.html
+++ b/docs/examples/navbar-static-top/index.html
@@ -33,7 +33,7 @@
<nav class="navbar navbar-default navbar-static-top" role="navigation">
<div class="container">
<div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
@@ -41,7 +41,7 @@
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
- <div class="navbar-collapse collapse">
+ <div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
diff --git a/docs/examples/navbar/index.html b/docs/examples/navbar/index.html
index 18602664d..77e4c50cf 100644
--- a/docs/examples/navbar/index.html
+++ b/docs/examples/navbar/index.html
@@ -35,7 +35,7 @@
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
@@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
- <div class="navbar-collapse collapse">
+ <div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
diff --git a/docs/examples/non-responsive/index.html b/docs/examples/non-responsive/index.html
index 9438a4079..dd9519256 100644
--- a/docs/examples/non-responsive/index.html
+++ b/docs/examples/non-responsive/index.html
@@ -35,7 +35,7 @@
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
@@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
- <div class="navbar-collapse collapse">
+ <div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
diff --git a/docs/examples/offcanvas/index.html b/docs/examples/offcanvas/index.html
index aaf875ba2..74d249d95 100644
--- a/docs/examples/offcanvas/index.html
+++ b/docs/examples/offcanvas/index.html
@@ -31,7 +31,7 @@
<nav class="navbar navbar-fixed-top navbar-inverse" role="navigation">
<div class="container">
<div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
@@ -39,7 +39,7 @@
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
- <div class="collapse navbar-collapse">
+ <div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
diff --git a/docs/examples/starter-template/index.html b/docs/examples/starter-template/index.html
index 11b6c8c7b..ec4deb391 100644
--- a/docs/examples/starter-template/index.html
+++ b/docs/examples/starter-template/index.html
@@ -32,7 +32,7 @@
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
@@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
- <div class="collapse navbar-collapse">
+ <div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
diff --git a/docs/examples/sticky-footer-navbar/index.html b/docs/examples/sticky-footer-navbar/index.html
index 5633ca21f..2e596ccd2 100644
--- a/docs/examples/sticky-footer-navbar/index.html
+++ b/docs/examples/sticky-footer-navbar/index.html
@@ -33,7 +33,7 @@
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
@@ -41,7 +41,7 @@
</button>
<a class="navbar-brand" href="#">Project name</a>
</div>
- <div class="collapse navbar-collapse">
+ <div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
diff --git a/docs/examples/theme/index.html b/docs/examples/theme/index.html
index 8e8c72a1d..16f4fa3e3 100644
--- a/docs/examples/theme/index.html
+++ b/docs/examples/theme/index.html
@@ -35,7 +35,7 @@
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
- <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse">
+ <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
@@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="#">Bootstrap theme</a>
</div>
- <div class="navbar-collapse collapse">
+ <div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#about">About</a></li>