One of the least known features of HTML is the accesskey attribute for links and forms, which allows the web designer to define keyboard shortcuts for frequently-used links or form fields. On Windows, you can press ALT + an access key; on Macintosh, you can press Control + an access key. If the access key is defined on a link, your browser will follow the link; if defined on a form field, your browser will set focus on that field. Internet Explorer has supported access keys since version 4, Netscape since version 6. Older browsers simply ignore them, with no harmful effect.
While there are no standards for which keys should be assigned to which features, here are some commonly-used keyboard shortcuts:
accesskey, it announces the access key as well. For example, the link <a href="/" accesskey="1">Home page</a> would be read by JAWS as “link: Home page, ALT + 1″. Jackie can focus on the link by pressing ALT+1, then follow it by pressing ENTER.accesskey="1". (Note: Mozilla does not announce access keys, which raises the question of how Bill would discover what they are. We will discuss this in a future tip.)Movable Type: The default template does not have a link to the home page, so you should make your site name into a link, and give it an accesskey. Search your template for <$MTBlogName$>, and change it to this:
<a href="<$MTBlogURL$>" style="color:black; text-decoration:none" accesskey="1"><$MTBlogName$></a>
Radio: search your template for {siteName}. It will probably be in a link, something like this:
<a href="<%radio.macros.weblogUrl ()%>" style="color:black; text-decoration:none"><%siteName%></a>
Simply add an accesskey attribute to the link, like this:
<a href="<%radio.macros.weblogUrl ()%>" style="color:black; text-decoration:none" accesskey="1"><%siteName%></a>
Blogger: search your template for <$BlogTitle$>. If it’s enclosed in an <a> tag, add the accesskey="1" attribute to the <a> tag, like the above Radio example. If your <$BlogTitle$> is not enclosed in an <a> tag, enclose it in one like this (insert your own home page address):
<a href="http://address/of/your/home/page" style="color:black; text-decoration:none" accesskey="1"><$BlogTitle$></a>
Do you have a link to skip over your navigation bar? If so, give it an accesskey="2".
<a class="skiplink" href="#startcontent" accesskey="2">Skip over navigation</a>
Do you have a link to a feedback form, or a link to your email address? If so, give it an accesskey="9".
<a href="mailto:me@mydomain.com" accesskey="9">Email me</a>
Note: Radio weblogs generally have a link to a feedback form (the little envelope icon), but the link is generated by a macro, so you will not be able to add an accesskey to it.
accesskey in HTML forms and links. Explains why all my suggested accesskey codes are numbers, instead of letters.accesskey on the Web Accessibility Forum Mailing List.§
I am no longer accepting public comments on this post, but you can use this form to contact me privately. (Your message will not be published.)
§
© 2001–present Mark Pilgrim