HTML 4.01 Test Suite - Assertions

Testable Assertions: Section 16 Frames


Valid HTML 4.01!


16 Frames - Multi-view presentation of documents

Assertion 16.1-1

Reference: Section 16.1
(informative) HTML frames allow authors to present documents in multiple views, which may be independent windows or subwindows.
Tests: None

Assertion 16.1-2

Reference: Section 16.1
(informative) Multiple views offer designers a way to keep certain information visible, while other views are scrolled or replaced.
Tests: None

Assertion 16.2-1

Reference: Section 16.2
(must) An HTML document that describes frame layout (called a frameset document) has a different makeup than an HTML document without frames. A standard document has one HEAD section and one BODY. A frameset document has a HEAD, and a FRAMESET in place of the BODY.
Tests: None

Assertion 16.2-2

Reference: Section 16.2
(may) The FRAMESET section of a document specifies the layout of views in the main user agent window. In addition, the FRAMESET section can contain a NOFRAMES element to provide alternate content for user agents that do not support frames or are configured not to display frames.
Tests: None

Assertion 16.2-3

Reference: Section 16.2
(must) Elements that might normally be placed in the BODY element must not appear before the first FRAMESET element or the FRAMESET will be ignored.
Tests: 16_2-BF-01.html

Assertion 16.2.1-1

Reference: Section 16.2.1
(must) FRAMESET: rows = multi-length-list [CN] This attribute specifies the layout of horizontal frames. It is a comma-separated list of pixels, percentages, and relative lengths. The default value is 100%, meaning one row.
Tests: 16_2_1-BF-01.html

Assertion 16.2.1-2

Reference: Section 16.2.1
(must) FRAMESET: cols = multi-length-list [CN] This attribute specifies the layout of vertical frames. It is a comma-separated list of pixels, percentages, and relative lengths. The default value is 100%, meaning one column.
Tests: 16_2_1-BF-01.html

Assertion 16.2.1-3

Reference: Section 16.2.1
(informative) The FRAMESET element specifies the layout of the main user window in terms of rectangular subspaces.
Tests: None

Assertion 16.2.1-4

Reference: Section 16.2.1
(may) Setting the rows attribute defines the number of horizontal subspaces in a frameset. Setting the cols attribute defines the number of vertical subspaces. Both attributes may be set simultaneously to create a grid.
Tests: None

Assertion 16.2.1-5

Reference: Section 16.2.1
(must) If the rows attribute is not set, each column extends the entire length of the page. If the cols attribute is not set, each row extends the entire width of the page. If neither attribute is set, the frame takes up exactly the size of the page.
Tests: 16_2_1-BF-02.html, 16_2_1-BF-03.html, 16_2_1-BF-04.html

Assertion 16.2.1-6

Reference: Section 16.2.1
(must) Frames are created left-to-right for columns and top-to-bottom for rows. When both attributes are specified, views are created left-to-right in the top row, left-to-right in the second row, etc.
Tests: 16_2_1-BF-05.html

Assertion 16.2.1-7

Reference: Section 16.2.1
(should) Absolute lengths that do not sum to 100% of the real available space should be adjusted by the user agent. When underspecified, remaining space should be allotted proportionally to each view. When overspecified, each view should be reduced according to its specified proportion of the total space.
Tests: None

Assertion 16.2.1-8

Reference: Section 16.2.1
(must) Framesets may be nested to any level.
Tests: None

Assertion 16.2.1-9

Reference: Section 16.2.1
(must) Authors may share data among several frames by including this data via an OBJECT element.
Tests: None

Assertion 16.2.1-10

Reference: Section 16.2.1
(author)(should) Authors should include the OBJECT element in the HEAD element of a frameset document and name it with the id attribute. Any document that is the contents of a frame in the frameset may refer to this identifier.
Tests: None

Assertion 16.2.2-1

Reference: Section 16.2.2
(must) FRAME: name = cdata [CI]. This attribute assigns a name to the current frame. This name may be used as the target of subsequent links.
Tests: 16_2_2-BF-01.html

Assertion 16.2.2-2

Reference: Section 16.2.2
(must) FRAME: longdesc = uri [CT]. This attribute specifies a link to a long description of the frame. This description should supplement the short description provided using the title attribute, and may be particularly useful for non-visual user agents.
Tests: 16_2_2-BF-01.html

Assertion 16.2.2-3

Reference: Section 16.2.2
(must) FRAME: src = uri [CT]. This attribute specifies the location of the initial contents to be contained in the frame.
Tests: 16_2_2-BF-01.html

Assertion 16.2.2-4

Reference: Section 16.2.2
(must) FRAME: noresize [CI]. When present, this boolean attribute tells the user agent that the frame window must not be resizeable.
Tests: 16_2_2-BF-02.html

Assertion 16.2.2-5

Reference: Section 16.2.2
(must) FRAME: scrolling = auto|yes|no [CI]. This attribute specifies scroll information for the frame window. Possible values auto: This value tells the user agent to provide scrolling devices for the frame window when necessary. This is the default value. yes: This value tells the user agent to always provide scrolling devices for the frame window. no: This value tells the user agent not to provide scrolling devices for the frame window.
Tests: 16_2_2-BF-03.html

Assertion 16.2.2-6

Reference: Section 16.2.2
(must) FRAME: frameborder = 1|0 [CN]. This attribute provides the user agent with information about the frame border. Possible values: 1: This value tells the user agent to draw a separator between this frame and every adjoining frame. This is the default value. 0: This value tells the user agent not to draw a separator between this frame and every adjoining frame. Note that separators may be drawn next to this frame nonetheless if specified by other frames.
Tests: 16_2_2-BF-04.html

Assertion 16.2.2-7

Reference: Section 16.2.2
(must) FRAME: marginwidth = pixels [CN] This attribute specifies the amount of space to be left between the frame's contents in its left and right margins. The value must be greater than zero (pixels). The default value depends on the user agent.
Tests: 16_2_2-BF-05.html

Assertion 16.2.2-8

Reference: Section 16.2.2
(must) FRAME: marginheight = pixels [CN] This attribute specifies the amount of space to be left between the frame's contents in its top and bottom margins. The value must be greater than zero (pixels). The default value depends on the user agent.
Tests: 16_2_2-BF-05.html

Assertion 16.2.2-9

Reference: Section 16.2.2
(informative) The FRAME element defines the contents and appearance of a single frame.
Tests: None

Assertion 16.2.2-10

Reference: Section 16.2.2
(must) The src attribute specifies the initial document the frame will contain.
Tests: None

Assertion 16.2.2-11

Reference: Section 16.2.2
(must) The contents of a frame must not be in the same document as the frame's definition.
Tests: None

Assertion 16.3-1

Reference: Section 16.3
(must) {elements that create links: (A, LINK), image maps (AREA), and forms (FORM). }: target = frame-target [CI] This attribute specifies the name of a frame where a document is to be opened.
Tests: None

Assertion 16.3-2

Reference: Section 16.3
(must) By assigning a name to a frame via the name attribute, authors can refer to it as the "target" of links defined by other elements. The target attribute may be set for elements that create links (A, LINK), image maps (AREA), and forms (FORM).
Tests: None

Assertion 16.3-3

Reference: Section 16.3
(must) Note. A frameset definition never changes, but the contents of one of its frames can. Once the initial contents of a frame change, the frameset definition no longer reflects the current state of its frames.
Tests: None

Assertion 16.3-4

Reference: Section 16.3
(informative) There is currently no way to encode the entire state of a frameset in a URI. Therefore, many user agents do not allow users to assign a bookmark to a frameset.
Tests: None

Assertion 16.3.1-1

Reference: Section 16.3.1
(must) When many links in the same document designate the same target, it is possible to specify the target once and dispense with the target attribute of each element. This is done by setting the target attribute of the BASE element.
Tests: None

Assertion 16.3.2-1

Reference: Section 16.3.2
(should) User agents should determine the target frame in which to load a linked resource according to the following precedences (highest priority to lowest): 1. If an element has its target attribute set to a known frame, when the element is activated (i.e., a link is followed or a form is processed), the resource designated by the element should be loaded into the target frame. 2. If an element does not have the target attribute set but the BASE element does, the BASE element's target attribute determines the frame. 3. If neither the element nor the BASE element refers to a target, the resource designated by the element should be loaded into the frame containing the element. 4. If any target attribute refers to an unknown frame F, the user agent should create a new window and frame, assign the name F to the frame, and load the resource designated by the element in the new frame.
Tests: None

Assertion 16.3.2-2

Reference: Section 16.3.2
(may) User agents may provide users with a mechanism to override the target attribute.
Tests: None

Assertion 16.4-1

Reference: Section 16.4
(author)(should) Authors should supply alternate content for those user agents that do not support frames or are configured not to display frames.
Tests: None

Assertion 16.4.1-1

Reference: Section 16.4.1
(must) 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.
Tests: None

Assertion 16.4.1-2

Reference: Section 16.4.1
(must) The NOFRAMES element is part of both the transitional and frameset DTDs. In a document that uses the frameset DTD, NOFRAMES may be used at the end of the FRAMESET section of the document.
Tests: None

Assertion 16.4.2-1

Reference: Section 16.4.2
(informative) 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.
Tests: None

Assertion 16.4.2-2

Reference: Section 16.4.2
(author)(should) Authors should not put an image directly in a frame. Instead, the image should be specified in a separate HTML document, and therein annotated with the appropriate alternate text.
Tests: None

Assertion 16.5-1

Reference: Section 16.5
(must) IFRAME: longdesc = uri [CT] This attribute specifies a link to a long description of the frame. This description should supplement the short description provided using the title attribute, and is particularly useful for non-visual user agents.
Tests: 16_5-BF-01.html

Assertion 16.5-2

Reference: Section 16.5
(must) IFRAME: name = cdata [CI] This attribute assigns a name to the current frame. This name may be used as the target of subsequent links.
Tests: 16_5-BF-01.html

Assertion 16.5-3

Reference: Section 16.5
(must) IFRAME: width = length [CN] The width of the inline frame.
Tests: 16_5-BF-01.html

Assertion 16.5-4

Reference: Section 16.5
(must) IFRAME: height = length [CN] The height of the inline frame.
Tests: 16_5-BF-01.html

Assertion 16.5-5

Reference: Section 16.5
(must) The IFRAME element allows authors to insert a frame within a block of text. Inserting an inline frame within a section of text is much like inserting an object via the OBJECT element: they both allow you to insert an HTML document in the middle of another, they may both be aligned with surrounding text, etc.
Tests: None

Assertion 16.5-6

Reference: Section 16.5
(should) The information to be inserted inline is designated by the src attribute of this element. The contents of the IFRAME element, on the other hand, should only be displayed by user agents that do not support frames or are configured not to display frames.
Tests: None

Assertion 16.5-7

Reference: Section 16.5
(may) Inline frames may not be resized (and thus, they do not take the noresize attribute).
Tests: None