I received several reader comments on my recommendation to avoid within-page links.
While I agree with your assessment, I wonder how AJAX fits into this. AJAX is all about interactivity within the same page. Do you think this does more harm than good because of the confusion it causes (and e.g. the Back button does not work as expected anymore)? Or should AJAX actions be invoked by buttons rather than links?Jakob's answer:
See this screenshot for an example:
Screenshot of the price of a stock over three months from Yahoo! Finance.
Most likely it should be a guideline to use a different UI widget than a plain-text link for this purpose. For sure, we know that it's a guideline to use buttons for commands and links for navigation, and changing the view of a chart seems more like a command than it seems like navigation. An alternative, in the example in the screenshot, would be to use tabs to alternate between the views. This would certainly comply with the standard use of tabs in applications, even though there would be a conflict with the way tabs have often been abused on websites (which often use tabs to denote navigation instead of alternate views).
For switching between alternate views of the same data, it's actually better if the Back button doesn't work, because it would mainly be used when the user wanted to return to the previous location (say, the list of stocks they're tracking), not if they want to see the previous data view again.
The operative question is whether the user's action feels more like a manipulation of the same data or a movement to some new data. If the former, then it's a command. If the latter, it's navigation. To really find out, you need to observe users and perform a task analysis, but often you can come up with a good first guess and use for your initial design before it goes to testing.
Should "Return to top" links be avoided? They seem accepted by a lot of developers and users although I have not tested them vs. users scrolling back to the top of a page manually.Jakob's answer:
(The exception would be for extremely long pages that would take forever to scroll, but such pages should be avoided in the first place.)
Internal links are not only for long lists: also wide maps that cannot be less wide. For example, http://www.jdawiseman.com/papers/games/jsw2/jsw2-central.html#the-chapelJakob's answer:
Awkward, but in the context unavoidable.
I would suggest another situation where skip links are both a benefit and meet user expectations:Jakob's answer:When used to skip navigation (or, alternatively, go to content) for persons using adaptive technology.
This is commonly recommended by persons within the accessibility community to enable AT users to avoid unnecessary tabbing, reducing fatigue and repetition. Screen readers, such as JAWS, identify such links as "in-page" so that users are further informed.
The most common use of "skip links" is a link on the top of the page that moves users directly to the content area of the page, thus bypassing the extensive amount of crud in the form of navigation bars and other utility information. Sighted readers almost always skip this information initially, simply by looking in the content area first. Non-sighted users sometimes (but not always) like to start with the content as well, and skip-links is one way to give them this choice.
A skip-link is usually made invisible to sighted users, and thus it won't bother people with traditional, visual browsers.
In the long run, I believe that a better solution would be to have a semantic encoding that would denote different parts of a page as content vs. navigation and include a dedicated command in screen reader software for switching between the two. These two different areas of a page need to be accessed in different task modes, and it's almost as common to need to move from content to navigation as the other way around.
Some specialists in technical accessibility (which is a different discipline than usability for users with disabilities) suggest an alternative: place the content first and the navigation second in the file and then use CSS to reverse this order for sighted users. This is not a good idea:
Copyright © 2006 by Jakob Nielsen