Web Usability

Frames

Just say no!

Frames let you break up a screen into smaller sections, each one its own separate web page. In theory, this could be helpful. For example, you could make the left frame a menu of the main sections of the site and the right frame the changing content area. That way the menu would always be visible, even as you scroll or load new pages into the right-hand frame.

In practice, however, frames are almost always bad. There are several reasons:

  1. Frames disrupt the conventional structure of the internet. The internet was based on the premise of viewing one web page at a time. This model is disrupted when you display more than one page at once. The all-important "Forward" and "Back" buttons lose some of their meaning, and sometimes you aren't really sure what will happen when you follow a link...

  2. Frames and search engines don't mix. Search engines will index each page of your site individually, so a user could enter your site on any page. In a non-frames site each page can stand alone, so this isn't a problem. In a frames site, however, pages might not make sense if they don't appear inside the frames just as you intended. Each part of your layout is its own individual web page, and viewing just the menu bar, for example, or just the homepage text without the menu bar, would throw everything off.

  3. Frames and bookmarks don't mix. Users like to bookmark sites so they can return to them easily or share them with friends. In a frames site, when you click to a new page the web address at the top of the screen does not change. This happens because although you are changing the content in one part of the frameset, you are not changing the frameset itself. There is no convenient way for you to bookmark any page other than the homepage. This is a huge drawback considering how much web traffic is generated by word of mouth.

  4. Frames require more maintenance. Maintaining a frames site takes extra diligence because the code is more complex. When linking to a new page you must specify whether it will load in a certain frame of the page or instead replace the entire screen. If you're not careful you could end up loading an outside page within your frameset -- a definite annoyance to users.

There are other drawbacks to frames, too -- they don't always print correctly, and older browsers can't display them.

Resources

Why Frames Suck (Most of the Time), Jakob Nielsen

[ home | about us | our services | portfolio | web usability | contact us ]

A division of Roberts & Kay, Inc.

Home Home About Us Our Services Portfolio Web Usability Contact Us Web Usability