Using frames is like having multiple web pages on one actual page. Frames are used to lessen the workload when building a page; a web page using frames takes less time to load when end users are browsing over the Internet. Alternately, most often, frames are not accessible to end users who use a screen reader. The screen reader will read the frames as multiple HTML documents and will skip around the page; thus, will not read the page in some logical order. This is why good web page designs use templates to organization the navigation structure on a web site.
Building a web site in frames can save time, for both the designer and the end user viewing the web site. Because frames "act" as separate pages, frames are generally used to load persistent content that remains consistant throughout the web site. For visually enabled users, frames may organize a page into different zones. For non-visual users, relationships between the content in frames (e.g., one frame has a table of contents, another the contents themselves) must be conveyed through other means.
Avoid the use of frames. Screen readers read from top to bottom, left to right, and will jump from frame to frame to try to carry out the frame order rather then the logical navigation order of the content. But if you really have to use frames then follow some practical rules:
Describe the purpose of frames and how frames relate to each other if it is not obvious by frame titles alone.
frameset-desc.html might say something like:
#Navbar - this frame provides links to the major sections of the site: World News, National News, Local News, Technological News, and Entertainment News. #Story - this frame displays the currently selected story. #Index - this frame provides links to the day's headline stories within this section.
Content developers must provide text equivalents of frames so that their contents and the relationships between frames make sense. Note that as the contents of a frame change, so must change any description. This is not possible if an IMG is inserted directly into a frame. Thus, content developers should always make the source ("src") of a frame an HTML file. Images may be inserted into the HTML file and their text alternatives will evolve correctly. Unless you have a compelling reason to use frames, avoid them altogether.
If you must use frames,
* For an expanded explanation on this procedure, click here.