DEV 2.1 - Do not use frames

Frames violate many accepted web standards and cause a variety of accessibility problems.

The problems they cause outweigh the limited advantages of using them.

  • Do not use frames - use a well- designed,non-frame navigation structure instead.
  • If you absolutely must use frames then:
    • Design the framesets to be as simple as possible;
    • Ensure that each and every frame has a meaningful (concise and descriptive) title;
    • Use <noframes> to provide for people who cannot or choose not to display frames:
    • Indicate what the content of the frames should be and provide links the individual frame pages,

    NB: the <noframes> content will be presented to people who cannot or choose not to display frames;

  • Provide the frameset document type declaration (DTD.)

What is so wrong with frames?

  • Frames can confuse users, often causing the following:
    • Printing problems;
    • Book-marking problems;
    • Navigation to not work as expected:
      • Breaks the 'forward' and 'back' buttons;
    • Frame nesting - frames within frames within frames within frames;
    • Problems for screen reader or Braille users
  • Some additional problems (and there are more!):
    • Not all browsers are frames capable;
    • People generally do not like them;
    • Search engines can have problems;
    • They are more difficult to update;
    • They can cause issues when trying to link to them.

Poor: a 'framed' site