Question: If an important aim of my
Website is for it to be accessible, should I use frames on it? The
W3c point out that they can be accessibe if I take the appropriate
precautions - so what's the problem?
The W3c techniques document also says,
"Frames as implemented today (with the FRAMESET, FRAME,
and IFRAME elements) are problematic for several reasons:
- Without scripting, they tend to break the "previous page"
functionality offered by browsers.
- It is impossible to refer to the "current state" of a frameset
with a URI; once a frameset changes contents, the original URI
no longer applies.
- Opening a frame in a new browser window can disorient or
simply annoy users.
...We also provide an alternative to frames that uses HTML 4.01
and CSS and addresses many of the limitations of today's frame
I would also add:
- Using frames on a Website is not 'forward compatible'.
Although frames are not specifically named as a deprecated
element - the goal of HTML 4 and the use of CSS is to enable the
layout of pages without the use of frameset elements or
attributes. The 'strict' Document Type Definition for HTML 4 does
not allow the use of frameset elements.
- Frames don't work well, even in browsers that do support
- Scripting is often used In order to overcome all of the
problems of using frames with browsers that do understand
frames, i.e. can't bookmark the current page, the back button
doesn't work, frequent printing problems and 'focus' problems.
Many text only browser do not understand scripts - and the site
can become unusable as a result.
- The latest browsers try to help the bookmark problem, by
allowing the browser to bookmark "this frame" using the
right-button menu. But when the user returns to that bookmark,
they only see one frame - completely missing the navigational
- It is harder to code and maintain a frames based site than a
non frames site. There are all the browser problem workarounds
to figure out - plus all of the techniques required to make them
For techniques see:
- Using frames means the pages will not conform with the way
the rest of the Web works - i.e. on the majority of pages, each
page is a single unit, with a single address, and he back button
takes the user back to the page previously visited. Straying from
this model means that skills learned on a frames based site
can't be generalised to the rest of the Web.
- Frequently the browser will not set the "focus" to the right
frame. This means the user must first use the mouse to select
the desired frame before using the keyboard to scroll that frame,
or to interact with forms in that frame.
- Frames typically take up a great deal of real estate. This is
particularly relevant when we know that some users will be
using 15" screens set to the default resolution of 640 * 480. It is
likely that they will have to scroll horizontally to see all the content
- With many browser it is difficult to print the correct frame -
often you think you are printing the body of the page but you print
- Jakob Neilson discusses frames in this, old but still relevant,
article called, "Why Frames Suck (Most of the Time):
- In a properly designed site that uses frames it is possible for
someone using a text only browser to navigate through a frames
based site - but it is likely to be more confusing and easier to get
lost in the site than it would be if the site was not frames
- And then there is the problem that they will make the site look
like it was designed in 1997 when frames were all the rage.
As you can guess, I don't regard frames as being a good design
choice - even if with a lot of work and testing they could be made
-- Anonymous, April 25, 2002
More on using the use of frames on Websites.
means you will have problems being listed by search
Users don't like
frames, and they are a security risk
"Embedded navigational links are necessary for at least two
reasons. The first and most basic reason is that some Web
clients simply do not "understand" frames, and likely never will. A
second and perhaps more compelling reason is the necessity
for Web pages to be self-sufficient and discoverable. Any page
devoid of embedded links represents a "dead end" on the WWW.
It's difficult to accept the idea that any collection of pages that
point nowhere constitutes a 'Web'. " Terry Sullivan:
-- Anonymous, April 25, 2002
Moderation questions? read the FAQ