A page should make sense and work when read linearly, by the HTML source order. In particular, this means the following:
As an example of a construct that does not linearize well, consider a set of links organized as a two-column table, as in the following:
When read in a linear way, by rows, the links appear in a chaotic order: dog, birch, cat,… Although the structure might be obvious visually, it is confusing when linearized. Technically, you could make it linearize well by using two one-column tables, placed into a 1 by 2 table.
Thus, a division of the page content to two or more columns does not necessarily prevent linearizability. On the other hand, if it does, a fix usually requires a major redesign of the page structure. Therefore, it is important to avoid the problem by using appropriate design methods, if you use tables for layout. Similar issues arise when doing layout with CSS positioning.
There are two approaches to creating “skip
navigation” links. The first is based on using a simple textual link:
<a href="#start">skip navigation</a>. (Using
“skip to content” or even “content” might be more
logical as the link text, but “skip navigation” is widely used.)
The other approach is based on the idea that the link should be invisible in
normal graphic browsing, so one uses an invisible image (single-pixel
transparent GIF image, say transp.gif):
src="transp.gif" width="1" height="1"
alt="skip navigation" border="0"></a>. In both
approaches, you would naturally need to define “start” as a
destination anchor, e.g. in the main heading of the content:
If there is only a small number of navigational links at the start of a page, a “skip navigation” link is usually not needed. “Small” might be read as “less than six or seven” here.