From: Patrick H. Lauke Date: Sat, 31 Jan 2015 11:19:19 +0000 (+0000) Subject: Skip link workarounds for Chrome and IE X-Git-Tag: v3.3.4~143^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c0892d14709736be72b0eb3ba6ad1718019e88e0;p=thirdparty%2Fbootstrap.git Skip link workarounds for Chrome and IE Add tabindex="-1" to main #content to work around bug in Chrome (and old WebKits) and IE Update advice in accessibility section Include patch in docs CSS to suppress outline when #content is focused (particularly as Chrome sets focus as result of mouse click for tabindex="-1" elements) --- diff --git a/docs/_includes/getting-started/accessibility.html b/docs/_includes/getting-started/accessibility.html index cbb528dce2..a83acb2e36 100644 --- a/docs/_includes/getting-started/accessibility.html +++ b/docs/_includes/getting-started/accessibility.html @@ -4,11 +4,16 @@

Skip navigation

If your navigation contains many links and comes before the main content in the DOM, add a Skip to main content link before the navigation (read why). Using the .sr-only class will visually hide the skip link, and the .sr-only-focusable class will ensure that the link becomes visible once focused (for sighted keyboard users).

+
+

Due to a long-standing bug in Chrome and Internet Explorer, you will need to make sure that the target of your skip link is at least programmatically focusable by adding tabindex="-1".

+

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 tabindex="-1" when they are clicked with the mouse) with #content:focus { outline: none; }.

+

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.

+
{% highlight html %} Skip to main content ... -
+
diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html index ea69962ee3..f090bb1001 100644 --- a/docs/_layouts/default.html +++ b/docs/_layouts/default.html @@ -11,7 +11,7 @@ {% include nav/main.html %} -
+

{{ page.title }}

{{ page.lead }}

diff --git a/docs/assets/css/src/docs.css b/docs/assets/css/src/docs.css index c129c965b1..3c88d4865f 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 e2539a8d90..e2e91a79e1 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 --- -
+
B

Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web.