diff --git a/docs/_includes/getting-started/accessibility.html b/docs/_includes/getting-started/accessibility.html index cbb528dce2863cb0efb4bcdab69d9a7ed074d49c..a83acb2e36a35d3fa08ee4e5a6c757f9b71d2e17 100644 --- a/docs/_includes/getting-started/accessibility.html +++ b/docs/_includes/getting-started/accessibility.html @@ -4,11 +4,16 @@ <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> + <div class="bs-callout bs-callout-danger" id="callout-tables-striped-ie8"> + <p>Due to a long-standing <a href="https://code.google.com/p/chromium/issues/detail?id=262171" title="Chromium bug tracker - Issue 262171: Focus should cycle from named anchor">bug in Chrome</a> and Internet Explorer, 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 ea69962ee3169978bfaa0ec0c3ea4a4165491130..f090bb100181b7a33f73d9a075270f7ce931bbab 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 c129c965b15452e152ab60d8a91f7b2c68c289b9..3c88d4865fc01cbe9ef84b3eef1e912e60fc7058 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 e2539a8d900da8213ccde6adb0cf9fa4df556a4c..e2e91a79e1d15e9474d8ab175ae24b7c4fba4c66 100644 --- a/docs/index.html +++ b/docs/index.html @@ -4,7 +4,7 @@ title: Bootstrap · 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>