si-blog
the web log of Simon Jessey
Monday, November 25th, 2002
Frames are still evil
In today's Basics of Web Authoring class, my students and I had the dubious honor of being taught how to use frames. I am pleased to say that my instructor is not a fan of frames and seemed to dislike teaching us about them as much as I dislike using them. Using CSS, it is possible to find ways around them. Unfortunately, frames will probably be around for a great many years to come. So why do I hate frames so much?
- The back button works unintuitively in many cases.
- You cannot bookmark a collection of documents in a frameset.
- If you click on the reload button, the result may be different to what you had.
- Page up and page down are often hard to do.
- You can get trapped in a frameset.
- Searching finds HTML pages, not framed pages, so search results usually give you pages without the navigation context that they were intended to be in.
- Since you can't content negotiatiate, noframes markup is necessary for user agents that don't support frames. However, few authors produce noframes content, and so it ruins Web searches, since search engines are examples of user agents that do not support frames.
- There are security problems caused by the fact that it is not visible to the user when different frames come from different sources.
- Use of frames is contrary to the goal of separating structure and presentation.
- Many screen readers find it hard to make sense of frames.
Although I am not a great fan of it, the IFRAME element doesn't suffer from
nearly as many of the problems listed above. It is still something I would usually avoid. It
is still important that I learn how to use these elements. In the future, I may be in a
position where I am forced to work on another author's code. That code may contain all manner
of horrors.