* Adds new "theme" example
* Adds new theme.less file to provide all the overrides and additional
styles for the theme
* theme.less compiles, via Grunt, to two new files to `dist/css`,
bootstrap-theme.css and bootstrap-theme.min.css
This PR significantly improves Bootstrap's accessibility for users of assistive technology, such as screen readers. Some of the these changes add additional markup to the source examples, but we believe that the sacrifice in readability is worth achieving more widespread usage of accessibility best-practices.
What was done
- Added lots of [WAI-ARIA attributes](http://www.w3.org/WAI/intro/aria)
- Added `.sr-only` helper class, that is only readable by screen readers (and invisible for all other users). This lets us - make progress bars and paginations accessible to screen reading users.
- Advised users to always use label elements. For inline forms, they can hide them with `.sr-only`
- Added 'Skip navigation' link
- Added "Accessibility" section to getting-started.html.
What *wasn't* done
- Contrast issues (twbs#3572)
- Tooltips (twbs#8469)
- Documentation re: usage of icons, since they now live in a separate repo
Major props to all that contributed: @bensheldon, @jasonlally, @criscristina, and @louh. Feel free to chime in, guys, if I've left anything out.
The Getting-Started page only lists the actual instructions for respond.js (its purpose and source) *after* listing a piece of example HTML code for the user to copy and paste. It would probably be more clear if that piece of HTML code actually lists where the user can obtain respond.js. Otherwise the user has to scroll down and read 1 specific line on the rest of the page (under the 'IE 8 and 9' compatibility section), in order to know that respond.js can be obtained from a GitHub page (and that it is in fact NOT part of the downloadable Bootstrap file that's provided earlier on the page, even though the use of response.js in the example HTML code seems to suggest that it *is* part of the Bootstrap download).
It's a minor issue but this fix should make it just a little bit more clear to a user how the example HTML code works (lest they copy/paste it and find out the browser can't find respond.js).