Frame Accessibility Issues
Frames have inherent problems for accessibility. Fundamentally, it is difficult to restyle content within frames since even simple restyling like increasing text size often results in clipping or the need for horizontal scrolling. Titling of frames by authors (when done at all) is usually so ambiguous that it remains difficult for speech users to know the potential contents of a frame. It is also difficult for speech users what the potential changes will occur to all frames when they select a link in one particular frame. In general, most web developers seem to be staying clear of frame based content and this is a good thing for accessibility.
The one notable exception to this trend is with web application developers who use "hidden" frames to setup server/browser communications. These communications can include information about user interactions and/or automatic notifications of new information that might be useful to the user. One of the major problems with the use of hidden frames for automation is that it often confusing to screen reader users. If the screen reader interprets the automation activity as new information to the user, it can cause weird screen reader behaviors which lead to screen reader users being unable to access the content of a web resource.
HTML Markup
frame:title- The
titleattribute of a frame can be used to provide a short description of the purpose of aframein aframeset frame:longdesc- The
longdescattribute is rarely used in practice since most browsers do not provide access to this link information. It has a similar implementation history aslongdescfor images. If you do provide alongdescresource it should describe the relationships and interactions between the frames in aframeset
Related Accessibility Requirements
Section 508
- 1194.22 (i) Frames shall be titled with text that facilitates frame identification and navigation.
Web Content Accessibility Guidelines (WCAG 1.0)
- 12.1 Title each frame to facilitate frame identification and navigation. [Priority 1]
- 12.2 Describe the purpose of frames and how frames relate to each other if it is not obvious by frame titles alone. [Priority 2]
Example
HTML Source Code
<head>
<title>Acme parts catalog</title>
</head>
<frameset rows="100,400,100">
<frame src="banner.html" title="Acme banner and logo">
<frameset rows="20%,70%,10%">
<frame src="navigation.html" title="Main navigation bar">
<frame src="parts-list-main.html" title="Parts information">
<frame src="parts-list-main.html" title="Decorative image">
</frameset>
<frame src="footer.html" title="Footer">
</frameset>
</html>