Users who do not or cannot use pointing devices can tab through links and, as such, links should be in a logical tabbing order. The
tabindex attribute allows you to define this order although if the HTML is linear, as it should be, a logical tabbing order should automatically fall into place.
<ul> <li><a href="here.html" tabindex="1">Here</a></li> <li><a href="there.html" tabindex="3">There</a></li> <li><a href="limbo.html" tabindex="2">Limbo</a></li> </ul>
In this example (which is used purely as a demonstration - it would be quite dumb, practically speaking), tabbing would jump from “Here” to “Limbo” to “There”.
If you have a link that isn’t self-descriptive, or the link destination could benefit from being explained in more detail, you can add information to a link using the
<p>I'm really bad at writing link text. <a href="inept.html" title="Why I'm rubbish at writing link text: An explanation and an apology.">Click here</a> to find out more.</p>
Access keys allow easier navigation by assigning a keyboard shortcut to a link (which will usually gain focus when the user presses “Alt” or “Ctrl” + the access key).
<a href="somepage.html" accesskey="s">Some page</a>
To aid tabbing, you can supply links that allow users to jump over chunks of your web page. You might want to allow someone to jump over a plethora of navigation links, for example, so they can just read a page’s main content rather than cycle through all of the links:
<header> <h1>The Heading</h1> <a href="#content">Skip to content</a> </header> <nav> <!--loads of navigation stuff --> </nav> <section id="content"> <!--lovely content --> </section>