aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorPatrick H. Lauke <[email protected]>2015-02-04 15:38:17 +0000
committerPatrick H. Lauke <[email protected]>2015-02-04 15:38:17 +0000
commit27677fab5b704d8c61c4561dd7dd55d54fbcc8f2 (patch)
tree1bd14c7686fee9a7fd429d05c81fb08f57129f60 /docs
parent0e40c818d9e27d35034b7872ac34d2fa5a886734 (diff)
parent214516da16c99c7118b29ecef3bdf10f977d4e29 (diff)
downloadbootstrap-27677fab5b704d8c61c4561dd7dd55d54fbcc8f2.tar.xz
bootstrap-27677fab5b704d8c61c4561dd7dd55d54fbcc8f2.zip
Merge pull request #15714 from patrickhlauke/skip-link-fixes
Skip link workarounds for Chrome and IE
Diffstat (limited to 'docs')
-rw-r--r--docs/_includes/getting-started/accessibility.html9
-rw-r--r--docs/_layouts/default.html2
-rw-r--r--docs/assets/css/src/docs.css5
-rw-r--r--docs/index.html2
4 files changed, 14 insertions, 4 deletions
diff --git a/docs/_includes/getting-started/accessibility.html b/docs/_includes/getting-started/accessibility.html
index cbb528dce..d43695ad3 100644
--- a/docs/_includes/getting-started/accessibility.html
+++ b/docs/_includes/getting-started/accessibility.html
@@ -3,12 +3,17 @@
<p class="lead">Bootstrap follows common web standards and&mdash;with minimal extra effort&mdash;can be used to create sites that are accessible to those using <abbr title="Assistive Technology" class="initialism">AT</abbr>.</p>
<h3>Skip navigation</h3>
- <p>If your navigation contains many links and comes before the main content in the DOM, add a <code>Skip to main content</code> link before the navigation <a href="http://a11yproject.com/posts/skip-nav-links/">(read why)</a>. Using the <code>.sr-only</code> class will visually hide the skip link, and the <code>.sr-only-focusable</code> class will ensure that the link becomes visible once focused (for sighted keyboard users).</p>
+ <p>If your navigation contains many links and comes before the main content in the DOM, add a <code>Skip to main content</code> link before the navigation (for a simple explanation, see this <a href="http://a11yproject.com/posts/skip-nav-links/">A11Y Project article on skip navigation links</a>). Using the <code>.sr-only</code> class will visually hide the skip link, and the <code>.sr-only-focusable</code> class will ensure that the link becomes visible once focused (for sighted keyboard users).</p>
+ <div class="bs-callout bs-callout-danger" id="callout-tables-striped-ie8">
+ <p>Due to long-standing shortcomings/bugs in Chrome (see <a href="https://code.google.com/p/hromium/issues/detail?id=262171" title="Chromium bug tracker - Issue 262171: Focus should cycle from named anchor">issue 262171 in the Chromium bug tracker</a>) and Internet Explorer (see this article on <a href="http://accessibleculture.org/articles/2010/05/in-page-links/">in-page links and focus order</a>), you will need to make sure that the target of your skip link is at least programmatically focusable by adding <code>tabindex="-1"</code>.</p>
+ <p>In addition, you may want to explicitly suppress a visible focus indication on the target (particularly as Chrome currently also sets focus on elements with <code>tabindex="-1"</code> when they are clicked with the mouse) with <code>#content:focus { outline: none; }</code>.</p>
+ <p>Note that this bug will also affect any other in-page links your site may be using, rendering them useless for keyboard users. You may consider adding a similar stop-gap fix to all other named anchors / fragment identifiers that act as link targets.</p>
+ </div>
{% highlight html %}
<body>
<a href="#content" class="sr-only sr-only-focusable">Skip to main content</a>
...
- <div class="container" id="content">
+ <div class="container" id="content" tabindex="-1">
<!-- The main page content -->
</div>
</body>
diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html
index ea69962ee..f090bb100 100644
--- a/docs/_layouts/default.html
+++ b/docs/_layouts/default.html
@@ -11,7 +11,7 @@
{% include nav/main.html %}
<!-- Docs page layout -->
- <div class="bs-docs-header" id="content">
+ <div class="bs-docs-header" id="content" tabindex="-1">
<div class="container">
<h1>{{ page.title }}</h1>
<p>{{ page.lead }}</p>
diff --git a/docs/assets/css/src/docs.css b/docs/assets/css/src/docs.css
index c129c965b..3c88d4865 100644
--- a/docs/assets/css/src/docs.css
+++ b/docs/assets/css/src/docs.css
@@ -93,6 +93,7 @@ body {
* Fancy skip link
*
* Make it look a bit less "bare bones"
+ * Also includes focus suppression for the Chrome tabindex="-1" workaround
*/
#skippy {
@@ -108,6 +109,10 @@ body {
outline: 1px dotted;
}
+#content:focus {
+ outline: none;
+}
+
/*
* Main navigation
diff --git a/docs/index.html b/docs/index.html
index e2539a8d9..e2e91a79e 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -4,7 +4,7 @@ title: Bootstrap &middot; The world's most popular mobile-first and responsive f
---
-<main class="bs-docs-masthead" id="content" role="main">
+<main class="bs-docs-masthead" id="content" role="main" tabindex="-1">
<div class="container">
<span class="bs-docs-booticon bs-docs-booticon-lg bs-docs-booticon-outline">B</span>
<p class="lead">Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web.</p>