5

I have seen two approaches to menu/content markup order in relation to accessibility for keyboard only users:

  1. Menu first then content with a skip to content link at the top
  2. Content first then menu with a skip to navigation link at the top

Is one of these approaches better than the other or are they both equivalent?
If one is better than the other, why is it better?

3 Answers 3

2

Put a "Skip Navigation"or "Skip to main content" Links first element before every thing on top of your pages. So the keyboard user will decide to let screen reader go through all navigation and other stuff or just skip to go to the main content. so you can use visuallyhideen class to make the link invisible for sighted people. http://webaim.org/techniques/css/invisiblecontent/

1

This article answers this very well - [WEB AIM - Skip Navigation]

Some key points:

Providing visible links at the top of the page

The key is to make sure the link is one of the first items that screen readers hear and that keyboard users tab to. Otherwise, users may not realize there is a "skip navigation" link there at all, and may waste time trying to muddle through the extraneous links.

This method is accessible, however, it is visually disruptive to the page as some users may be confused by it.

Providing visible links elsewhere on the page

A user with a screen reader is faced with a page of 25 navigation items, the skip content link is in the middle and this is the same on every page, the user will get frustrated and even assume there are no accessibility options on the site and leave. Avoid this.

Making the link invisible

There are a few methods for doing this, but it's vital that the link still be usable by all keyboard users, particularly sighted keyboard users. This means that the link should be hidden visually by default, but that it should become visible when it receives keyboard focus. Some techniques, such as hiding the content permanently with CSS, making the link the same color as the background, sizing the link to 0 pixels, or placing it on a one pixel transparent image do not meet these important requirements.

Making a link invisible has its drawbacks, users that tab through navigation may MISS the link. A great was to get around this is to utilise transition effects in CSS3 and make the link appear but then disappear - this way the user sees the link but then it is not a disruption to the visual display of the page.

ANSWER Keep the link at the top. It needs to be the first thing available on the page as screen readers need to be able to detect this link, you also need to consider users who are not visually impaired and who might find the link to be confusing or disruptive to page flow - this is solved by making the link invisible.

Give these articles a read it will shed a lot of light on the issue for you. This is a great resource as well as it also gives alternatives to 'Skip navigation' links.

NIELSEN NORMAN GROUP - Keyboard Accessibility

More information on invisible links

5
  • 3
    But this doesn't answer the question of whether it is better for the content to appear before the menu or the menu to appear before content.
    – Matt Obee
    Commented Dec 12, 2014 at 12:01
  • Point noted - have edited the post to reflect this. In short - the link should be above the content, the first element on the page and made invisible.
    – 80gm2
    Commented Dec 12, 2014 at 12:14
  • 1
    Do screenreaders have a Reader mode like Safari does? If they do, it would be most helpful to clearly mark up the main content or article part of the page, so the parsers and heuristics work successfully. If they do not they really should.
    – Crissov
    Commented Dec 12, 2014 at 13:33
  • 2
    I agree, the skip link should always be at the top. The question is whether it is better to have the main menu before the content or after the content in the markup.
    – rooby
    Commented Dec 14, 2014 at 10:05
  • Before the content, your markup should follow a logical order.
    – 80gm2
    Commented Dec 14, 2014 at 10:27
1

What I've learnt from web design in my three years in university is that global navigation comes first, local navigation comes second, content as number three and related links as number four.

This means that option one, a skip to conten link at the top is most common and most used. From my view it's an unspoken convention.

Ref: Skip navigation links

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.