Phrederik said:
Why?
P.s. I'm not asking to find out, I'm asking because telling someone not to
do something doesn't help.
Why Frames Are Bad
The Issue:
As a frequent participant in a variety of different newsgroups relating to
HTML and web design, there are frequent postings placed by people looking
for assistance with their frames-based layouts. Frames are, in a word, bad.
Particular concerns addressed in this article are that they are harmful to
usability and search engine placement.
Introduced by Netscape in 1996, frames were introduced as a (seemingly)
creative solution to a common concern. When a user scrolls a page to view
more content, the navigational items are taken out of view as well. The
solution? Separate the content from the navigation so that the navigation is
always visible and usable for the visitor.
Frames are, in a lot of ways, the wrong solution to the right problem. In
fact, the problems inherent in frames are so many that Netscape itself
dumped the frames-based layout of their own website in less than six months.
The major problems with frames are as follows:
1. Frames make it difficult for users to bookmark a page.
When someone wants to bookmark a specific page of your site, they cannot.
The best they can do is bookmark the front page. This means that they have
to go through the whole site again to find what they wanted to bookmark and
return to in the first place. I am of the opinion that my site is meant to
empower people with information. If they are looking for something specific
(and want to return to it for later reference) then by all means, I should
enable that, not interfere with it. With a frames-based website, the only
address the user can bookmark is the address of the front page/ frameset.
2. The myth of shared navigation
Frames have often been seen as a way to ease the expansion of the site by
making it possible to have pages of just content. Want to add a page to the
site? Create some content, create the link to it in the navigational frame
and you are done! This is an altogether bad reason to use frames,
considering its other inherent evils. This same goal can be accomplished
with Server Side Includes or PHP's Include() function. (more info on my
followup article)
3. Frames create difficulties with "intuitive" navigation.
Sites with large amounts of content will feel this effect worse than small
sites, but it is a concern nonetheless. Effective navigation will provide
the user with clues as to where they are, where they have been, and where
they are heading on the site. This clue comes from visual cues provided by
the links themselves as well as by displaying the address in the address
field. When the navigation is controlled by a separate, static document, it
is impossible to effectively provide either of these clues to the user.
4. Frames are less likely to be crawled effectively by search engines.
The major search engines look for content. Framed sites often have no
content on the page that is most likely to be first-crawled by the
searchbot.
5. Lost search engine referrals.
If a site does happen to be crawled, the visitor gets lead to a page that is
likely lacking in primary navigation and is likely to get lost or lead up a
dead end because that page does not have any navigational items. Common
"solutions" devised for this problem is to use JavaScript to force the page
into its frameset. This is problematic because the visitor may have
JavaScript turned off and, most importantly, this is an attempt to fix a
problem that should not exist in the first place.
6. Frames often needlessly eat up valuable screen real estate.
Sometimes designers of frames sites will create framesets that occupy a
large amount of screen space in either a misguided attempt at cross-platform
design or in an attempt to ensure that certain content is always in front of
the visitor.
In terms of "cross-platform" design, the use of frames is an entirely wrong
approach and often can result in terrible results. A great case-in-point
would be a top-bottom frame setup with the top frame being 150 pixels in
height for navigation buttons, and the rest of the screen being for content.
On my computer, that looks great. But I am using 1400x1050 resolution.
Imagine though, that we're viewing a site at 1024x768. After we take into
consideration the real estate eaten by the browser interface and the windows
taskbar, we are left with 600 pixels of total screen height. Now the
navigational frame is eating up 25% of the screen.
Things can only go downhill from there. Studies show that the majority of
users on the Internet are using 800x600 resolution. At that total screen
size, the viewable screen area of the page is 420 pixels. With the 150 pixel
navigational frame taking up a whopping 36% of the screen, we are left with
only 270 pixels to view content. Things get frightening after that. At
640x480 and/ or WebTV, that top frame is eating up 50%+ of screen space!
Common responses may be to say "Well then, what about a side-by-side frame?"
But this is easily the same issue, no matter whether the frames are
horizontal or vertical, and the more frames, the worse the problem gets.
Imagine what can happen when the site has a top-middle-bottom frames setup
with 100 pixels up top for navigation, a 100-pixel bottom for contact info
or banner ads. This leaves 100 pixels for content - 33% - on 640x480
(maximized) because this resolution only has 300 pixels in height for
viewable browser area after all is said and done. (see a picture of a
particularly frightening frameset to demonstrate how bad this can get.
Warning: really big picture)
7. Framed sites are a hindrance for handicapped users.
Users with visually-based handicaps often use software to assist them in
browsing the web. This software scans the content of a page and reads the
text and elements out loud to the user. When approached with a frames based
website, the software is unable to find any content on the actual URL that
it is trying to read, as that is the frameset and it does not generally
contain any content.
While the Section 508 Guidelines do not directly discuss the evils of
frames, webmasters of sites for government agencies and those who are bound
by contracts requiring adherence to the guidelines will often simply avoid
the use of frames altogether in favor of general accessibility and ease of
use.
Frames are not the answer
Frames were designed to help solve a problem, but they ultimately just
create more problems. I am of the opinion that they should be used very
sparingly, if at all, and that the creator of the frames-based-layout must
ensure that they are aware of the above problems. They are often used by
designers who are ignorant of these problems and who, in all reality, are
not designing sites with the kind of complex navigational structure that
they were designed to compensate for in the first place. Ultimately,
designers contemplating frames should reassess their navigational structure
and the reasons they are looking into frames in the first place. Chances
are, the site can be designed to be more accessible, more cross-platform
compatible, and easier to navigate without frames than with.