Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Framesets and frames - your opinions - the pros and cons 1

Status
Not open for further replies.

Foamcow

Programmer
Nov 14, 2002
6,092
0
0
GB
Since this comes up from time to time and normally hijacks someone elses question I thought I would start a thread especially.
Use this thread to give your reasons for recommending or not recommending the use of framesets.
Personal opinion is perfectly valid, but try to back it up with at least some logical reasoning.

Foamcow Heavy Industries - Web design and ranting
Buy Languedoc wines in the UK
 
I just looked at a site that my stepdaughter created for her musical group using frames. The top frame is a graphic with the navigation as image maps, looks pretty nice and fits in with the website well. The bottom frame as a footer is for music to be played on the page (remember, the site is for a musical group), which leaves the remaining page real estate for the actual page content. Viewing the site at 800 x 600, the actual content has VERY little room, only a couple lines of text at a time, and the scroll bar on the right. No graphics on the pages in the center frame are completely visible at this resolution. Even at 1024 x 768, you have to do a lot of scrolling on the pages to read the content and scan back and forth from top to bottom.

I rewrote the site using SSI for the top graphic (which I advised her NOT to resize because I think it's fine) and the bottom, and the pages are fine that way. With the frames, though, the site is just one more roll-your-eyes site that have made frames the bane they've become, generally the attempts of inexperienced web page creators.

With the variety of screen resolutions available now, framed web pages don't look the same as they did back when there was only 640 x 480 and maybe 800 x 600, and nothing else. Framed pages at their best can't be as flexible for viewing as pages without frames, and at their mediocre or worst, well, let's not even go there.

Lee
 
As well, I utterly DETEST the way Microsoft's MSDN library has their frames set up ( I noticed just now trying to find the exact area where they do this, that in a number of the other MSDN areas the pages are no longer in frames, and I found them MUCH easier to view because of the amount of information that was available on the screen once I had the header area scrolled out of the way (which the framed pages don't allow).

Lee
 
Ah, my irritations with the MSDN site are trying to bookmark pages, and navigating the site when I arrive on a google-listed orphan page.


Pros:
- allows content to be refreshed without having to refresh the entire screen:
> saves bandwidth
> keeps the site's "context" onscreen (looks better)
> because the user's screen isn't entirely refreshed (and so it doesn't go completely blank), frames can hide the slowness of a site
- content pages can contain pure content: no menus, etc.
- simplifies maintenance - usually by seperating the menu (although this can be mitigated by SSIs instead)

pay attention now, this one is the one reason I consider genuinely valid!
- frames can make a clear seperation of multiple on-screen contexts
Eh? I hear you cry...what am I on about?
CMS, I reply. I find frames are useful for providing onscreen editing and previewing of CMS content. Editor in one pane, preview in another. OK, you could include the previewed page - for example, through SSIs - but you'd either generate invalid code (by including another DTD, another <head> section, etc), or you'd miss significant aspects of the previewed page. You also run the risk of style collision, where styles used in the editor overrule the styles that would be used on the live page - so you wouldn't get a true preview.


Frames are about displaying different pages, NOT different parts of a page.


Cons
- Unbookmarkable.
- Search engines index pages outside of their framed context, which gives you
- Orphaned pages. (OK, sometimes you put a link to 'home'. It doesn't help - you're not giving me a complete menu on the page, are you?)
- Hard to use in some browsers, even when the do support framesets. Ever tried using a framed site in Lynx? PITA I tell you. My router's admin panel was a framed web interface, and my usual access was SSH'd into a linux box, which mean configuring via Lynx. Not fun.
- Noone bothers with a <noframe> alternative. (And when they do, it just says "This site uses frames, but your browser doesn't support them." Which, by the way, is what usually appears as the site's description in a search engine.)

---
Marcus
better questions get better answers - faq581-3339
accessible web design - zioncore.com
 
I thought this was a very good point.

Frames are about displaying different pages, NOT different parts of a page.


The use of frames for a CMS is one of the only times I would consider their use.

I would like to add to the cons:

Framed sites are more complex to manage, especially if you have more than 3 frames in the set. Say, a header, a navigation panel and a content section.
Trying to keep a navigation scheme in sync requires javascript jiggery pokery.

Foamcow Heavy Industries - Web design and ranting
Buy Languedoc wines in the UK
 
Trying to keep a navigation scheme in sync requires javascript jiggery pokery.
What happens if the user doesn't have javascript enabled? Presumably you'll just end up with orphan pages with no navigation, no header and no way of viewing the page as you are actually supposed to without going to the site's homepage and trying to figure out from the navigation system where you were.


____________________________________________________________

Need help finding an answer?

Try the Search Facility or read FAQ222-2244 on how to get better results.

 
A frameset is just a tool in the toolbox. Sometimes it is an appropriate tool and sometimes it is not. Probably most websites have no reason to use framesets. This does not mean that we should throw the tool away.

The sort of applications where framesets are useful are large parts inventory systems, technical manuals that require intelligent navigation rather than relying on search engines and almost any application where a technical manual is put into a PDF document. PDF is really a printing technology. On the web using them for reference manuals is not very useful since links can't be anchored and fragments of information cannot be copied with swiping and copying.

In this forum, whenever a newbie asks a question about a frameset the advice offered is usually a blanket condemnation of framesets with specious arguments presented that don't have any basis in fact.

For example book marking (depending of the application) may not be a problem at all. Suppose I had a two frame website with navigation on the left and content on the right and suppose each topic in the navigation had its own page. If I do not attempt to force the topic page into a frameset it might not matter. I could put a link on each content page perhaps saying something like "view other topics on this site" and then redirect them to the home page.

Another great use of frameset is for documentation requiring navigation but where the application is not on a website at all. Unlike SSI framesets do not require a server. I have found it a lot easier to write documentation requiring an index and a table of contents in HTML rather than Word. In fact such a task is quite difficult in Word. Also HTML does not rely on vendor proprietory technology and works on almost any platform.

Framesets are not appropriate for all applications but I do not think that they deserve blanket condemnation in a technical forum.

Clive
 
the advice offered is usually a blanket condemnation of framesets with specious arguments presented that don't have any basis in fact.

At risk of this sounding like a tit for tat argument, I feel this must be said...

I don't think that it is correct to say that the comments have no basis in fact. The comments are no less valid than the reasons given in support of the use of frames.

I'm not aware of anything that has been said against framesets that isn't also true.
They do cause problems for some types of user/browser.
They can obfuscate information from search engines.
They will dilute the effectivness of page content in relation to search engine placement.
They can create navigation difficulties.
They can make a relatively simple site more difficult to manage and maintain - although the opposite can also be true.

All the above "problems" can be worked around, but the methods are workarounds and as such require additional effort and may fail in some circumstances.

In addition it is possible to "swipe and copy" text from a PDF. I do it often. Although I will concede that there are occassions where its not possible to do so, depending on how the PDF was created.

It is also possible to create indexes within PDF documents (and embed behaviours using Javascript). Indeed the PDF viewer will show an index of bookmarks within the document in what appears to be a seperate frame. However, this frame is not created by HTML, it is part of the PDF viewer being embedded within the browser.
I *think* it is also possible to create anchored links in a PDF... not sure on that though.

I agree, there are a few situations when a frameset may be the right way to do something. But these are very rare instances, certainly alot rarer than they were some years ago.

Foamcow Heavy Industries - Web design and ranting
Buy Languedoc wines in the UK
 
Hi Foamcow:

For someone who usually condems "bloat", I find it odd that you are defending PDFs. Are you saying, that for online reference use, a PDF would be preferable to a frameset?

Since you did not comment on the use of framesets off the web should I assume that you concede that this might be a good use of framesets?

Do framesets deserve blanket condemnation?

They do cause problems for some types of user/browser.
example?
They can obfuscate information from search engines.
example?
They will dilute the effectivness of page content in relation to search engine placement.
example?
They can create navigation difficulties.
example?
They can make a relatively simple site more difficult to manage and maintain
example?

All the above "problems" can be worked around, but the methods are workarounds and as such require additional effort and may fail in some circumstances.

CSS requires workarounds and hacks. Should we not use CSS?


Clive
 
No I definitely do not think that PDFs are necessarily a good idea for online use. I was simply pointing out that it is possible to create an index within the PDF, which would negate the need for a frameset just to provide an index.
I'd certainly offer a PDF for offline consumption though, it's an easily portable format - a single document/file.

And, if I understand you correctly, yes I would consider a PDF a much more suitable medium for an offline manual than a website. Although if the manual was to be used on a device other than a "regular" computer I would have to consider how it would be viewed.


They do cause problems for some types of user/browser.
See the previous post about using Lynx for an example.
Or try navigating a framed document with a screen reader. I've tried it and I guess it could be my inexperience in using one but it was very difficult.


They can obfuscate information from search engines.
and
They will dilute the effectivness of page content in relation to search engine placement.
I guess I am talking about a common use for a frameset where the navigation is in a seperate HTML document to the content. Perhaps obfuscate was the wrong word to use but, by splitting up a page as such you will reduce the keyword weighting and saturation on a page.
The search engine will love all the links in the navigation document but find little else of interest there.
Likewise, in the "content" document it will suck up the content but find little or no link text.
A search engine will index framed content, but it will not index it in the context of the site or other info on the page as it would with a single webpage.
Strictly speaking you should use a robots.txt file to stop the SE from indexing your navigation frame anyway, so there go your links.
OK. So place the links in the content page too... which begs the question - why use a frameset then?

They can create navigation difficulties.
See point above on Lynx and screen readers.


They can make a relatively simple site more difficult to manage and maintain
Take as an example a 3 frame site that has a header with main navigation, a side bar with sub navigation and a content frame.
A user clicks the main navigation.
Both the sub navigation AND the main content now need to change.
The only way to do this is with Javascript. Javascript can be disabled or fail, killing the site navigation scheme.

Click a link in the content section that links to a page in another section of the site. Again you must add javascript to the link in order to change the subnavigation too.

As far as I can see, having to add javascript to simple navigation links is adding an extra tier of complexity to what is basically a very simple function of a website.


CSS requires workarounds and hacks. Should we not use CSS?

Under what circumstances will CSS hacks fail?
If CSS is turned off then the page will render without any styles meaning the hacks aren't needed anyway.
CSS hacks tend to degrade gracefully, I don't know of any that don't.



Foamcow Heavy Industries - Web design and ranting
Buy Languedoc wines in the UK
 
Finally, (oh for an edit button!)

Framesets are not appropriate for all applications but I do not think that they deserve blanket condemnation in a technical forum.

I don't condemn every use of framesets. I think I've already said that I would consider their use for some applications, such as a CMS.
But since I've been a member of this forum I've yet to see such a case - actually I think I recall one and I don't recall it being condemned.

Foamcow Heavy Industries - Web design and ranting
Buy Languedoc wines in the UK
 
Framesets work fine in a lynx viewer. After following each menu link just press the back button to return to the menu. Framesets work in just the same way in a Blackberry with or without the noframes tag being coded.

You may recall that I reported this once before and just had a bunch of blackberry experts, who had never used a Blackberry, refuting my claim.


Lnyx Example:
Now go to: and paste in the above URL.

Can we put this one to rest and then I will answer the other points?

I have no experience with screen readers but I suspect that any site that had not been coded with a screen reader in mind might have problems.

Clive
 
I guess it is just a matter of personal preference. I can imagine plenty of non-framed sites that would not work well in Lynx. You are a good coder and have a well thought out site.

Your site would not work so well in the Blackberry since The menu alone would fill the first screen and on every link you would re-load the menu again which would be a bit slow unless you were standing next to a cell tower.

Anyway, have I demonstrated my point, with an example, that a frameset will work in a lynx browser?

Clive
 
CliveC - Giving all due credit to foamcow, there is one aspect of his site I would change: I would move the navigation menu to after the content in the source order. This would mitigate the problem you describe.

If you look at Zioncore on a handheld device (or in Lynx), the content comes before the menu (on every page). (Thinks: I may also add a skip to the menu link at the top of every page)

---
Marcus
better questions get better answers - faq581-3339
accessible web design - zioncore.com
 
That's on my to do list for the new version I'm working on. :)

But yes Clive, you have shown that a framed site works on a browser like Lynx. Though, with respect, I never said it was impossible and that they wouldn't work, just that they are generally more difficult to navigate, which I think we showed to be true.

This is good. I don't want this to be a competition, but more of a reference so people can weigh up the pros and cons for themselves.

Foamcow Heavy Industries - Web design and ranting
Buy Languedoc wines in the UK
 
This is good. I don't want this to be a competition, but more of a reference so people can weigh up the pros and cons for themselves.

I totally agree and I thank you for conducting an intelligent exploration rather that the hit-and-run tactics that is often used of making claims without a shred of evidence.

Ok how about looking at bookmarking? I will concede that bookmarking a frameset is difficult in fact almost impossible without some serious workarounds. See: So if you were coding a site where deep linking was important then framesets might not be a good choice. However in some applications it might be beneficial to use a frameset to specifically avoid deep-linking. Therefore why "throw the baby out with the bathwater." Just out of curiosity I looked at my browser bookmarks and only a very small percentage linked to anything other than a home page.

One clear advantage of not being able to deep-link is that Chris could not send us a URL to a berea st plagiarised article about framesets which provides no evidence or example of any of the authors opinions.
:).

So do we agree on bookmarking?

Clive
 
In support of the contention that:
They can make a relatively simple site more difficult to manage and maintain
I understand the essence of your example is that you wanted to avoid reliance on Javascript.
When I hear people say "What if Javascript is turned off?", I am tempted to say "then you will have a frustrating time surfing most sites on the world wide web".

However, I do not see that the example you cite (main and sub navigation levels) requires Javascript. First of all such a large site would certainly be a candidate for a frameset and with such sturdy drill-down navigation you would probably not need to rely on deep linking. If you wanted to change two frames at one time it would seem that an onclick one-liner added to each link would not be adding much to complexity or maintenance difficulty, but in the example that you mention you do not have to. In fact two frames would be better than three.

While we are on the subject of large sites, having a menu in each page requies endless redundant transmissions of data. Some say that the menu is cached. I may be wrong but I have never seen any evidence of that and it doesn't even seem logical that just a portion of the page (a non-image) could be cached. Seems to me that it may just be another urban myth that when repeated enough times seems to come to be true.

Any thoughts?

Clive
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top