Skip to Main Content >

IT Accessibility Curriculum and Resources

Standard 8:
Frames, Context, and Orientation

  • Standard 8.1 — If frames are used, a noframes alternate will be provided.
    • Comment: The noframes element specifies content that should be displayed only by user agents that do not support frames or are configured not to display frames. User agents that support frames must only display the contents of a noframes declaration when configured not to display frames. User agents that do not support frames must display the contents of noframes in any case.

    • HTML Elements affected: <frameset>, <noframes>
    • Code Example:
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
      "http://www.w3.org/TR/html4/frameset.dtd">
      <html>
      <head>
      <title>A frameset document with NOFRAMES</title>
      </head>
      <frameset cols="50%, 50%">
      <frame src="main.html">
      <frame src="table_of_contents.html">
      <noframes>
      <p>Here is the <a href="main-noframes.html">
      non-frame based version of the document.</a>
      </noframes>
      </frameset>
      </html>
  • Standard 8.2 — Each frame must be identified with a descriptive title attribute that describes the purpose of each frame and how frames relate to each other.
    • HTML Elements affected: <title>, <frameset>, <frame>
    • Code Example: Use the "title" attribute to name frames.

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
      <html>
      <head>
      <title>A simple frameset document</title>
      </head>
      <frameset cols="10%, 90%"
      title="Our library of electronic documents">
      <frame src="standard8.html" title="Navigation bar">
      <frame src="doc.html" title="Documents">
      <noframes>
      <ahref="lib.html" title="Library link">
      Select to go to the electronic library</a>
      </noframes>
      </frameset>

  • Standard 8.2.2 — For title text greater than 150 characters a LONGDESC attribute will be used.
    • Comment: The longdesc attribute allows authors to make frame documents more accessible to people using non-visual user agents. This attribute designates a resource that provides a long description of the frame. Authors should note that long descriptions associated with frames are attached to the frame, not the frame's contents. Since the contents may vary over time, the initial long description is likely to become inappropriate for the frame's later contents. In particular, authors should not include an image as the sole content of a frame.

    • Code Example:

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
      <html>
      <head>
      <title>Today's news</title>
      </head>
      <frameset cols="10%,*,10%">
      <frameset rows="20%,*">
      <frame src="promo.html" name="promo" title="promotions">
      <frame src="sitenavbar.html" name="navbar"
      title="Sitewide navigation bar" longdesc="frameset-desc.html#navbar">
      </frameset>

      <frame src="story.html" name="story" title="Selected story - main content"
      longdesc="frameset-desc.html#story">

      <frameset rows="*,20%">
      <frame src="headlines.html" name="index" title="Index of other
      national headlines" longdesc="frameset-desc.html#headlines">
      <frame src="ad.html" name="adspace" title="Advertising">
      </frameset>

      <noframes>
      <p><a href="noframes.html">No frames version</a></p>
      <p><a href="frameset-desc.html">Descriptions of frames.</a></p>
      </noframes>
      </frameset>
      </html>

      "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.

    Some Alternatives to Frames
    One of the most common uses of frames is to split the user's browser window into two parts: a navigation window and a content window. As an alternative to frames, we encourage you to try the following:

    1. Create one document for the navigation mechanism (call it "nav.html"). A separate document means that the navigation mechanism may be shared by more than one document.

    2. In each document requiring the navigation mechanism, include it at the bottom of the document with OBJECT markup, as in this example:

      <P>
      <object data="nav.html">
      Go to the <A href="nav.html">Table of Contents</A>
      </object>

      Putting the navigation mechanism at the end of the document means that when style sheets are turned off, users have access to the document's important information first.

    3. Use style sheets to position the navigation mechanism where you want on the screen. For example, the following CSS rule floats the navigation bar to the left of the page and makes it take up 25% of the available horizontal space:

      object { float: left; width: 25% }

      The following CSS rule attaches the navigation mechanism to the bottom-left corner of the page of the page and keeps it there even if the user scrolls down the page:

      object { position: fixed; left: 0; bottom: 0 }

    Note. Navigation mechanisms or other content may also be inserted in a document by means of server-side includes.

Back to NYS Standards Discussion HOME