Do we really need skip links, seriously?
Here is my paper submitted for the 28th Annual International Technology and Persons with Disabilities Conference, or CSUN Conference 2013. Unfortunately, the paper is still under consideration - which means, my submission MAY be accepted if additional session space become available. Now that there are less than 3 months till the conference, I guess I have no chance to give my presentation there. So, I would like to share the paper, regarding recent debate about <main> element:
Adding skip links which provide direct access to the main content of the web page is well-known technique to meet success criterion (SC) 2.4.1 "Bypass Blocks" of WCAG 2.0. Skip links are useful especially for those who use web pages with keyboard and people using old screen readers, but are they truly necessary to be provided by content authors?
There is another technique to meet SC 2.4.1, which is providing heading elements at the beginning of each section of content. If the main content begins with heading element, and if browsers and assistive technologies provide keyboard navigation by headings, content authors may not need to implement skip links on each page. In fact, some of screen reader users use such navigation function very comfortably.
Unfortunately, not every browsers/assistive technologies support such function like navigation by headings. Opera has implemented it for several years ago, but to say about other major visual browsers (e.g. Mozilla Firefox), add-ons or some kind of extensions are necessary to realize the same function. UAAG 2.0 requires providing direct navigation to important elements, but it is still a working draft.
Thus, it is difficult to say the technique is "accessibility supported" fully. That means, to meet SC 2.4.1, adding skip links seems vital to content authors to conform to WCAG 2.0 level A in many web sites. WebAIM says,
if a page has a proper heading structure, this may be considered a sufficient technique instead of a "Skip to main content" link in their WCAG 2.0 checklist, but it's still up to content authors.
Adding skip links is not technically difficult at all, but id name for the main content can be different among web sites. It doesn't sound smart enough in terms of universality of the web, and we might need a standard id name. Will this situation never change in future? Is there any way to accomplish the same more universally?
To specify the main content, WAI-ARIA landmark role=main is available. Also, main element is now under discussion through HTML5 development. Even if main element isn't included HTML5 specification, it may be possible to identify what the main content is by taking out other elements like header/footer/nav programmatically. Once browsers/assistive technologies detect the main content, providing direct access to it should be easy.
One interesting example is Safari browser's "Reader" function. At the time of writing, details of when and how the function works are not clear to the public, but it takes out and display the main content only - even if there aren't skip links on the page. Sometimes the function returns unexpected result, but it seems useful in general. Recently, Mozilla Firefox for Android implemented similar function called "Reader Mode" too.
The more browsers/assistive technologies support keyboard navigation or similar function determining the main content using semantically rich markup, the more web pages can be accessible without adding skip links. In future, proper document structure with proper headings technique may be able to meet WCAG 2.0 SC 2.4.1 solely. That should be better for both of content authors and users. That's the separation of content and user interface, which is good from viewpoint of maintenability as well.