Important: One of the most important things you can do to increase the accessibility of frames is to give each frame a title.
When a screen reader user hears a list of frames, it is helpful to know the purpose of each one. Frame titles allow web developers to communicate the purpose of each frame to users of screen readers. The best titles for frames are brief and descriptive. Appropriate titles for the frames in a two-frame frameset might be "navigational frame" and "main content."
When frame titles are not present, screen readers look for other sources of information, such as the frame's name attribute or file name. Sometimes these other sources of information are not very helpful at all. If a frame is given a name or filename of "default3.htm" (or something equally nondescript), there is really no way to know what each frame contains, other than by having the screen reader read through each frame.
A page that uses frames should have the correct document type. The code example below shows a doctype for a frameset page that uses HTML 4. The proper frameset doctype lets screen readers and other browsers know that the document consists of multiple frames.
Content in the noframes tag should always be available if the user cannot or chooses not to view frame content. The noframes content should indicate what the contents of the frames are and provide links to individual frame pages if appropriate.
Notice the proper doctype and descriptive, yet brief frame titles in this example code of an accessible frame.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<head>
<title>A page that contains frames</title>
</head>
<frameset cols="15%, 85%">
<frame src="menu.html" title="Navigation menu" name="menu">
<frame src="content1.html" title="Main content" name="content">
<noframes>
<p>This frameset document contains:</p>
<ul>
<li><a href="menu.html">Page navigation</a></li>
<li><a href="content1.html">Main content</a></li>
</ul>
</noframes>
</frameset>
</html>