diff --git a/index b/index index 81f80780048..c8538b59bc1 100644 --- a/index +++ b/index @@ -282,435 +282,482 @@
  • 3.2.4. Tokens -
  • 3.3. Global - attributes - - -
  • 3.4. Documents and +
  • 3.3. Documents and document fragments + +
  • 3.4. Metadata attributes + + +
  • 3.5. Interaction + -
  • 3.5. The root +
  • 3.6. The root element -
  • 3.6. Document +
  • 3.7. Document metadata -
  • 3.7. Sections +
  • 3.8. Sections -
  • 3.8. Prose +
  • 3.9. Prose -
  • 3.9. Preformatted +
  • 3.10. Preformatted text -
  • 3.10. Lists +
  • 3.11. Lists -
  • 3.11. Phrase elements +
  • 3.12. Phrase elements -
  • 3.12. Edits +
  • 3.13. Edits -
  • 3.13. Embedded +
  • 3.14. Embedded content -
  • 3.14. Tabular data +
  • 3.15. Tabular data -
  • 3.15. Forms 3.16. Forms [TBW] -
  • 3.16. Scripting +
  • 3.17. Scripting -
  • 3.17. Interactive +
  • 3.18. Interactive elements -
  • 3.18. +
  • 3.19. Miscellaneous elements @@ -824,7 +871,7 @@ title=rel-prefetch>prefetch"
  • 4.4.3.14. Link - type "search"
  • 4.4.3.15. Link @@ -866,7 +913,7 @@ title=rel-up>up" -
  • 4.4.3.19. Other link +
  • 4.4.3.19. Other link types @@ -2485,9 +2532,9 @@ should the click, focus, blur methods be recursible? object that represents the element's correspending content attribute, and on setting, the string representation of the new value must replace the value of the element's class content attribute, adding such an attribute - if the element doesn't have one. The setter is unusual in that it expects - a string, and does not affect the class content attribute, adding such an + attribute if the element doesn't have one. The setter is unusual in that + it expects a string, and does not affect the DOMTokenString object that is returned on getting. The same DOMTokenString object must be returned @@ -5241,801 +5288,1154 @@ http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20html%3E.. to a single space, except at the start and end of the string, where such spaces are removed. -

    3.3. Global attributes

    +

    3.3. Documents and document + fragments

    -

    The following attributes are common to all HTML elements: +

    3.3.1. Semantics

    -
    -
    Global attributes: +

    Elements, attributes, and attribute values in HTML are defined (by this + specification) to have certain meanings (semantics). For example, the + ol element represents an ordered list, and + the lang attribute represents the language of the + content. -

    class +

    Authors must only use elements, attributes, and attribute values for + their appropriate semantic purposes. -

    contenteditable +
    +

    For example, the following document is non-conforming, despite being + syntactically correct:

    -
    contextmenu +
    <!DOCTYPE html>
    +<html lang="en-GB">
    + <head> <title> Demonstration </title> </head>
    + <body>
    +  <table>
    +   <tr> <td> My favourite animal is the cat. </td> </tr>
    +   <tr>
    +    <td>
    +     —<a href="http://example.org/~ernest/"><cite>Ernest</cite></a>,
    +     in an essay from 1992
    +    </td>
    +   </tr>
    +  </table>
    + </body>
    +</html>
    -
    dir +

    ...because the data placed in the cells is clearly not tabular data. A + corrected version of this document might be:

    -
    draggable +
    <!DOCTYPE html>
    +<html lang="en-GB">
    + <head> <title> Demonstration </title> </head>
    + <body>
    +  <blockquote>
    +   <p> My favourite animal is the cat. </p>
    +  </blockquote>
    +  <p>
    +   —<a href="http://example.org/~ernest/"><cite>Ernest</cite></a>,
    +   in an essay from 1992
    +  </p>
    + </body>
    +</html>
    -
    id +

    This next document fragment, intended to represent the heading of a + corporate site, is similarly non-conforming because the second line is + not intended to be a heading of a subsection, but merely a subheading or + subtitle (a subordinate heading for the same section).

    -
    lang +
    <body>
    + <h1>ABC Company</h1>
    + <h2>Leading the way in widget design since 1432</h2>
    + ...
    -
    tabindex +

    The header element should be used + in these kinds of situations:

    -
    title -
    +
    <body>
    + <header>
    +  <h1>ABC Company</h1>
    +  <h2>Leading the way in widget design since 1432</h2>
    + </header>
    + ...
    + -

    Event handler attributes aren't handled yet. +

    Through scripting and using other mechanisms, the values of attributes, + text, and indeed the entire structure of the document may change + dynamically while a user agent is processing it. The semantics of a + document at an instant in time are those represented by the state of the + document at that instant in time, and the semantics of a document can + therefore change over time. User agents must update their presentation of + the document as this occurs. -

    3.3.1. Metadata - attributes

    +

    HTML has a progress + element that describes a progress bar. If its "value" attribute is + dynamically updated by a script, the UA would update the rendering to show + the progress changing. -

    User agents must support the following common attributes on all elements in the HTML namespace (including elements - that are not defined by this specification). +

    3.3.2. Structure

    -
    -
    id +

    All the elements in this specification have a defined content model, + which describes what nodes are allowed inside the elements, and thus what + the structure of an HTML document or fragment must look like. Authors must + only put elements inside an element if that element allows them to be + there according to its content model. -

    -

    The element's unique identifier. The value must be unique in the - document and must - contain at least one character.

    - - -

    If the value is not the empty string, user agents must associate the - element with the given value (exactly) for the purposes of ID matching - (e.g. for selectors in CSS or for the getElementById() - method in the DOM).

    +

    As noted in the conformance and terminology sections, for the + purposes of determining if an element matches its content model or not, CDATASection nodes in the + DOM are treated as equivalent to Text nodes, and entity reference nodes are treated as if they were + expanded in place. -

    Identifiers are opaque strings. Particular meanings should not be - derived from the value of the id attribute.

    +

    The space characters are + always allowed between elements. User agents represent these characters + between elements in the source markup as text nodes in the + DOM. + Empty text nodes and text nodes consisting of just + sequences of those characters are considered inter-element whitespace. -

    When an element has an ID set through multiple methods (for example, - if it has both id and - xml:id attributes simultaneously [XMLID]), then the element has multiple - identifiers. Insofar as doing so doesn't violate the relevant - specifications, user agents must use all of an HTML element's - identifiers (including those that are in error according to their - relevant specification) for the purposes of ID matching.

    +

    Inter-element whitespace, comment nodes, + and processing instruction nodes must be ignored when establishing whether + an element matches its content model or not. -

    The id DOM attribute must - reflect the id content attribute.

    +

    Authors must only use elements in the HTML + namespace in the contexts where they are allowed, as defined for each + element. For XML compound documents, these contexts could be inside + elements from other namespaces, if those elements are defined as providing + the relevant contexts. -

    conf reqs for id validity (namely, just that it can't - be the empty string?)

    +
    +

    The SVG specification defines the SVG foreignObject + element as allowing foreign namespaces to be included, thus allowing + compound documents to be created by inserting subdocument content under + that element. This specification defines the XHTML html element as being allowed where subdocument + fragments are allowed in a compound document. Together, these two + definitions mean that placing an XHTML html element as a child of an SVG + foreignObject element is conforming.

    +
    -
    title +

    3.3.3. Kinds of elements

    -
    -

    Advisory information for the element, such as would be appropriate for - a tooltip. On a link, this could be the title or a description of the - target resource; on an image, it could be the caption or a description - of the image; on a paragraph, it could be a footnote or commentary on - the text; on a citation, it could be further information about the - source; and so forth. The value is text.

    +

    Each element in HTML falls into zero or more categories that group + elements with similar characteristics together. This specification uses + the following categories: -

    If this attribute is omitted from an element, then it implies that the - title attribute of - the nearest ancestor with a title attribute set is also relevant to this - element. Setting the attribute overrides this, explicitly stating that - the advisory information of any ancestors is not relevant to this - element. Setting the attribute to the empty string indicates that the - element has no advisory information.

    +
      +
    • Metadata elements -

      Some elements, such as link and - dfn, define additional semantics for - the title attribute - beyond the semantics described above.

      +
    • Sectioning elements -

      The title DOM - attribute must reflect the title content attribute.

      +
    • Block-level elements -
      lang (HTML only) and - xml:lang (XML only) +
    • Strictly inline-level content -
      -

      The primary language for the element's contents and for any of the - element's attributes that contain text. The value must be a valid RFC - 3066 language code, or the empty string. [RFC3066]

      +
    • Structured inline-level elements -

      If this attribute is omitted from an element, then it implies that the - language of this element is the same as the language of the parent - element. Setting the attribute to the empty string indicates that the - primary language is unknown.

      +
    • Interactive elements -

      The lang attribute - only applies to HTML documents. Authors must not - use the lang attribute - in XML documents. Authors must instead use - the xml:lang attribute, defined in - XML. [XML]

      - -

      To determine the language of a node, user agents must look at the - nearest ancestor element (including the element itself if the node is an - element) that has a lang or xml:lang attribute set. That specifies the - language of the node.

      +
    • Form control elements +
    + + -

    If both the xml:lang attribute and - the lang attribute are - set, user agents must use the xml:lang attribute, and the lang attribute must be ignored for the purposes of determining - the element's language.

    - -

    If no explicit language is given for the root - element, then language information from a higher-level protocol - (such as HTTP), if any, must be used as the final fallback language. In - the absence of any language information, the default value is unknown - (the empty string).

    +

    Some elements have unique requirements and do not fit into any + particular category. -

    User agents may use the element's language to determine proper - processing or rendering (e.g. in the selection of appropriate fonts or - pronounciations, or for dictionary selection).

    +

    In addition, some elements represent various common concepts; for + example, some elements represent paragraphs. -

    The lang DOM attribute - must reflect the lang content attribute.

    +
    3.3.3.1. Block-level elements
    -
    dir +

    Block-level elements are used for structural grouping of page content. -

    -

    redefine this in terms of a microsyntax

    +

    There are several kinds of block-level elements: -

    The element's text directionality. The attribute, if specified, must - have either the literal value ltr or the literal value - rtl.

    +
      +
    • Some can only contain other block-level elements: blockquote, section, article, header. -

      If the attribute has the literal value ltr, the element's - directionality is left-to-right. If the attribute has the literal value - rtl, the element's directionality is right-to-left. If the - attribute is omitted or has another value, then the directionality is - unchanged.

      +
    • Some can only contain inline-level + content: p, h1-h6, address. -

      The processing of this attribute depends on the presentation layer. - For example, CSS 2.1 defines a mapping from this attribute to the CSS - 'direction' and 'unicode-bidi' properties, and defines rendering in - terms of those property.

      +
    • Some can contain either block-level elements or inline-level content (but not both): nav, aside, + footer, div. -

      The dir DOM attribute - must reflect the dir content attribute.

      +
    • Finally, some have very specific content models: ul, ol, dl, table, + script. +
    -
    class +

    There are also elements that seem to be block-level but aren't, such as + body, li, dt, dd, and td. These + elements are allowed only in specific places, not simply anywhere that + block-level elements are allowed. -

    -

    The element's classes. The value is an unordered - set of space-separated tokens.

    - -

    The classes that an HTML element has assigned to it consists of all - the classes returned when the value of the class attribute is split on spaces.

    - -

    Assinging classes to an element affects class matching in - selectors in CSS, the getElementsByClassName() - method in the DOM, and other such features.

    - -

    Unless defined by one of the URIs given in the profile attribute, - classes are opaque strings. Particular meanings must not be derived from - undefined values in the class attribute.

    - -

    Authors should bear in mind that using the class attribute does not convey any additional - meaning to the element (unless using classes defined by a profile). There is - no semantic difference between an element with a class - attribute and one without. Authors that use classes that are - not defined in a profile should make sure, therefore, that - their documents make as much sense once all class attributes have been removed as they do - with the attributes present.

    - -

    The className - DOM attribute must reflect the class content attribute.

    -
    - -
    +

    Some block-level elements play multiple roles. For instance, the + script elements is allowed inside + head elements and can also be used as inline-level content. Similarly, the ul, ol, dl, table, and + blockquote elements play dual + roles as both block-level and inline-level elements. -

    3.3.2. Interaction

    - +

    Inline-level content consists of text and various elements to annotate + the text, as well as some embedded content (such + as images or sound clips). -

    3.3.2.1. Activation
    +

    Inline-level content comes in various types: -

    The click() method must fire a click event at the element. +

    +
    Strictly inline-level content -
    3.3.2.2. Focus
    +
    Text, embedded content, and elements that + annotate the text without introducing structural grouping. For example: + a, meter, img. + Elements used in contexts allowing only strictly inline-level content + must not contain anything other than strictly inline-level content. -

    When an element is focused, key events received by the document - must be targetted at that element. There is always an element focused; in - the absence of other elements being focused, the document's root element - is it. +

    Structured inline-level elements -

    Which element within a document currently has focus is independent of - whether or not the document itself has the system focus. +

    Block-level elements that can also be used as inline-level content. + For example: ol, blockquote, table. +
    -

    Some focusable elements might take part in sequential focus - navigation. +

    Some elements are defined to have as a content model significant inline content. This means that at least + one descendant of the element must be significant + text or embedded content. -

    3.3.2.2.1. Focus management [WIP]
    +

    Unless an element's content model explicitly states that it must contain + significant inline content, simply having no text nodes and no elements + satisfies an element whose content model is some kind of inline content. -

    The focus() and blur() methods must focus and - unfocus the element respectively, if the element is focusable. +

    Significant text, for the purposes of + determining the presence of significant inline + content, consists of any character other than those falling in the Unicode + categories Zs, Zl, Zp, Cc, and Cf. [UNICODE] -

    Well that clearly needs more. +

    +

    The following three paragraphs are non-conforming because their content + model is not satisfied (they all count as empty).

    -

    The activeElement - attribute must return the element in the document that has focus. If no - element specifically has focus, this must return the root element. +

    +<p></p>
    +<p><em>&#x00A0;</em></p>
    +<p>
    + <ol>
    +  <li></li>
    + </ol>
    +</p>
    +
    +
    -

    The hasFocus attribute must - return true if the document, one of its nested browsing contexts, or any element in the - document or its browsing contexts currently has the system focus. +

    Embedded content consists of elements that + introduce content from other resources into the document, for example + img. Embedded content elements can have + fallback content: content that is to be used when + the external resource cannot be used (e.g. because it is of an unsupported + format). The element definitions state what the fallback is, if any. -

    3.3.2.2.2. Sequential focus - navigation
    +
    3.3.3.3. Determining if a particular element contains block-level + elements or inline-level content
    -

    This section on the tabindex attribute needs to - be checked for backwards-compatibility. +

    Some elements are defined to have content models that allow either block-level elements or inline-level content, but not both. For example, + the aside and li elements. -

    The tabindex - attribute specifies the relative order of elements for the purposes of - sequential focus navigation. The name "tab index" comes from the common - use of the "tab" key to navigate through the focusable elements. The term - "tabbing" refers to moving forward through the focusable elements. +

    To establish whether such an element is being used as a block-level + container or as an inline-level container, for example in order to + determine if a document conforms to these requirements, user agents must + look at the element's child nodes. If any of the child nodes are not + allowed in block-level contexts, then the element is being used for inline-level content. If all the child nodes are + allowed in a block-level context, then the element is being used for block-level elements. -

    The tabindex - attribute, if specified, must have a value that is a valid integer. +

    +

    For instance, in the following (non-conforming) fragment, the li element is being used as an inline-level + element container, because the style + element is not allowed in a block-level context. (It doesn't matter, for + the purposes of determining whether it is an inline-level or block-level + context, that the style element is not + allowed in inline-level contexts either.)

    -

    If the attribute is specified, it must be parsed using the rules for parsing integers. If parsing the value - returns an error, the attribute is ignored for the purposes of focus - management (as if it wasn't specified). +

    <ol>
    + <li>
    +  <p> Hello World </p>
    +  <style>
    +   /* This example is illegal. */
    +  </style>
    + </li>
    +</ol>
    +
    -

    A positive integer or zero specifies the index of the element in the - current scope's tab order. Elements with the same index are sorted in tree order for the purposes of tabbing. +

    In the following fragment, the aside + element is being used as a block-level container, because even though all + the elements it contains could be considered inline-level elements, there + are no nodes that can only be considered inline-level.

    -

    A negative integer specifies that the element - should be removed from the tab order. If the element does normally take - focus, it may still be focused using other means (e.g. it could be focused - by a click). +

    <aside>
    + <ol>
    +  <li> ... </li>
    + </ol>
    + <ul>
    +  <li> ... </li>
    + </ul>
    +</aside>
    -

    If the attribute is absent (or invalid), then the user agent must treat - the element as if it had the value 0 or the value -1, based on platform - conventions. +

    On the other hand, in the following similar fragment, the aside element is an inline-level container, + because the text ("Foo") can only be considered inline-level.

    -

    For example, a user agent might default - textarea elements to 0, and button elements to - -1, making text fields part of the tabbing cycle but buttons not. +

    <aside>
    + <ol>
    +  <li> ... </li>
    + </ol>
    + Foo
    +</aside>
    +
    -

    When an element that does not normally take focus (i.e. whose default - value would be -1) has the tabindex attribute specified with a positive - value, then it should be added to the tab order and should be made - focusable. When focused, the element matches the CSS :focus - pseudo-class and key events are dispatched on that element in response to - keyboard input. +

    3.3.3.4. Interactive elements
    -

    The tabIndex DOM - attribute reflects the value of the tabIndex content attribute. If the attribute - is not present (or has an invalid value) then the DOM attribute must - return the UA's default value for that element, which will be either 0 - (for elements in the tab order) or -1 (for elements not in the tab order).

    - + +

    The default action of this click event, + or of the real click event if the element + was activated by clicking a pointing device, must be to dispatch yet + another event, namely DOMActivate. + It is the default action of that event that then performs the + actual action.

    + + +

    For certain form controls, this process is complicated further by changes + that must happen around the click event. [WF2]

    + + +

    Most interactive elements have content models that disallowed + nesting interactive elements. + +

    Need to define how default actions actually work. For + instance, if you click an event inside a link, the event is triggered on + that element, but then we'd like a click is sent on the link itself. So + how does that happen? Does the link have a bubbling listener that triggers + that second click event? what if there are multiple nested links, which + one should we send that event to?

    + + +
    3.3.3.5. Paragraphs
    + +

    A paragraph is typically a block of text with + one or more sentences that discuss a particular topic, as in typography, + but can also be used for more general thematic grouping. For instance, an + address is also a paragraph, as is a part of a form, a byline, or a stanza + in a poem. + +

    Paragraphs can be represented by several elements. The address element always represents a paragraph + of contact information for its section, the aside, nav, + footer, li, and dd elements + represent paragraphs with various specific semantics when they are used as inline-level content + containers, the figure element + represents a paragraph in the form of embedded + content, and the p element represents + all the other kinds of paragraphs, for which there are no dedicated + elements. + +

    3.3.4. Global attributes

    + +

    The following attributes are common to all HTML elements: + +

    +
    Global attributes: + +
    class + +
    contenteditable + +
    contextmenu + +
    dir + +
    draggable + +
    id + +
    lang + +
    tabindex + +
    title +
    + +

    Event handler attributes aren't handled yet. + +

    3.4. Metadata + attributes

    + +

    User agents must support the following common attributes on all elements in the HTML namespace (including elements + that are not defined by this specification). + +

    +
    id + +
    +

    The element's unique identifier. The value must be unique in the + document and must + contain at least one character.

    + + +

    If the value is not the empty string, user agents must associate the + element with the given value (exactly) for the purposes of ID matching + (e.g. for selectors in CSS or for the getElementById() + method in the DOM).

    + +

    Identifiers are opaque strings. Particular meanings should not be + derived from the value of the id attribute.

    + +

    When an element has an ID set through multiple methods (for example, + if it has both id and + xml:id attributes simultaneously [XMLID]), then the element has multiple + identifiers. Insofar as doing so doesn't violate the relevant + specifications, user agents must use all of an HTML element's + identifiers (including those that are in error according to their + relevant specification) for the purposes of ID matching.

    + +

    The id DOM attribute must + reflect the id content attribute.

    + +

    conf reqs for id validity (namely, just that it can't + be the empty string?)

    + +
    title + +
    +

    Advisory information for the element, such as would be appropriate for + a tooltip. On a link, this could be the title or a description of the + target resource; on an image, it could be the caption or a description + of the image; on a paragraph, it could be a footnote or commentary on + the text; on a citation, it could be further information about the + source; and so forth. The value is text.

    + +

    If this attribute is omitted from an element, then it implies that the + title attribute of + the nearest ancestor with a title attribute set is also relevant to this + element. Setting the attribute overrides this, explicitly stating that + the advisory information of any ancestors is not relevant to this + element. Setting the attribute to the empty string indicates that the + element has no advisory information.

    + +

    Some elements, such as link and + dfn, define additional semantics for + the title attribute + beyond the semantics described above.

    + +

    The title DOM + attribute must reflect the title content attribute.

    + +
    lang (HTML only) and + xml:lang (XML only) + +
    +

    The primary language for the element's contents and for any of the + element's attributes that contain text. The value must be a valid RFC + 3066 language code, or the empty string. [RFC3066]

    + +

    If this attribute is omitted from an element, then it implies that the + language of this element is the same as the language of the parent + element. Setting the attribute to the empty string indicates that the + primary language is unknown.

    + +

    The lang attribute + only applies to HTML documents. Authors must not + use the lang attribute + in XML documents. Authors must instead use + the xml:lang attribute, defined in + XML. [XML]

    + +

    To determine the language of a node, user agents must look at the + nearest ancestor element (including the element itself if the node is an + element) that has a lang or xml:lang attribute set. That specifies the + language of the node.

    + +

    If both the xml:lang attribute and + the lang attribute are + set, user agents must use the xml:lang attribute, and the lang attribute must be ignored for the purposes of determining + the element's language.

    + +

    If no explicit language is given for the root + element, then language information from a higher-level protocol + (such as HTTP), if any, must be used as the final fallback language. In + the absence of any language information, the default value is unknown + (the empty string).

    + +

    User agents may use the element's language to determine proper + processing or rendering (e.g. in the selection of appropriate fonts or + pronounciations, or for dictionary selection).

    + +

    The lang DOM attribute + must reflect the lang content attribute.

    + +
    dir + +
    +

    redefine this in terms of a microsyntax

    + +

    The element's text directionality. The attribute, if specified, must + have either the literal value ltr or the literal value + rtl.

    + +

    If the attribute has the literal value ltr, the element's + directionality is left-to-right. If the attribute has the literal value + rtl, the element's directionality is right-to-left. If the + attribute is omitted or has another value, then the directionality is + unchanged.

    + +

    The processing of this attribute depends on the presentation layer. + For example, CSS 2.1 defines a mapping from this attribute to the CSS + 'direction' and 'unicode-bidi' properties, and defines rendering in + terms of those property.

    + +

    The dir DOM attribute + must reflect the dir content attribute.

    +
    + +
    + +

    3.4.1. Classes

    + +

    Every HTML element may have a class attribute specified. + +

    The attribute, if specified, must have a value that is an unordered set of space-separated tokens representing + the various classes that the element belongs to. + +

    The classes that an HTML element has assigned to it consists of all the + classes returned when the value of the class attribute is split on spaces. + +

    Assinging classes to an element affects class matching in + selectors in CSS, the getElementsByClassName() method + in the DOM, and other such features. + +

    Authors may use any value in the class attribute, but are encouraged to use the + predefined values defined in this specification where appropriate. + +

    Classes that are not defined in this specification can be defined as extensions, as + described below. + +

    Unless defined by this specification or registered in the Wiki, classes + are opaque strings. Particular meanings must not be derived from undefined + values in the class + attribute. + +

    Authors should bear in mind that using the class attribute does not convey any additional + meaning to the element unless the classes used have been defined by this + specification or registered in the Wiki. There is no semantic difference + between an element with a class attribute and one + without. Authors that use classes that are not so defined should + make sure, therefore, that their documents make as much sense once all + class attributes have + been removed as they do with the attributes present. + +

    The className + DOM attribute must reflect the class content attribute. + +

    3.4.1.1. Predefined class names
    + +

    The following table summarises the class names that are defined by this + specification. This table is non-normative; the actual definitions for the + class names are given in the next few sections. + + + + + + + + + + + + +
    Class name + + Applicable elements + + Brief description + +
    copyright -

    The DocumentFocus interface contains methods for - moving focus around the document. It can be obtained from objects - that implement the Document interface using - binding-specific casting methods.

    +
    p, span -
    interface DocumentFocus {
    -  void moveFocusForward();
    -  void moveFocusBackward();
    -  void moveFocusUp();
    -  void moveFocusRight();
    -  void moveFocusDown();
    -  void moveFocusLeft();
    -};
    +
    Indicates that the element contains the copyright for the document. -

    The currentFocus attribute returns the - element to which key events will be sent when the document receives - key events.

    +
    error -

    The moveFocusForward method uses the - 'nav-index' property and the tabindex - attribute to find the next focusable element and focuses it.

    +
    section, p, strong, + span -

    The moveFocusBackward method uses the - 'nav-index' property and the tabindex - attribute to find the previous focusable element and focuses - it.

    +
    Indicates that the element contains an error message, e.g. in an + error message to the user in an interactive application, or an error + notification in the report of a conformance checker. -

    The moveFocusUp method uses the - 'nav-up' property and the tabindex - attribute to find an appropriate focusable element and focuses - it.

    +
    example -

    In a similar manner, the moveFocusRight, - moveFocusDown, and - moveFocusLeft methods use the - 'nav-right', 'nav-down', and - 'nav-left' properties (respectively), and the - tabindex attribute, to find an appropriate focusable - element and focus it.

    +
    aside, p, span, + figure -

    The 'nav-index', 'nav-up', - 'nav-right', 'nav-down', and - 'nav-left' properties are defined in [CSS3UI].

    +
    Indicates that the element contains some sample material or a worked + example illustrating the neighboring content. -Other things to look at are IE's focus APIs (document.activeElement, -document.hasFocus, HTMLElement.setActive(), onBeforeActivate, -onActivate, onBeforeDeactivate, onDeactivate, document.hasFocus): - https://bugzilla.mozilla.org/show_bug.cgi?id=296471 - https://bugzilla.mozilla.org/show_bug.cgi?id=296469 - http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/activeelement.asp - http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/setactive.asp - http://msdn.microsoft.com/workshop/author/dhtml/reference/events/onbeforeactivate.asp - http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/focus.asp +
    issue + + aside, p, span + + Indicates that the element contains a point in dispute or a problem + with the neighboring content that needs resolving. (Thus, this is + typically only found in works-in-progress or drafts, not in completed + documents.) + +
    note + + aside, p, span + + Indicates that the element contains an explanatory note or + clarification. + +
    search + + body, section, article, aside, p, + span, form + + Indicates that the element's primary purpose is to provide the user + with an interface to perform a search (e.g. of the site's pages or of a + database). + +
    warning + + body, section, article, aside, p, + strong, span, figure + + Indicates that the element contains a warning or admonition. +
    + +

    3.4.1.1.1. Class name "copyright"
    + +

    The copyright class name indicates that the + element contains the copyright for the document. + +

    It must only be used on the following elements: p, span + +

    3.4.1.1.2. Class name "error"
    + +

    The error class + name indicates that the element contains an error message, e.g. in an + error message to the user in an interactive application, or an error + notification in the report of a conformance checker. + +

    It must only be used on the following elements: section, p, + strong, span + +

    It cannot be used on the body element; + if the whole document is an error message then the appropriate metadata + should be included at the network layer (e.g. with HTTP using the 4xx and + 5xx status codes). + +

    3.4.1.1.3. Class name "error"
    + +

    The error class + name indicates that the element contains an error message, e.g. in an + error message to the user in an interactive application, or an error + notification in the report of a conformance checker. + +

    It must only be used on the following elements: + +

    section, p, strong, + span + +

    3.4.1.1.4. Class name "example"
    + +

    The example + class name indicates that the element contains some sample material or a + worked example illustrating the neighboring content. + +

    It must only be used on the following elements: + +

    aside, p, span, figure + +

    3.4.1.1.5. Class name "issue"
    + +

    The issue class + name indicates that the element contains a point in dispute or a problem + with the neighboring content that needs resolving. (Thus, this is + typically only found in works-in-progress or drafts, not in completed + documents.) + +

    It must only be used on the following elements: + +

    aside, p, span + +

    3.4.1.1.6. Class name "note"
    + +

    The note class name + indicates that the element contains an explanatory note or clarification. + +

    It must only be used on the following elements: + +

    aside, p, span + +

    3.4.1.1.7. Class name "search"
    + +

    The search class + name indicates that the element's primary purpose is to provide the user + with an interface to perform a search (e.g. of the site's pages or of a + database). + +

    It must only be used on the following elements: + +

    body, section, article, aside, p, + span, form

    + -

    3.4. Documents and document - fragments

    +
    3.4.1.1.8. Class name "warning"
    -

    3.4.1. Semantics

    +

    The warning + class name indicates that the element contains a warning or admonition. -

    Elements, attributes, and attribute values in HTML are defined (by this - specification) to have certain meanings (semantics). For example, the - ol element represents an ordered list, and - the lang attribute represents the language of the - content. +

    It must only be used on the following elements: body, section, article, aside, p, + strong, span, figure -

    Authors must only use elements, attributes, and attribute values for - their appropriate semantic purposes. +

    3.4.1.2. Other classes
    -
    -

    For example, the following document is non-conforming, despite being - syntactically correct:

    +

    Extensions to the + predefined set of class keywords may be registered in the WHATWG Wiki + ClassExtensions page. -

    <!DOCTYPE html>
    -<html lang="en-GB">
    - <head> <title> Demonstration </title> </head>
    - <body>
    -  <table>
    -   <tr> <td> My favourite animal is the cat. </td> </tr>
    -   <tr>
    -    <td>
    -     —<a href="http://example.org/~ernest/"><cite>Ernest</cite></a>,
    -     in an essay from 1992
    -    </td>
    -   </tr>
    -  </table>
    - </body>
    -</html>
    +

    Anyone is free to edit the WHATWG Wiki ClassExtensions page at any time + to add a type. New classes must be specified with the following + information: -

    ...because the data placed in the cells is clearly not tabular data. A - corrected version of this document might be:

    +
    +
    Keyword -
    <!DOCTYPE html>
    -<html lang="en-GB">
    - <head> <title> Demonstration </title> </head>
    - <body>
    -  <blockquote>
    -   <p> My favourite animal is the cat. </p>
    -  </blockquote>
    -  <p>
    -   —<a href="http://example.org/~ernest/"><cite>Ernest</cite></a>,
    -   in an essay from 1992
    -  </p>
    - </body>
    -</html>
    +
    +

    The actual class name being defined. The class name should not be + confusingly similar to any other defined class name (e.g. differing only + in case). -

    This next document fragment, intended to represent the heading of a - corporate site, is similarly non-conforming because the second line is - not intended to be a heading of a subsection, but merely a subheading or - subtitle (a subordinate heading for the same section).

    +
    Applicable elements -
    <body>
    - <h1>ABC Company</h1>
    - <h2>Leading the way in widget design since 1432</h2>
    - ...
    +
    +

    A list of HTML elements to which the class applies, or one of the + following values:

    -

    The header element should be used - in these kinds of situations:

    +
    +
    Metadata elements -
    <body>
    - <header>
    -  <h1>ABC Company</h1>
    -  <h2>Leading the way in widget design since 1432</h2>
    - </header>
    - ...
    -
    +
    Meaning any element described as being a metadata element. -

    Through scripting and using other mechanisms, the values of attributes, - text, and indeed the entire structure of the document may change - dynamically while a user agent is processing it. The semantics of a - document at an instant in time are those represented by the state of the - document at that instant in time, and the semantics of a document can - therefore change over time. User agents must update their presentation of - the document as this occurs. +

    Sectioning elements -

    HTML has a progress - element that describes a progress bar. If its "value" attribute is - dynamically updated by a script, the UA would update the rendering to show - the progress changing. +

    Meaning any element described as being a sectioning element. -

    3.4.2. Structure

    +
    Block-level elements -

    All the elements in this specification have a defined content model, - which describes what nodes are allowed inside the elements, and thus what - the structure of an HTML document or fragment must look like. Authors must - only put elements inside an element if that element allows them to be - there according to its content model. +

    Meaning any element described as being a block-level element, but only when + that element is actually being used as a block-level element, and not, say, as a + structured inline-level element. -

    As noted in the conformance and terminology sections, for the - purposes of determining if an element matches its content model or not, CDATASection nodes in the - DOM are treated as equivalent to Text nodes, and entity reference nodes are treated as if they were - expanded in place. +

    Strictly inline-level elements -

    The space characters are - always allowed between elements. User agents represent these characters - between elements in the source markup as text nodes in the - DOM. - Empty text nodes and text nodes consisting of just - sequences of those characters are considered inter-element whitespace. +

    Meaning any element described as being strictly + inline-level content. -

    Inter-element whitespace, comment nodes, - and processing instruction nodes must be ignored when establishing whether - an element matches its content model or not. +

    Structured inline-level elements -

    Authors must only use elements in the HTML - namespace in the contexts where they are allowed, as defined for each - element. For XML compound documents, these contexts could be inside - elements from other namespaces, if those elements are defined as providing - the relevant contexts. +

    Meaning any element described as being a structured inline-level + element. -
    -

    The SVG specification defines the SVG foreignObject - element as allowing foreign namespaces to be included, thus allowing - compound documents to be created by inserting subdocument content under - that element. This specification defines the XHTML html element as being allowed where subdocument - fragments are allowed in a compound document. Together, these two - definitions mean that placing an XHTML html element as a child of an SVG - foreignObject element is conforming.

    -
    +
    Interactive -

    3.4.3. Kinds of elements

    +
    Meaning any element described as being an interactive element. -

    Each element in HTML falls into zero or more categories that group - elements with similar characteristics together. This specification uses - the following categories: +

    Embedded content elements - - - +
    Link to more details -

    Some elements have unique requirements and do not fit into any - particular category.

    - +
    +

    A link to a more detailed description of the keyword's semantics and + requirements. It could be another page on the Wiki, or a link to an + external page. -

    3.4.3.1. Block-level elements
    +
    Synonyms -

    Block-level elements are used for structural grouping of page content. +

    +

    A list of other keyword values that have exactly the same processing + requirements. Authors should not use the values defined to be synonyms, + they are only intended to allow user agents to support legacy content. -

    There are several kinds of block-level elements: +

    Status - +

    If a keyword is added with the "proposal" status and found to be + redundant with existing values, it should be removed and listed as a + synonym for the existing value.

    + -

    There are also elements that seem to be block-level but aren't, such as - body, li, dt, dd, and td. These - elements are allowed only in specific places, not simply anywhere that - block-level elements are allowed. +

    Conformance checkers must use the information given on the WHATWG Wiki + ClassExtensions page to establish if a value not explicitly defined in + this specification is defined, and if so, whether it is being used on the + right elements. When an author uses a new class name not defined by either + this specification or the Wiki page, conformance checkers may offer to add + the value to the Wiki, with the details described above, with the + "proposal" status. -

    Some block-level elements play multiple roles. For instance, the - script elements is allowed inside - head elements and can also be used as inline-level content. Similarly, the ul, ol, dl, table, and - blockquote elements play dual - roles as both block-level and inline-level elements. +

    This specification does not define how new values will get approved. It + is expected that the Wiki will have a community that addresses this. -

    3.4.3.2. Inline-level content
    +

    3.5. Interaction

    + -

    Inline-level content comes in various types: +

    3.5.1. Activation

    -
    -
    Strictly inline-level content +

    The click() method must fire a click event at the element. -

    Text, embedded content, and elements that - annotate the text without introducing structural grouping. For example: - a, meter, img. - Elements used in contexts allowing only strictly inline-level content - must not contain anything other than strictly inline-level content. +

    3.5.2. Focus

    -
    Structured inline-level elements +

    When an element is focused, key events received by the document + must be targetted at that element. There is always an element focused; in + the absence of other elements being focused, the document's root element + is it. -

    Block-level elements that can also be used as inline-level content. - For example: ol, blockquote, table. -
    +

    Which element within a document currently has focus is independent of + whether or not the document itself has the system focus. -

    Some elements are defined to have as a content model significant inline content. This means that at least - one descendant of the element must be significant - text or embedded content. +

    Some focusable elements might take part in sequential focus + navigation. -

    Unless an element's content model explicitly states that it must contain - significant inline content, simply having no text nodes and no elements - satisfies an element whose content model is some kind of inline content. +

    3.5.2.1. Focus management [WIP]
    -

    Significant text, for the purposes of - determining the presence of significant inline - content, consists of any character other than those falling in the Unicode - categories Zs, Zl, Zp, Cc, and Cf. [UNICODE] +

    The focus() and blur() methods must focus and + unfocus the element respectively, if the element is focusable. -

    -

    The following three paragraphs are non-conforming because their content - model is not satisfied (they all count as empty).

    +

    Well that clearly needs more. -

    -<p></p>
    -<p><em>&#x00A0;</em></p>
    -<p>
    - <ol>
    -  <li></li>
    - </ol>
    -</p>
    -
    -
    +

    The activeElement + attribute must return the element in the document that has focus. If no + element specifically has focus, this must return the root element. -

    Embedded content consists of elements that - introduce content from other resources into the document, for example - img. Embedded content elements can have - fallback content: content that is to be used when - the external resource cannot be used (e.g. because it is of an unsupported - format). The element definitions state what the fallback is, if any. +

    The hasFocus attribute must + return true if the document, one of its nested browsing contexts, or any element in the + document or its browsing contexts currently has the system focus. -

    3.4.3.3. Determining if a particular element contains block-level - elements or inline-level content
    +
    3.5.2.2. Sequential focus + navigation
    -

    Some elements are defined to have content models that allow either block-level elements or inline-level content, but not both. For example, - the aside and li elements. +

    This section on the tabindex attribute needs to + be checked for backwards-compatibility. -

    To establish whether such an element is being used as a block-level - container or as an inline-level container, for example in order to - determine if a document conforms to these requirements, user agents must - look at the element's child nodes. If any of the child nodes are not - allowed in block-level contexts, then the element is being used for inline-level content. If all the child nodes are - allowed in a block-level context, then the element is being used for block-level elements. +

    The tabindex + attribute specifies the relative order of elements for the purposes of + sequential focus navigation. The name "tab index" comes from the common + use of the "tab" key to navigate through the focusable elements. The term + "tabbing" refers to moving forward through the focusable elements. -

    -

    For instance, in the following (non-conforming) fragment, the li element is being used as an inline-level - element container, because the style - element is not allowed in a block-level context. (It doesn't matter, for - the purposes of determining whether it is an inline-level or block-level - context, that the style element is not - allowed in inline-level contexts either.)

    +

    The tabindex + attribute, if specified, must have a value that is a valid integer. -

    <ol>
    - <li>
    -  <p> Hello World </p>
    -  <style>
    -   /* This example is illegal. */
    -  </style>
    - </li>
    -</ol>
    -
    +

    If the attribute is specified, it must be parsed using the rules for parsing integers. If parsing the value + returns an error, the attribute is ignored for the purposes of focus + management (as if it wasn't specified). -

    In the following fragment, the aside - element is being used as a block-level container, because even though all - the elements it contains could be considered inline-level elements, there - are no nodes that can only be considered inline-level.

    +

    A positive integer or zero specifies the index of the element in the + current scope's tab order. Elements with the same index are sorted in tree order for the purposes of tabbing. -

    <aside>
    - <ol>
    -  <li> ... </li>
    - </ol>
    - <ul>
    -  <li> ... </li>
    - </ul>
    -</aside>
    +

    A negative integer specifies that the element + should be removed from the tab order. If the element does normally take + focus, it may still be focused using other means (e.g. it could be focused + by a click). -

    On the other hand, in the following similar fragment, the aside element is an inline-level container, - because the text ("Foo") can only be considered inline-level.

    +

    If the attribute is absent (or invalid), then the user agent must treat + the element as if it had the value 0 or the value -1, based on platform + conventions. -

    <aside>
    - <ol>
    -  <li> ... </li>
    - </ol>
    - Foo
    -</aside>
    -
    +

    For example, a user agent might default + textarea elements to 0, and button elements to + -1, making text fields part of the tabbing cycle but buttons not. -

    3.4.3.4. Interactive elements
    +

    When an element that does not normally take focus (i.e. whose default + value would be -1) has the tabindex attribute specified with a positive + value, then it should be added to the tab order and should be made + focusable. When focused, the element matches the CSS :focus + pseudo-class and key events are dispatched on that element in response to + keyboard input. -

    Certain elements in HTML can be activated, for instance a elements, button elements, or - input elements when their type attribute is set - to radio. Activation of those elements can happen in various - (UA-defined) ways, for instance via the mouse or keyboard. +

    The tabIndex DOM + attribute reflects the value of the tabIndex content attribute. If the attribute + is not present (or has an invalid value) then the DOM attribute must + return the UA's default value for that element, which will be either 0 + (for elements in the tab order) or -1 (for elements not in the tab order).

    + +

    The DocumentFocus interface contains methods for + moving focus around the document. It can be obtained from objects + that implement the Document interface using + binding-specific casting methods.

    -

    The default action of this click event, - or of the real click event if the element - was activated by clicking a pointing device, must be to dispatch yet - another event, namely DOMActivate. - It is the default action of that event that then performs the - actual action.

    - +
    interface DocumentFocus {
    +  void moveFocusForward();
    +  void moveFocusBackward();
    +  void moveFocusUp();
    +  void moveFocusRight();
    +  void moveFocusDown();
    +  void moveFocusLeft();
    +};
    -

    For certain form controls, this process is complicated further by changes - that must happen around the click event. [WF2]

    - +

    The currentFocus attribute returns the + element to which key events will be sent when the document receives + key events.

    -

    Most interactive elements have content models that disallowed - nesting interactive elements. +

    The moveFocusForward method uses the + 'nav-index' property and the tabindex + attribute to find the next focusable element and focuses it.

    -

    Need to define how default actions actually work. For - instance, if you click an event inside a link, the event is triggered on - that element, but then we'd like a click is sent on the link itself. So - how does that happen? Does the link have a bubbling listener that triggers - that second click event? what if there are multiple nested links, which - one should we send that event to?

    - +

    The moveFocusBackward method uses the + 'nav-index' property and the tabindex + attribute to find the previous focusable element and focuses + it.

    -
    3.4.3.5. Paragraphs
    +

    The moveFocusUp method uses the + 'nav-up' property and the tabindex + attribute to find an appropriate focusable element and focuses + it.

    -

    A paragraph is typically a block of text with - one or more sentences that discuss a particular topic, as in typography, - but can also be used for more general thematic grouping. For instance, an - address is also a paragraph, as is a part of a form, a byline, or a stanza - in a poem. +

    In a similar manner, the moveFocusRight, + moveFocusDown, and + moveFocusLeft methods use the + 'nav-right', 'nav-down', and + 'nav-left' properties (respectively), and the + tabindex attribute, to find an appropriate focusable + element and focus it.

    -

    Paragraphs can be represented by several elements. The address element always represents a paragraph - of contact information for its section, the aside, nav, - footer, li, and dd elements - represent paragraphs with various specific semantics when they are used as inline-level content - containers, the figure element - represents a paragraph in the form of embedded - content, and the p element represents - all the other kinds of paragraphs, for which there are no dedicated - elements. +

    The 'nav-index', 'nav-up', + 'nav-right', 'nav-down', and + 'nav-left' properties are defined in [CSS3UI].

    + +Other things to look at are IE's focus APIs (document.activeElement, +document.hasFocus, HTMLElement.setActive(), onBeforeActivate, +onActivate, onBeforeDeactivate, onDeactivate, document.hasFocus): + https://bugzilla.mozilla.org/show_bug.cgi?id=296471 + https://bugzilla.mozilla.org/show_bug.cgi?id=296469 + http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/activeelement.asp + http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/setactive.asp + http://msdn.microsoft.com/workshop/author/dhtml/reference/events/onbeforeactivate.asp + http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/focus.asp +--> -

    3.5. The root element

    +

    3.6. The root element

    -

    3.5.1. The 3.6.1. The html element

    -
    Contexts in which this element may be used: @@ -6069,6 +6469,10 @@ class="main"> or
    . Why do we also need a body?
    None (but see prose). +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from or
    . Why do we also need a body? the namespace declaration mechanism, and an element cannot actually have an xmlns attribute in the null namespace specified. -

    3.6. Document metadata

    +

    3.7. Document metadata

    Document metadata is represented by metadata elements in the document's head element. -

    3.6.1. The 3.7.1. The head element

    -
    Contexts in which this element may be used: @@ -6124,62 +6527,22 @@ class="main"> or
    . Why do we also need a body?
    Element-specific attributes: -
    profile +
    None. + +
    Predefined classes that apply to this element: + +
    None.
    DOM interface: -
    -
    interface HTMLHeadElement : HTMLElement {
    -           attribute DOMString profile;
    -};
    +
    No difference from HTMLElement.

    The head element collects the document's metadata. -

    The profile - attribute must, if specified, contain a list of zero or more URIs (or - IRIs) representing definitions of classes, metadata names, and link - relations. These URIs are opaque strings, like namespaces; user agents are - not expected to determine any useful information from the resources that - they reference. - -

    profile should use a microsyntax - -

    Each time a class, metadata, or link relationship name that is not - defined by this specification is found in a document, the UA must check - whether any of the URIs in the profile attribute are known (to the UA) to - define that name. The class, metadata, or link relationship shall then be - interpreted using the semantics given by the first URI that is known to - define the name. If the name is not defined by this specification and none - of the specified URIs defines the name either, then the class, metadata, - or link relationship is meaningless and the UA must not assign special - meaning to that name. - -

    If two profiles define the same name, then the semantic is given by the - first URI specified in the profile attribute. There is no way to use the - names from both profiles in one document. - -

    User agents must ignore all the URIs given in the profile attribute - that follow a URI that the UA does not recognise. (Otherwise, if a name is - defined in two profiles, UAs would assign meanings to the document - differently based on which profiles they supported.) - -

    If a profile's definition introduces new definitions over - time, documents that use multiple profiles can change defined meaning over - time. So as to avoid this problem, authors are encouraged to avoid using - multiple profiles. - -

    The profile - DOM attribute must reflect the profile content - attribute on getting and setting. - -

    3.6.2. The 3.7.2. The title element

    Metadata element. @@ -6198,6 +6561,10 @@ class="main"> or

    . Why do we also need a body?
    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from or
    href +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    @@ -6301,7 +6672,7 @@ class="main"> or
    . Why do we also need a body? in XML documents. Authors should instead use the xml:base attribute. [XMLBASE] -

    Metadata element. @@ -6331,6 +6702,10 @@ class="main"> or

    . Why do we also need a body? href="#title3">title attribute has special semantics on this element. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    @@ -6549,7 +6924,7 @@ class="main"> or
    . Why do we also need a body? return false and must do nothing on setting.

    -

    3.6.5. The 3.7.5. The meta element

    Metadata element. @@ -6572,6 +6947,10 @@ class="main"> or

    . Why do we also need a body?
    content +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    @@ -6594,18 +6973,6 @@ class="main"> or
    . Why do we also need a body? id=content0 title=attr-meta-content>content attribute on the same element gives the value. -

    To set metadata with meta elements, - authors must first specify a profile that defines metadata names, using - the profile - attribute. The value of the name attribute must be defined by one of the - profiles, and the value of the content attribute must conform to the syntax - given by the profile. - -

    How user agents handle metadata set in this way depends on the - definitions of the profiles involved. -

    If a meta element has no name attribute, it does not set document metadata. If a meta @@ -6613,13 +6980,109 @@ class="main"> or

    . Why do we also need a body? href="#content0">content attribute, then the value part of the metadata name/value pair is the empty string. +

    The value must not be a URI. Links must be represented using the + link element, not the meta element. +

    The DOM attributes name and content must reflect the respective content attributes of the same name. -

    3.6.5.1. Specifying and +
    3.7.5.1. Standard metadata names
    + +

    This specification defines a few names for the name attribute of the + meta element. + +

    +
    generator + +
    The value must be a free-form string that identifies the software used + to generate the document. This value must not be used on hand-authored + pages. +
    + +
    3.7.5.2. Other metadata names
    + +

    Extensions to the + predefined set of metadata names may be registered in the WHATWG Wiki + MetaExtensions page. + +

    Anyone is free to edit the WHATWG Wiki MetaExtensions page at any time + to add a type. These new names must be specified with the following + information: + +

    +
    Keyword + +
    +

    The actual name being defined. The name should not be confusingly + similar to any other defined name (e.g. differing only in case). + +

    Brief description + +
    +

    A short description of what the metadata name's meaning is, including + the format the value is required to be in. + +

    Link to more details + +
    A link to a more detailed description of the metadata name's semantics + and requirements. It could be another page on the Wiki, or a link to an + external page. + +
    Synonyms + +
    +

    A list of other names that have exactly the same processing + requirements. Authors should not use the names defined to be synonyms, + they are only intended to allow user agents to support legacy content. + +

    Status + +
    +

    One of the following:

    + +
    +
    Proposal + +
    The name has not received wide peer review and approval. Someone has + proposed it and is using it. + +
    Accepted + +
    The name has received wide peer review and approval. It has a + specification that unambiguously defines how to handle pages that use + the name, including when they use it in incorrect ways. + +
    Unendorsed + +
    The metadata name has received wide peer review and it has been + found wanting. Existing pages are using this keyword, but new pages + should avoid it. The "brief description" and "link to more details" + entries will give details of what authors should use instead, if + anything. +
    + +

    If a metadata name is added with the "proposal" status and found to be + redundant with existing values, it should be removed and listed as a + synonym for the existing value.

    +
    + +

    Conformance checkers must use the information given on the WHATWG Wiki + MetaExtensions page to establish if a value not explicitly defined in this + specification is allowed or not. When an author uses a new type not + defined by either this specification or the Wiki page, conformance + checkers should offer to add the value to the Wiki, with the details + described above, with the "proposal" status. + +

    This specification does not define how new values will get approved. It + is expected that the Wiki will have a community that addresses this. + +

    3.7.5.3. Specifying and establishing the document's character encoding

    The meta element may also be used, in @@ -6654,7 +7117,7 @@ class="main"> or

    . Why do we also need a body? -

    3.6.6. The 3.7.6. The style element

    Metadata element. @@ -6679,6 +7142,10 @@ class="main"> or

    . Why do we also need a body? href="#title4">title attribute has special semantics on this element. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    @@ -6771,7 +7238,7 @@ class="main"> or
    . Why do we also need a body? defined for the alternate style sheets DOM. -

    3.7. Sections

    +

    3.8. Sections

    Sectioning elements are elements that divide the page into, for lack of a better word, sections. This section describes @@ -6787,7 +7254,7 @@ class="main"> or

    . Why do we also need a body?

    The processing of headings and sections is defined in the processing models section of this specification. -

    3.7.1. The 3.8.1. The body element

    Sectioning @@ -6807,6 +7274,10 @@ class="main"> or

    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from or
    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from or
    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from or
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from headings and sections for further details. -

    3.7.5. The 3.8.5. The blockquote element

    Sectioning cite +

    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    @@ -7031,7 +7518,7 @@ XXX attributes to give the date authored, date published href="#blockquote0">blockquote elements, but with the dialog element. -

    3.7.6. The 3.8.6. The aside element

    Sectioning None. +

    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from headings and sections for further details. -

    3.7.7. The 3.8.7. The h1, h2, h3, h4, h5, and h6 @@ -7095,6 +7586,10 @@ XXX attributes to give the date authored, date published
    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from These elements must not be empty. -

    3.7.8. The 3.8.8. The header element

    Block-level @@ -7141,6 +7636,10 @@ XXX attributes to give the date authored, date published

    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from header element is the same as for an h1 element (the highest rank). -

    Block-level @@ -7243,6 +7742,10 @@ XXX attributes to give the date authored, date published

    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from address element.

    -

    3.7.10. The 3.8.10. The address element

    Block-level @@ -7292,6 +7795,10 @@ XXX attributes to give the date authored, date published

    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from aside element, does not apply to its ancestor elements, e.g. the page's body. -

    3.8. Prose

    +

    3.9. Prose

    -

    3.8.1. The 3.9.1. The p element

    Block-level @@ -7368,6 +7875,10 @@ XXX attributes to give the date authored, date published

    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from </section> -

    3.8.2. The 3.9.2. The hr element

    Block-level @@ -7457,6 +7968,10 @@ To move the error from the markup to the rhyming.</p>

    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from in a story, or a transition to another topic within a section of a reference book. -

    3.8.3. The 3.9.3. The dialog element

    Block-level @@ -7488,6 +8003,10 @@ To move the error from the markup to the rhyming.</p>

    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from href="#blockquote0">blockquote elements for other ways to cite or quote. -

    3.9. Preformatted text

    +

    3.10. Preformatted text

    -

    3.9.1. The 3.10.1. The pre element

    Block-level @@ -7562,6 +8081,10 @@ To move the error from the markup to the rhyming.</p>

    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from a block of computer output.

    -

    3.10. Lists

    +

    3.11. Lists

    -

    3.10.1. The 3.11.1. The ol element

    Block-level @@ -7626,6 +8149,10 @@ To move the error from the markup to the rhyming.</p>

    start +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    @@ -7672,7 +8199,7 @@ To move the error from the markup to the rhyming.</p> -

    3.10.2. The 3.11.2. The ul element

    Block-level @@ -7695,6 +8222,10 @@ To move the error from the markup to the rhyming.</p>

    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from

    The items of the list are the li element child nodes of the ul element. -

    3.10.3. The 3.11.3. The li element

    -
    Contexts in which this element may be used: @@ -7743,6 +8273,10 @@ To move the error from the markup to the rhyming.</p>
    If the element is not the child of an ol element: None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    @@ -7810,7 +8344,7 @@ To move the error from the markup to the rhyming.</p> attribute must reflect the value of the value content attribute. -

    3.10.4. The 3.11.4. The dl element

    Block-level @@ -7835,6 +8369,10 @@ To move the error from the markup to the rhyming.</p>

    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from speaker/line pair comes after the next). For an example of how to mark up dialogue, see the dialog element. -

    3.10.5. The 3.11.5. The dt element

    -
    Contexts in which this element may be used: @@ -7937,6 +8474,10 @@ To move the error from the markup to the rhyming.</p>
    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from that its contents are a term being defined, but this can be indicated using the dfn element. -

    3.10.6. The 3.11.6. The dd element

    -
    Contexts in which this element may be used: @@ -7984,6 +8524,10 @@ To move the error from the markup to the rhyming.</p>
    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from title="inline-level content">inline content or block-level elements. -

    3.11. Phrase elements

    +

    3.12. Phrase elements

    -

    3.11.1. The 3.12.1. The a element

    Interactive,

    ping +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    @@ -8125,7 +8673,7 @@ To move the error from the markup to the rhyming.</p> href="#reflect">reflect the respective content attributes of the same name. -

    3.11.2. The 3.12.2. The q element

    Strictly inline-level content. @@ -8148,6 +8696,10 @@ To move the error from the markup to the rhyming.</p>

    cite +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    The q element uses the users to follow such citation links.

    -

    3.11.3. The 3.12.3. The cite element

    Strictly inline-level content. @@ -8185,6 +8737,10 @@ To move the error from the markup to the rhyming.</p>

    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from ..."). --> -

    3.11.4. The 3.12.4. The em element

    Strictly inline-level content. @@ -8244,6 +8800,10 @@ citations ("my favourite book is ...").

    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from ..."). --> -

    3.11.5. The 3.12.5. The strong element

    Strictly inline-level content. @@ -8327,6 +8887,10 @@ citations ("my favourite book is ...").

    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from will destroy anything within ten meters.</strong></strong> You have been warned.</p> -

    3.11.6. The 3.12.6. The small element

    Strictly inline-level content. @@ -8379,6 +8943,10 @@ ten meters.</strong></strong> You have been warned.</p>

    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from
    <p><strong><small>Continued use of this service will result in a kiss.</small></strong></p>
    -

    3.11.7. The 3.12.7. The m element

    Strictly inline-level content. @@ -8443,6 +9011,10 @@ merger with Demo Group.</p>

    None. +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from </pre> these days. They're really cute. I think they like my garden!</p> -

    3.11.8. The 3.12.8. The dfn element

    Strictly inline-level content. @@ -8495,6 +9067,10 @@ these days. They're really cute. I think they like my garden!</p> href="#title5">title attribute has special semantics on this element. +

    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from attributes being bad, etc --> -

    3.11.9. The 3.12.9. The abbr element

    Strictly inline-level content. @@ -8599,6 +9175,10 @@ and so Hammond ordered the iris to be opened.</p> href="#title6">title attribute has special semantics on this element. +

    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from <p>Jack used a <abbr>Zat</abbr> to make the boxes of evidence disappear.</p> -

    3.11.10. The 3.12.10. The t element

    Strictly inline-level content. @@ -8663,6 +9243,10 @@ Applications over the World Wide Web.</p> href="#title0">title attribute has special semantics on this element when used with the dfn element. +

    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    No difference from ..."). --> -

    3.11.11. The 3.12.11. The time element

    Strictly inline-level content. @@ -8716,6 +9300,10 @@ citations ("my favourite book is ...").

    datetime +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    @@ -8846,7 +9434,7 @@ citations ("my favourite book is ..."). for marking event dates in hCalendar markup. Thus the DOM APIs are likely to be used as ways to generate interactive calendar widgets or some such. -

    3.11.12. The 3.12.12. The meter element

    Strictly inline-level content. @@ -8875,6 +9463,10 @@ citations ("my favourite book is ...").

    optimum +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    @@ -9175,7 +9767,7 @@ should we also look inside the title="" attribute? should we make the contents accessible in some way, e.g. as a tooltip? --> -

    3.11.13. The 3.12.13. The progress element

    Strictly inline-level content. @@ -9196,6 +9788,10 @@ should we make the contents accessible in some way, e.g. as a tooltip?

    max +
    Predefined classes that apply to this element: + +
    None. +
    DOM interface:
    @@ -9360,7 +9956,7 @@ should we make the contents accessible in some way, e.g. as a tooltip? attribute must return -1. Otherwise, it must return the result of dividing the current value by the maximum value. -

    3.11.14. The 3.12.14. The code element

    Strictly inline-level content. @@ -9409,7 +10005,7 @@ begin end.</code></pre> -

    3.11.15. The 3.12.15. The var element

    Strictly inline-level content. @@ -9450,7 +10046,7 @@ cream factory then I expect at <em>least</em> <var>n</var> flavours of ice cream to be available for purchase!</p> -

    3.11.16. The 3.12.16. The samp element

    Strictly inline-level content. @@ -9506,7 +10102,7 @@ Linux demo 2.6.10-grsec+gg3+e+fhs6b+nfs+gr0501+++p3+c4a+gr2b-reslog-v6.189 #1 SM <samp class="prompt">jdoe@demo:~$</samp> <samp class="cursor">_</samp></samp></pre> -

    3.11.17. The 3.12.17. The kbd element

    Strictly inline-level content. @@ -9567,7 +10163,7 @@ Linux demo 2.6.10-grsec+gg3+e+fhs6b+nfs+gr0501+++p3+c4a+gr2b-reslog-v6.189 #1 SM </p> -

    3.11.18. The 3.12.18. The sup and sub elements

    @@ -9639,7 +10235,7 @@ For example, the 10th point has coordinate
    f(<var>x</var>, <var>n</var>) = log<sub>4</sub><var>x</var><sup><var>n</var></sup>
    -

    3.11.19. The 3.12.19. The span element

    Strictly inline-level content. @@ -9681,7 +10277,7 @@ For example, the 10th point has coordinate href="#dfn0">dfn?

    -

    3.11.20. The 3.12.20. The bdo element

    Strictly inline-level content. @@ -9737,7 +10333,7 @@ For example, the 10th point has coordinate [CSS21]

    -

    3.11.21. The 3.12.21. The br element

    Strictly inline-level content. @@ -9804,12 +10400,12 @@ Address: <input name="address"></p> -

    3.12. Edits

    +

    3.13. Edits

    The ins and del elements represent edits to the document. -

    3.12.1. The 3.13.1. The ins element

    Block-level @@ -9912,7 +10508,7 @@ Address: <input name="address"></p> </aside> -

    3.12.2. The 3.13.2. The del element

    Block-level @@ -9975,7 +10571,7 @@ Address: <input name="address"></p> block-level container, or vice-versa.

    -

    3.12.3. Attributes common to +

    3.13.3. Attributes common to ins and del elements

    @@ -10021,13 +10617,13 @@ Address: <input name="address"></p> id=datetime2 title=dom-mod-datetime>datetime DOM attributes must reflect the elements' content attributes of the same name. -

    3.13. Embedded content

    +

    3.14. Embedded content

    -

    3.13.1. The 3.14.1. The img element

    -

    Strictly inline-level embedded - content. +

    Strictly + inline-level embedded content.

    Contexts in which this element may be used: @@ -10210,11 +10806,11 @@ Address: <input name="address"></p> title=attr-img-src>src attribute, and it is a valid image. -

    3.13.2. The 3.14.2. The iframe element

    -

    Strictly inline-level embedded - content. +

    Strictly + inline-level embedded content.

    Contexts in which this element may be used: @@ -10301,11 +10897,11 @@ Address: <input name="address"></p> title=dom-iframe-src>src must reflect the content attribute of the same name. -

    3.13.3. The 3.14.3. The embed element

    -

    Strictly inline-level embedded - content. +

    Strictly + inline-level embedded content.

    Contexts in which this element may be used: @@ -10439,11 +11035,11 @@ Address: <input name="address"></p> rendered, and is being rendered to a visual medium, or 0 otherwise. [CSS21] -

    3.13.4. The 3.14.4. The object element

    -

    Strictly inline-level embedded - content. +

    Strictly + inline-level embedded content.

    Contexts in which this element may be used: @@ -10712,7 +11308,7 @@ Address: <input name="address"></p> href="#reflect">reflect the respective content attributes of the same name. -

    3.13.5. The 3.14.5. The param element

    @@ -10769,17 +11365,17 @@ Address: <input name="address"></p> href="#reflect">reflect the respective content attributes of the same name. -

    3.13.6. The 3.14.6. The canvas element [TBW]

    -

    Strictly inline-level embedded - content. +

    Strictly + inline-level embedded content.

    This section will eventually contain the definition of canvas (though not the APIs). -

    3.13.7. The 3.14.7. The map element

    Block-level @@ -10833,7 +11429,7 @@ Address: <input name="address"></p> rooted at the map element, whose filter matches only area elements. -

    3.13.8. The 3.14.8. The area element

    Strictly inline-level content.

    @@ -10932,7 +11528,7 @@ Address: <input name="address"></p> href="#reflect">reflect the respective content attributes of the same name. -

    3.13.9. The 3.14.9. The figure element

    Block-level @@ -11007,9 +11603,9 @@ Address: <input name="address"></p> fallback content.

    -

    3.14. Tabular data

    +

    3.15. Tabular data

    -

    3.14.1. The 3.15.1. The table element

    Block-level @@ -11246,7 +11842,7 @@ Address: <input name="address"></p> href="#rows">rows collection, the method must instead raise an INDEX_SIZE_ERR exception. -

    3.14.2. The 3.15.2. The caption element

    @@ -11280,7 +11876,7 @@ Address: <input name="address"></p>

    The caption element takes part in the table model. -

    3.14.3. The 3.15.3. The colgroup element

    @@ -11337,7 +11933,7 @@ Address: <input name="address"></p> same name, with the exception that on setting, if the new value is 0, then an INDEX_SIZE_ERR exception must be raised. -

    3.14.4. The 3.15.4. The col element

    @@ -11390,7 +11986,7 @@ Address: <input name="address"></p> same name, with the exception that on setting, if the new value is 0, then an INDEX_SIZE_ERR exception must be raised. -

    3.14.5. The 3.15.5. The tbody element

    @@ -11474,7 +12070,7 @@ Address: <input name="address"></p> href="#rows0">rows collection, the method must instead raise an INDEX_SIZE_ERR exception. -

    3.14.6. The 3.15.6. The thead element

    @@ -11515,7 +12111,7 @@ Address: <input name="address"></p>

    The thead element takes part in the table model. -

    3.14.7. The 3.15.7. The tfoot element

    @@ -11565,7 +12161,7 @@ Address: <input name="address"></p>

    The tfoot element takes part in the table model. -

    3.14.8. The 3.15.8. The tr element

    @@ -11678,7 +12274,7 @@ Address: <input name="address"></p> href="#cells">cells collection, the method must instead raise an INDEX_SIZE_ERR exception. -

    3.14.9. The 3.15.9. The td element

    @@ -11748,7 +12344,7 @@ Address: <input name="address"></p> title=dom-tr-cells>cells collection. If there is no such parent element, then the attribute must return 0. -

    3.14.10. The 3.15.10. The th element

    @@ -11822,7 +12418,7 @@ Address: <input name="address"></p> therefore also has the DOM attributes defined above in the td section. -

    3.14.11. Processing model

    +

    3.15.11. Processing model

    The various table elements and their content attributes together define the table model. @@ -11925,7 +12521,7 @@ Address: <input name="address"></p> represented by table elements and their descendants. Documents must not have table model errors. -

    3.14.11.1. Forming a table
    +
    3.15.11.1. Forming a table

    To determine which elements correspond to which slots in a table associated with a title=concept-cell>cell anchored to them, then this is a table model error. -

    3.14.11.2. Forming relationships +
    3.15.11.2. Forming relationships between data cells and header cells [TBW]

    The algorithm for assigning header cells to data @@ -12426,7 +13022,7 @@ Address: <input name="address"></p>

    ...

    -

    3.15. Forms 3.16. Forms [TBW]

    @@ -12438,55 +13034,55 @@ Address: <input name="address"></p> -

    3.15.1. The form +

    3.16.1. The form element

    -

    3.15.2. The +

    3.16.2. The fieldset element

    -

    3.15.3. The input +

    3.16.3. The input element

    -

    3.15.4. The button +

    3.16.4. The button element

    -

    3.15.5. The label +

    3.16.5. The label element

    -

    3.15.6. The select +

    3.16.6. The select element

    -

    3.15.7. The +

    3.16.7. The datalist element

    -

    3.15.8. The +

    3.16.8. The optgroup element

    -

    3.15.9. The option +

    3.16.9. The option element

    -

    3.15.10. The +

    3.16.10. The textarea element

    -

    3.15.11. The output +

    3.16.11. The output element

    -

    3.15.12. Processing model

    +

    3.16.12. Processing model

    See WF2 for now -

    3.15.12.1. Form submission +
    3.16.12.1. Form submission [TBW]

    See WF2 for now -

    3.16. Scripting

    +

    3.17. Scripting

    -

    3.16.1. The 3.17.1. The script element

    Block-level @@ -12809,7 +13405,7 @@ Address: <input name="address"></p> way as the textContent DOM attribute. -

    3.16.1.1. Script languages
    +
    3.17.1.1. Script languages

    The following lists some MIME types and the languages to which they refer: @@ -12831,12 +13427,11 @@ Address: <input name="address"></p> agents must not ignore unknown MIME parameters — types with unknown parameters must be assumed to be unsupported. -

    3.16.2. The 3.17.2. The noscript element

    Block-level - element, strictly inline-level content, and metadata element. + element, and strictly inline-level content.

    Contexts in which this element may be used: @@ -12956,9 +13551,9 @@ Address: <input name="address"></p> XML the parser is not affected by such state, and thus the element would not have the desired effect. -

    3.17. Interactive elements

    +

    3.18. Interactive elements

    -

    3.17.1. The 3.18.1. The details element

    Interactive, 3.17.2. 3.18.2. [SCS] The datagrid element

    @@ -13119,7 +13714,7 @@ https://www.google.com/base/settings disabled content attributes respectively. -
    3.17.2.1. The 3.18.2.1. The datagrid data model

    This section is non-normative. @@ -13161,12 +13756,12 @@ https://www.google.com/base/settings href="#datagridClassSummary">affect the functionality of the datagrid element, and are also passed to the style system. They are similar - in concept to the class - attribute, except that they are not specified on elements but are given by - scripted data providers.

    + in concept to the class attribute, except that they are not + specified on elements but are given by scripted data providers.

    -
    3.17.2.2. How rows are identified
    +
    3.18.2.2. How rows are identified

    The chains of numbers that give a row's path, or identifier, are represented by objects that implement the GetChildAtPosition() methods ever get called with the empty path. -

    3.17.2.3. The data provider +
    3.18.2.3. The data provider interface

    The conformance criteria in this section apply to any implementation @@ -13663,7 +14258,7 @@ interface DataGridDataProvider { --> -

    3.17.2.4. The default data +
    3.18.2.4. The default data provider

    The user agent must supply a default data provider for the case where @@ -13751,7 +14346,7 @@ interface DataGridDataProvider { href="#thead1">thead element child has no tr element child, the default data provider must not add any classes for any of the captions. Otherwise, each class in - the class attribute + the class attribute of the ith th element child of the first tr element child of the first thead element @@ -13767,7 +14362,7 @@ interface DataGridDataProvider { href="#reversed">reversed classes.

  • If the table element has a class attribute that + title=attr-class>class attribute that includes the sortable class, add the sortable class. @@ -13970,14 +14565,14 @@ interface DataGridDataProvider {
  • If the row's corresponding element contains other elements that are also in the view, and the element's class attribute contains + title=attr-class>class attribute contains the closed class: initially-closed
  • If the row's corresponding element contains other elements that are also in the view, and the element's class attribute contains + title=attr-class>class attribute contains the open class: initially-open @@ -14105,14 +14700,14 @@ interface DataGridDataProvider {
    • If the row's element contains other elements that are also in the view, and the element's class attribute contains the class attribute contains the closed class: initially-closed
    • If the row's element contains other elements that are also in the view, and the element's class attribute contains the class attribute contains the open class: initially-open @@ -14165,7 +14760,7 @@ interface DataGridDataProvider { datagrid.

  • -
    3.17.2.4.1. +
    3.18.2.4.1. Common default data provider method definitions for cells

    These definitions are used for the cell-specific methods of the default @@ -14305,7 +14900,7 @@ interface DataGridDataProvider {

    -
    3.17.2.5. Populating the +
    3.18.2.5. Populating the datagrid element

    A datagrid must be disabled until @@ -14745,7 +15340,7 @@ interface DataGridDataProvider { -

    3.17.2.6. Updating the 3.18.2.6. Updating the datagrid

    Whenever the DataGridDataProvider { href="#inconsistentDataProvider">likely to result in inconsistent renderings, and the user agent is likely to disable the data grid. -

    3.17.2.7. Requirements for +
    3.18.2.7. Requirements for interactive user agents

    This section only applies to interactive user agents. @@ -14894,7 +15489,7 @@ interface DataGridDataProvider { provider's method was invoked.

    -
    3.17.2.8. The selection
    +
    3.18.2.8. The selection

    This section only applies to interactive user agents. For other user agents, the relation to the Selection interface. -

    3.17.2.9. Columns and captions
    +
    3.18.2.9. Columns and captions

    This section only applies to interactive user agents. @@ -15072,7 +15667,7 @@ XXX selection ranges -->

    define drag and drop in datagrids; selectiondraggable, etc.

    --> -

    3.17.3. The 3.18.3. The command element

    Metadata element, and @@ -15284,7 +15879,7 @@ XXX selection ranges -->

    command elements are not rendered unless they form part of a menu. -

    3.17.4. The 3.18.4. The menu element

    Block-level @@ -15386,11 +15981,10 @@ XXX selection ranges -->

    The processing model for menus is described in the next section. -

    3.18. Miscellaneous elements

    +

    3.19. Miscellaneous elements

    -

    3.18.1. The 3.19.1. The legend element

    -
    Contexts in which this element may be used: @@ -16517,7 +17111,7 @@ XXX selection ranges --> the previous document in the series is the referenced document. - search + search Hyperlink @@ -16934,15 +17528,15 @@ mpt says: will require this resource. + id=search2 title=rel-search>search"
    -

    The search keyword +

    The search keyword may be used with link, a, and area elements. For link elements, it creates a hyperlink. -

    The search keyword +

    The search keyword indicates that the referenced document provides an interface specifically for searching the document and its related resources. @@ -17120,7 +17714,7 @@ mpt says: --> -

    4.4.3.19. Other link types
    +
    4.4.3.19. Other link types

    Other than the types defined above, only types defined as extensions in the WHATWG Wiki @@ -32105,7 +32699,6 @@ normative classes: * applies to elements: * processing model: * status: - get rid of profile="" vlad: you should define what the UA should do with out-of-order aDATs @@ -32276,10 +32869,6 @@ section "rendering HTML" has to cope with: and if you find one, carry on as if that was your data="". -XMDP or something should be at the end of profile="". - - - should have some text talking about the fact that it's ok if your page passes through a period of non-conformance while script is running, but that in between scripts it should be compliant.