Commit 0862d141 authored by Steven Black's avatar Steven Black Committed by XhmikosR

Accessibility and headings hierarchy for the "Getting started" page.

Closes #15946 by merging it.
parent 45788507
......@@ -2,7 +2,7 @@
<h1 id="accessibility" class="page-header">Accessibility</h1>
<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>
<h2>Skip navigation</h2>
<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-skiplinks">
<p>Due to long-standing shortcomings/bugs in Chrome (see <a href="https://code.google.com/p/chromium/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>
......@@ -19,14 +19,14 @@
</body>
{% endhighlight %}
<h3>Nested headings</h3>
<h2>Nested headings</h2>
<p>When nesting headings (<code>&lt;h1&gt;</code> - <code>&lt;h6&gt;</code>), your primary document header should be an <code>&lt;h1&gt;</code>. Subsequent headings should make logical use of <code>&lt;h2&gt;</code> - <code>&lt;h6&gt;</code> such that screen readers can construct a table of contents for your pages.</p>
<p>Learn more at <a href="http://squizlabs.github.io/HTML_CodeSniffer/Standards/Section508/">HTML CodeSniffer</a> and <a href="http://accessibility.psu.edu/headings">Penn State's AccessAbility</a>.</p>
<h3>Color contrast</h3>
<h2>Color contrast</h2>
<p>Currently, some of the default color combinations available in Bootstrap (such as the various <a href="../css/#buttons">styled button</a> classes, some of the code highlighting colors used for <a href="../css/#code-block">basic code blocks</a>, the <code>.bg-primary</code> <a href="../css/#helper-classes-backgrounds">contextual background</a> helper class, and the default link color when used on a white background) have a low contrast ratio (below the <a href="http://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast">recommended ratio of 4.5:1</a>). This can cause problems to users with low vision or who are color blind. These default colors may need to be modified to increase their contrast and legibility.</p>
<h3>Additional resources</h3>
<h2>Additional resources</h2>
<ul>
<li><a href="https://github.com/squizlabs/HTML_CodeSniffer">"HTML Codesniffer" bookmarklet for identifying accessibility issues</a></li>
<li><a href="https://chrome.google.com/webstore/detail/accessibility-developer-t/fpkknkljclfencbdbgkenhalefipecmb?hl=en">Chrome's Accessibility Developer Tools extension</a></li>
......
......@@ -4,7 +4,7 @@
<p class="lead">Bootstrap automatically adapts your pages for various screen sizes.
Here's how to disable this feature so your page works like <a href="../examples/non-responsive/">this non-responsive example</a>.</p>
<h3>Steps to disable page responsiveness</h3>
<h2>Steps to disable page responsiveness</h2>
<ol>
<li>Omit the viewport <code>&lt;meta&gt;</code> mentioned in <a href="../css/#overview-mobile">the CSS docs</a></li>
<li>Override the <code>width</code> on the <code>.container</code> for each grid tier with a single width, for example <code>width: 970px !important;</code> Be sure that this comes after the default Bootstrap CSS. You can optionally avoid the <code>!important</code> with media queries or some selector-fu.</li>
......@@ -14,7 +14,7 @@
<p>You'll still need Respond.js for IE8 (since our media queries are still there and need to be processed).
This disables the "mobile site" aspects of Bootstrap.</p>
<h3>Bootstrap template with responsiveness disabled</h3>
<h2>Bootstrap template with responsiveness disabled</h2>
<p>We've applied these steps to an example. Read its source code to see the specific changes implemented.</p>
<p>
<a href="../examples/non-responsive/" class="btn btn-primary">View non-responsive example</a>
......
......@@ -27,7 +27,7 @@
</div>
</div>
<h3 id="download-cdn">Bootstrap CDN</h3>
<h2 id="download-cdn">Bootstrap CDN</h2>
<p>The folks over at <a href="http://www.maxcdn.com/">MaxCDN</a> graciously provide CDN support for Bootstrap's CSS and JavaScript. Just use these <a href="http://www.bootstrapcdn.com/">Bootstrap CDN</a> links.</p>
{% highlight html %}
<!-- Latest compiled and minified CSS -->
......@@ -40,11 +40,11 @@
<script src="{{ site.cdn.js }}"></script>
{% endhighlight %}
<h3 id="download-bower">Install with Bower</h3>
<h2 id="download-bower">Install with Bower</h2>
<p>You can also install and manage Bootstrap's Less, CSS, JavaScript, and fonts using <a href="http://bower.io">Bower</a>:</p>
{% highlight bash %}$ bower install bootstrap{% endhighlight %}
<h3 id="download-npm">Install with npm</h3>
<h2 id="download-npm">Install with npm</h2>
<p>You can also install Bootstrap using <a href="https://www.npmjs.com">npm</a>:</p>
{% highlight bash %}$ npm install bootstrap{% endhighlight %}
<p><code>require('bootstrap')</code> will load all of Bootstrap's jQuery plugins onto the jQuery object. The <code>bootstrap</code> module itself does not export anything. You can manually load Bootstrap's jQuery plugins individually by loading the <code>/js/*.js</code> files under the package's top-level directory.</p>
......@@ -54,6 +54,6 @@
<li><code>style</code> - path to Bootstrap's non-minified CSS that's been precompiled using the default settings (no customization)</li>
</ul>
<h3 id="download-autoprefixer">Autoprefixer required for Less/Sass</h3>
<h2 id="download-autoprefixer">Autoprefixer required for Less/Sass</h2>
<p>Bootstrap uses <a href="https://github.com/postcss/autoprefixer">Autoprefixer</a> to deal with <a href="http://webdesign.about.com/od/css/a/css-vendor-prefixes.htm">CSS vendor prefixes</a>. If you're compiling Bootstrap from its Less/Sass source and not using our Gruntfile, you'll need to integrate Autoprefixer into your build process yourself. If you're using precompiled Bootstrap or using our Gruntfile, you don't need to worry about this because Autoprefixer is already integrated into our Gruntfile.</p>
</div>
......@@ -3,20 +3,20 @@
<p class="lead">Build on the basic template above with Bootstrap's many components. We encourage you to customize and adapt Bootstrap to suit your individual project's needs.</p>
<h3 id="examples-framework">Using the framework</h3>
<h2 id="examples-framework">Using the framework</h2>
<div class="row bs-examples">
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/starter-template/">
<img src="../examples/screenshots/starter-template.jpg" alt="Starter template example">
</a>
<h4>Starter template</h4>
<h3>Starter template</h3>
<p>Nothing but the basics: compiled CSS and JavaScript along with a container.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/theme/">
<img src="../examples/screenshots/theme.jpg" alt="Bootstrap theme example">
</a>
<h4>Bootstrap theme</h4>
<h3>Bootstrap theme</h3>
<p>Load the optional Bootstrap theme for a visually enhanced experience.</p>
</div>
<div class="clearfix visible-xs"></div>
......@@ -25,14 +25,14 @@
<a class="thumbnail" href="../examples/grid/">
<img src="../examples/screenshots/grid.jpg" alt="Multiple grids example">
</a>
<h4>Grids</h4>
<h3>Grids</h3>
<p>Multiple examples of grid layouts with all four tiers, nesting, and more.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/jumbotron/">
<img src="../examples/screenshots/jumbotron.jpg" alt="Jumbotron example">
</a>
<h4>Jumbotron</h4>
<h3>Jumbotron</h3>
<p>Build around the jumbotron with a navbar and some basic grid columns.</p>
</div>
<div class="clearfix visible-xs"></div>
......@@ -41,25 +41,25 @@
<a class="thumbnail" href="../examples/jumbotron-narrow/">
<img src="../examples/screenshots/jumbotron-narrow.jpg" alt="Narrow jumbotron example">
</a>
<h4>Narrow jumbotron</h4>
<h3>Narrow jumbotron</h3>
<p>Build a more custom page by narrowing the default container and jumbotron.</p>
</div>
</div>
<h3 id="examples-navbars">Navbars in action</h3>
<h2 id="examples-navbars">Navbars in action</h2>
<div class="row bs-examples">
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/navbar/">
<img src="../examples/screenshots/navbar.jpg" alt="Navbar example">
</a>
<h4>Navbar</h4>
<h3>Navbar</h3>
<p>Super basic template that includes the navbar along with some additional content.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/navbar-static-top/">
<img src="../examples/screenshots/navbar-static.jpg" alt="Static top navbar example">
</a>
<h4>Static top navbar</h4>
<h3>Static top navbar</h3>
<p>Super basic template with a static top navbar along with some additional content.</p>
</div>
<div class="clearfix visible-xs"></div>
......@@ -68,25 +68,25 @@
<a class="thumbnail" href="../examples/navbar-fixed-top/">
<img src="../examples/screenshots/navbar-fixed.jpg" alt="Fixed navbar example">
</a>
<h4>Fixed navbar</h4>
<h3>Fixed navbar</h3>
<p>Super basic template with a fixed top navbar along with some additional content.</p>
</div>
</div>
<h3 id="examples-custom">Custom components</h3>
<h2 id="examples-custom">Custom components</h2>
<div class="row bs-examples">
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/cover/">
<img src="../examples/screenshots/cover.jpg" alt="A one-page template example">
</a>
<h4>Cover</h4>
<h3>Cover</h3>
<p>A one-page template for building simple and beautiful home pages.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/carousel/">
<img src="../examples/screenshots/carousel.jpg" alt="Carousel example">
</a>
<h4>Carousel</h4>
<h3>Carousel</h3>
<p>Customize the navbar and carousel, then add some new components.</p>
</div>
<div class="clearfix visible-xs"></div>
......@@ -95,14 +95,14 @@
<a class="thumbnail" href="../examples/blog/">
<img src="../examples/screenshots/blog.jpg" alt="Blog layout example">
</a>
<h4>Blog</h4>
<h3>Blog</h3>
<p>Simple two-column blog layout with custom navigation, header, and type.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/dashboard/">
<img src="../examples/screenshots/dashboard.jpg" alt="Dashboard example">
</a>
<h4>Dashboard</h4>
<h3>Dashboard</h3>
<p>Basic structure for an admin dashboard with fixed sidebar and navbar.</p>
</div>
<div class="clearfix visible-xs"></div>
......@@ -111,14 +111,14 @@
<a class="thumbnail" href="../examples/signin/">
<img src="../examples/screenshots/sign-in.jpg" alt="Sign-in page example">
</a>
<h4>Sign-in page</h4>
<h3>Sign-in page</h3>
<p>Custom form layout and design for a simple sign in form.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/justified-nav/">
<img src="../examples/screenshots/justified-nav.jpg" alt="Justified nav example">
</a>
<h4>Justified nav</h4>
<h3>Justified nav</h3>
<p>Create a custom navbar with justified links. Heads up! <a href="../components/#nav-justified">Not too Safari friendly.</a></p>
</div>
<div class="clearfix visible-xs"></div>
......@@ -127,32 +127,32 @@
<a class="thumbnail" href="../examples/sticky-footer/">
<img src="../examples/screenshots/sticky-footer.jpg" alt="Sticky footer example">
</a>
<h4>Sticky footer</h4>
<h3>Sticky footer</h3>
<p>Attach a footer to the bottom of the viewport when the content is shorter than it.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/sticky-footer-navbar/">
<img src="../examples/screenshots/sticky-footer-navbar.jpg" alt="Sticky footer with navbar example">
</a>
<h4>Sticky footer with navbar</h4>
<h3>Sticky footer with navbar</h3>
<p>Attach a footer to the bottom of the viewport with a fixed navbar at the top.</p>
</div>
</div>
<h3 id="examples-experiments">Experiments</h3>
<h2 id="examples-experiments">Experiments</h2>
<div class="row bs-examples">
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/non-responsive/">
<img src="../examples/screenshots/non-responsive.jpg" alt="Non-responsive example">
</a>
<h4>Non-responsive Bootstrap</h4>
<h3>Non-responsive Bootstrap</h3>
<p>Easily disable the responsiveness of Bootstrap <a href="#disable-responsive">per our docs</a>.</p>
</div>
<div class="col-xs-6 col-md-4">
<a class="thumbnail" href="../examples/offcanvas/">
<img src="../examples/screenshots/offcanvas.jpg" alt="Off-canvas navigation example">
</a>
<h4>Off-canvas</h4>
<h3>Off-canvas</h3>
<p>Build a toggleable off-canvas navigation menu for use with Bootstrap.</p>
</div>
</div>
......
......@@ -2,12 +2,12 @@
<h1 id="license-faqs" class="page-header">License FAQs</h1>
<p class="lead">Bootstrap is released under the MIT license and is copyright {{ site.time | date: "%Y" }} Twitter. Boiled down to smaller chunks, it can be described with the following conditions.</p>
<h4>It requires you to:</h4>
<h2>It requires you to:</h2>
<ul>
<li>Keep the license and copyright notice included in Bootstrap's CSS and JavaScript files when you use them in your works</li>
</ul>
<h4>It permits you to:</h4>
<h2>It permits you to:</h2>
<ul>
<li>Freely download and use Bootstrap, in whole or in part, for personal, private, company internal, or commercial purposes</li>
<li>Use Bootstrap in packages or distributions that you create</li>
......@@ -15,7 +15,7 @@
<li>Grant a sublicense to modify and distribute Bootstrap to third parties not included in the license</li>
</ul>
<h4>It forbids you to:</h4>
<h2>It forbids you to:</h2>
<ul>
<li>Hold the authors and license owners liable for damages as Bootstrap is provided without warranty</li>
<li>Hold the creators or copyright holders of Bootstrap liable</li>
......@@ -24,7 +24,7 @@
<li>Use any marks owned by Twitter in any way that might state or imply that you created the Twitter software in question</li>
</ul>
<h4>It does not require you to:</h4>
<h2>It does not require you to:</h2>
<ul>
<li>Include the source of Bootstrap itself, or of any modifications you may have made to it, in any redistribution you may assemble that includes it</li>
<li>Submit changes that you make to Bootstrap back to the Bootstrap project (though such feedback is encouraged)</li>
......
......@@ -2,7 +2,7 @@
<h1 id="third-parties" class="page-header">Third party support</h1>
<p class="lead">While we don't officially support any third party plugins or add-ons, we do offer some useful advice to help avoid potential issues in your projects.</p>
<h3 id="third-box-sizing">Box-sizing</h3>
<h2 id="third-box-sizing">Box-sizing</h2>
<p>Some third party software, including Google Maps and Google Custom Search Engine, conflict with Bootstrap due to <code>* { box-sizing: border-box; }</code>, a rule which makes it so <code>padding</code> does not affect the final computed width of an element. Learn more about <a href="http://css-tricks.com/box-sizing/">box model and sizing at CSS Tricks</a>.</p>
<p>Depending on the context, you may override as-needed (Option 1) or reset the box-sizing for entire regions (Option 2).</p>
{% highlight scss %}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment