The polyfill for a more accessible HTML5.
While most browsers work all right with the new semantic elements of HTML5, they don’t add the ARIA accessibility attributes that the specification demands. This small JavaScript adds those attributes to enhance accessibility of web sites.
Just link to the accessifyhtml5.js
file and call the AccessifyHTML5-Function at the bottom of your page right before the closing </body>
tag:
<script src="https://github.com/yatil/accessifyhtml5.js/raw/master/accessifyhtml5.js"></script>
<script>AccessifyHTML5();</script>
There are some options you’re able to specify as they can be on each web page only once.
header
: A CSS selector that selects exactly one element on the page which will get the role banner
.footer
: A CSS selector that selects exactly one element on the page which will get the role contentinfo
.main
: A CSS selector that selects exactly one element on the page which will get the role main
.<script src="https://github.com/yatil/accessifyhtml5.js/raw/master/accessifyhtml5.js"></script>
<script>
AccessifyHTML5({
header:"body>header",
footer:"body>footer",
main: "#main"
});
</script>
Important: From today on, 2013-03-27, the jQuery version of accessifyhtml5.js is deprecated. Use the vanilla JS version instead. (You can just replace the jQuery version with the non-jQuery JS file.)
<script src="https://github.com/yatil/accessifyhtml5.js/raw/master/accessifyhtml5.jquery.js"></script>
<script>AccessifyHTML5();</script>
I’ve created a small CDN that should serve the JS file quite fast. I recommend to use the code here and copy it to the bottom of your project’s HTML file. Code:
<script src="https://github.com/yatil/accessifyhtml5.js/raw/master//yatil-cdn.s3.amazonaws.com/accessifyhtml5.min.js"></script>
<script>AccessifyHTML5();</script>
<main>
element as specified by the W3C. If you specify your own element for the main
role, I reset the main
role for the <main>
element. (There can’t be more than one element with the role main
.)main
parameter (as requested by @yellowled).AccessifyHTML5({header:"#header", footer:"#footer"});
This project is MIT licensed.