ABSOLUTE REQUIREMENTS IN THE HTML 4.0 SPECIFICATION EXCLUDING FORM, SCRIPT AND FRAMES The numbers in the margins are line numbers for the TEXT version of the specification. This list is split into three. The first set is what I have yet to write tests for. The second set is what I have already written tests for. The third set is what I cannot see how to write tests for (the untestable testable statements). -------- : A conforming user agent for HTML 4.0 is one that observes the mandatory 1549: conditions ("must") set forth in this specification, including the : following points: 1555: o A user agent must ensure that rendering is unchanged by the : presence or absence of start tags and end tags when the HTML DTD : indicates that these are optional. See the section on element : definitions for introductory information on SGML elements. -------- 1767:Conforming user agents must correctly map to Unicode all characters in any :character encodings that they recognize (or they must behave as if they :did). -------- 1839:To sum up, conforming user agents must observe the following priorities when :determining a document's character encoding (from highest priority to :lowest): : : 1. An HTTP "charset" parameter in a "Content-Type" field. : 2. A META declaration with "http-equiv" set to "Content-Type" and a value : set for "charset". : 3. The charset attribute set on an element that designates an external : resource. -------- : Although the STYLE and SCRIPT elements use CDATA for their data model, 2052: for these elements, CDATA must be handled differently by user agents. : Markup and entities must be treated as raw text and passed to the : application as is. The first occurrence of the character sequence " 0, the current COLGROUP : element defines a column group containing N columns. : 5260: User agents must ignore this attribute if the COLGROUP element contains : one or more COL elements. -------- :The TH element defines a cell that contains header information. User agents :have two pieces of header information available: the contents of the TH 5678:element and the value of the abbr attribute. User agents must render either :the contents of the cell or the value of the abbr attribute. For visual :media, the latter may be appropriate when there is insufficient space to :render the full contents of the cell. For non-visual media abbr may be used -------- : names must be done by exact (case-sensitive) match. : :Thus, the following example is correct with respect to string matching and 6915:must be considered a match by user agents: : :

... :...more document... -------- 7205:User agents must calculate the base URI for resolving relative URIs :according to [RFC1808], section 3. The following describes how [RFC1808] :applies specifically to HTML. : 7209:User agents must calculate the base URI according to the following :precedences (highest priority to lowest): : 1. The base URI is set by the BASE element. -------- :The alt attribute specifies alternate text that is rendered when the image :cannot be displayed (see below for information on how to specify alternate 7391:text ). User agents must render alternate text when they cannot support :images, they cannot support a certain image type or when they are configured :not to display images. -------- 7535:A user agent must interpret an OBJECT element according to the following :precedence rules: : 7538: 1. The user agent must first try to render the object. It should not 7539: render the element's contents, but it must examine them in case the : element contains any direct children that are PARAM elements (see : object initialization) or MAP elements (see client-side image maps). : 2. If the user agent is not able to render the object for whatever reason : (configured not to, lack of resources, wrong architecture, etc.), it 7544: must try to render its contents. : -------- : o ref: The value specified by value is a URI that designates a : resource where run-time values are stored. This allows support 7653: tools to identify URIs given as parameters. The URI must be passed : to the object as is, i.e., unresolved. -------- 7706:When an OBJECT element is rendered, user agents must search the content for :only those PARAM elements that are direct children and "feed" them to the :OBJECT. -------- 7826:User agents that don't support the declare attribute must render the :contents of the OBJECT declaration. -------- :The content of the APPLET acts as alternate information for user agents that :don't support this element or are currently configured not to support 7897:applets. User agents must ignore the content otherwise. -------- 7962:Recall that the contents of OBJECT must only be rendered if the file :specified by the data attribute cannot be loaded. -------- :circular region with no associated link. The second anchor specifies a :larger circular region with the same center coordinates. Combined, the two :form a ring whose center is inactive and whose rim is active. The order of 8230:the anchor definitions is important, since the smaller circle must override :the larger circle. -------- :Authors may group several alternate style sheets (including the author's :preferred style sheets) under a single style name. When a user selects a 8795:named style, the user agent must apply all style sheets with that name. User 8796:agents must not apply alternate style sheets with a different style name. :The section on specifying external style sheets explains how to name a group :of style sheets. -------- 8800:Authors may also specify persistent style sheets that user agents must apply :in addition to any alternate style sheet. -------- 8803:User agents must respect media descriptors when applying any style sheet. -------- :User agents should also allow users to disable the author's style sheets 8806:entirely, in which case the user agent must not apply any persistent or :alternate style sheets. -------- :The script may be defined within the contents of the SCRIPT element or in an 11769:external file. If the src attribute is not set, user agents must interpret :the contents of the element as the script. If the src has a URI value, user 11771:agents must ignore the element's contents and retrieve the script via the :URI. Note that the charset attribute refers to the character encoding of the :script designated by the src attribute; it does not concern the content of :the SCRIPT element. : 11776:Scripts are evaluated by script engines that must be known to a user agent. -------- -------- 1616:User agents must not render SGML processing instructions (e.g., ) or comments. For more information about this and other SGML :features that may be legal in HTML but aren't widely supported by HTML user :agents, please consult the section on SGML features with limited support. -------- -------- :Each attribute definition is a triplet that defines: [...] : * Whether the default value of the attribute is implicit (keyword 1387: "#IMPLIED"), in which case the default value must be supplied by the : user agent (in some cases via inheritance from parent elements); -------- 1817:[User] agents must not assume any default value for the "charset" parameter. --------