Testing/Test Management TF/HTML5 Test Coverage Analysis

From W3C Wiki
Section Category Test Assertions Analyzed by
(Name, Org)
Test Coverage
(Y (url) / N)
Submitted by
(Name, Org)
1 Introduction
1.1 Background N/A Bin Hu, AT&T
1.2 Audience N/A Bin Hu, AT&T
1.3 Scope N/A Bin Hu, AT&T
1.4 History N/A Bin Hu, AT&T
1.5 Design notes N/A Bin Hu, AT&T
1.5.1 Serializability of script execution N/A Bin Hu, AT&T
1.5.2 Compliance with other specifications N/A Bin Hu, AT&T
1.6 HTML vs XHTML N/A Bin Hu, AT&T
1.7 Structure of this specification N/A Bin Hu, AT&T
1.7.1 How to read this specification N/A Bin Hu, AT&T
1.7.2 Typographic conventions N/A Bin Hu, AT&T
1.8 Privacy concerns N/A Bin Hu, AT&T
1.9 A quick introduction to HTML N/A Bin Hu, AT&T
1.9.1 Writing secure applications with HTML N/A Bin Hu, AT&T
1.9.2 Common pitfalls to avoid when using the scripting APIs N/A Bin Hu, AT&T
1.10 Conformance requirements for authors N/A Bin Hu, AT&T
1.10.1 Presentational markup Author Refer to Chapter 3 and 4 for related attributes and elements Bin Hu, AT&T
1.10.2 Syntax errors Author User-Agent must report the following "parse error"
  • Unintuitive error-handling behavior
  • Errors with optional error recovery
  • Errors where the error-handling behavior is not compatible with streaming user agents
  • Errors that can result in infoset coercion
  • Errors that result in disproportionally poor performance
  • Errors involving fragile syntax constructs
  • Errors involving known interoperability problems in legacy user agents
  • Errors that risk exposing authors to security attacks
  • Cases where the author's intent is unclear
  • Cases that are likely to be typos
  • Errors that could interfere with new syntax in the future
Bin Hu, AT&T
1.10.3 Restrictions on content models and on attribute values Author User-Agent must report the following errors related to content models and attribute values
  • Errors involving content with dubious semantics
  • Errors that involve a conflict in expressed semantics
  • Cases where the default styles are likely to lead to confusion
  • Errors that indicate a likely misunderstanding of the specification
  • Errors involving limits that have been imposed merely to simplify the language
  • Errors that involve peculiarities of the parser
  • Errors that would likely result in scripts failing in hard-to-debug ways
  • Errors that waste authoring time
  • Errors that involve areas that affect authors migrating to and from XHTML
  • Errors that involve areas reserved for future expansion
  • Errors that indicate a mis-use of other specifications
Bin Hu, AT&T
1.11 Recommended reading N/A Bin Hu, AT&T
2 Common infrastructure
2.1 Terminology N/A HTML Testing TF
2.1.1 Resources N/A HTML Testing TF
2.1.2 XML N/A HTML Testing TF
2.1.3 DOM trees User-Agent
  • A user agent must not mutate the DOM in such situations
HTML Testing TF
2.1.4 Scripting User-Agent
  • If a DOM object is said to be live, then the attributes and methods on that object must operate on the actual underlying data, not a snapshot of the data
HTML Testing TF
2.1.5 Plugins User-Agent
  • A user agent must not consider the types text/plain and application/octet-stream as having a registered plugin
HTML Testing TF
2.1.6 Character encodings User-Agent
  • a pair of code units consisting of a high surrogate followed by a low surrogate must be treated as the single code point represented by the surrogate pair, but isolated surrogates must each be treated as the single code point with the value of the surrogate.
HTML Testing TF
2.2 Conformance requirements N/A HTML Testing TF
2.2.1 Conformance classes User-Agent
  • Web browsers that support the XHTML syntax must process elements and attributes from the HTML namespace found in XML documents as described in this specification, unless the semantics of those elements have been overridden by other specifications.
    • e.g. A conforming XHTML processor would, upon finding an XHTML script element in an XML document, execute the script contained in that element. However, if the element is found within a transformation expressed in XSLT (assuming the user agent also supports XSLT), then the processor would instead treat the script element as an opaque element that forms part of the transform
  • Web browsers that support the HTML syntax must process documents labeled with an HTML MIME type as described in this specification
  • User agents that support scripting must also be conforming implementations of the IDL fragments in this specification, as described in the Web IDL specification.
  • Visual User agents that are designated as supporting the suggested default rendering must, while so designated, implement the rules in the rendering section that that section defines as the behavior that user agents are expected to implement
  • Implementations that do not support scripting (or which have their scripting features disabled entirely) are exempt from supporting the events and DOM interfaces mentioned in this specification. Such user agents must still act as if events and the DOM were supported.
HTML Testing TF
2.2.2 Dependencies User-Agent
  • Implementations that support the XHTML syntax must support some version of XML, as well as its corresponding namespaces specification, because that syntax uses an XML serialization with namespaces
  • Implementations must support DOM Core and the events defined in DOM Events
  • Implementations must support the features that are defined as extensions to the DOM Core:
    • 15 Interfaces: Attr, Comment, DOMImplementation, Document, DocumentFragment, DocumentType, DOMException, Element, Node, NodeList, ProcessingInstruction, Text, HTMLCollection (and the terms collections and represented by the collection), DOMTokenList, DOMSettableTokenList
    • 6 Methods: createDocument(), createHTMLDocument(), createElement(), createElementNS(), getElementById(), and insertBefore()
    • 10 attributes: ownerDocument, childNodes, localName, parentNode, namespaceURI, tagName, id, textContent, target, isTrusted
    • 4 Algorithms: "insert", "append", and "replace" algorithms for nodes, "clone" a Node and the concept of cloning steps used by that algorithm,
    • Event related: "Event" and "EventTarget" interfaces, "EventInit" dictionary, the "type" of an event, the "event listeners" associated with an "EventTarget"
    • The encoding and content-type of a document
    • The distinction between XML documents and HTML documents
    • "quirks" mode, "limited-quirks" mode, and "no-quirks" mode
    • The concept of "base URL change steps" and the definition of what happens when an element is affected by a "base URL change"
    • The concept of an element's unique identifier (ID)
    • The concept of a DOM "range", and the terms "start", "end", and "boundary point" as applied to "ranges"
    • "MutationObserver" interface, the concept of "MutationObserver" scripting environment and the "invoke MutationObserver objects" algorithm
    • 21 DOMExceptions: IndexSizeError, HierarchyRequestError, WrongDocumentError, InvalidCharacterError, NoModificationAllowedError, NotFoundError, NotSupportedError, InvalidStateError, SyntaxError, InvalidModificationError, NamespaceError, InvalidAccessError, TypeMismatchError, SecurityError, NetworkError, AbortError, URLMismatchError, QuotaExceededError, TimeoutError, InvalidNodeTypeError, DataCloneError
    • "MouseEvent" interface and related attributes: screenX, screenY, clientX, clientY, ctrlKey, shiftKey, altKey, metaKey, button, buttons, relatedTarget
    • "UIEvent" interface and related attributes: view, detail
    • "click" event
    • DOM Parsing and Serialization: innerHTML, outerHTML, insertAdjacentHTML
  • Implementations must support File API "Blob", "File" and "FileList", and File System API "File Callback"
  • Implementations must support XmlHttpRequest
  • Implementations must support "ArrayBuffer" interface and underlying concepts, and Uint8ClampedArray interface from the Typed Array Specification
  • Implementations must support JavaScript (ECMA262)
  • Implementations must support the Media Queries language
  • Implementations may support WebVTT as a text track format for subtitles, captions, chapter titles, metadata, etc, for media resources
  • Implementations must support the semantics of URLs defined in the URI specifications, as well as the semantics of IDNA domain names defined in the Internationalizing Domain Names in Applications (IDNA) specification. [RFC3986] [RFC3987] [RFC3490]
  • Implementations must support the cookies
  • Implementations must support CORS
Bin Hu, AT&T
2.2.3 Extensibility User-Agent Bin Hu, AT&T
2.3 Case-sensitivity and string comparison User-Agent Bin Hu, AT&T
2.4 UTF-8 User-Agent Bin Hu, AT&T
2.5 Common microsyntaxes
2.5.1 Common parser idioms
2.5.2 Boolean attributes
2.5.3 Keywords and enumerated attributes
2.5.4 Numbers
2.5.4.1 Signed integers
2.5.4.2 Non-negative integers
2.5.4.3 Floating-point numbers
2.5.4.4 Percentages and lengths
2.5.4.5 Lists of integers
2.5.4.6 Lists of dimensions
2.5.5 Dates and times
2.5.5.1 Months
2.5.5.2 Dates
2.5.5.3 Yearless dates
2.5.5.4 Times
2.5.5.5 Local dates and times
2.5.5.6 Time zones
2.5.5.7 Global dates and times
2.5.5.8 Weeks
2.5.5.9 Durations
2.5.5.10 Vaguer moments in time
2.5.6 Colors
2.5.7 Space-separated tokens
2.5.8 Comma-separated tokens
2.5.9 References
2.5.10 Media queries
2.6 URLs
2.6.1 Terminology
2.6.2 Parsing URLs
2.6.3 Base URLs
2.6.4 Resolving URLs
2.6.5 URL manipulation and creation
2.6.6 Dynamic changes to base URLs
2.6.7 Interfaces for URL manipulation
2.7 Fetching resources
2.7.1 Terminology
2.7.2 Processing model
2.7.3 Encrypted HTTP and related security concerns
2.7.4 Determining the type of a resource
2.7.5 Extracting character encodings from meta elements
2.7.6 CORS settings attributes
2.7.7 CORS-enabled fetch
2.8 Common DOM interfaces
2.8.1 Reflecting content attributes in IDL attributes
2.8.2 Collections
2.8.2.1 HTMLAllCollection
2.8.2.2 HTMLFormControlsCollection
2.8.2.3 HTMLOptionsCollection
2.8.3 DOMStringMap
2.8.4 Transferable objects
2.8.5 Safe passing of structured data
2.8.6 DOM feature strings
2.8.7 Garbage collection
2.9 Namespaces
3 Semantics, structure, and APIs of HTML documents
3.1 Documents
3.1.1 The Document object
3.1.2 Security
3.1.3 Resource metadata management
3.1.4 DOM tree accessors
3.1.5 Loading XML documents
3.2 Elements
3.2.1 Semantics
3.2.2 Elements in the DOM
3.2.3 Global attributes
3.2.3.1 The id attribute
3.2.3.2 The title attribute
3.2.3.3 The lang and xml:lang attributes
3.2.3.4 The translate attribute
3.2.3.5 The xml:base attribute (XML only)
3.2.3.6 The dir attribute
3.2.3.7 The class attribute
3.2.3.8 The style attribute
3.2.3.9 Embedding custom non-visible data with the data-* attributes
3.2.4 Element definitions
3.2.4.1 Attributes
3.2.5 Content models
3.2.5.1 Kinds of content
3.2.5.1.1 Metadata content
3.2.5.1.2 Flow content
3.2.5.1.3 Sectioning content
3.2.5.1.4 Heading content
3.2.5.1.5 Phrasing content
3.2.5.1.6 Embedded content
3.2.5.1.7 Interactive content
3.2.5.1.8 Palpable content
3.2.5.2 Transparent content models
3.2.5.3 Paragraphs
3.2.6 Requirements relating to bidirectional-algorithm formatting characters
3.2.7 WAI-ARIA
3.2.7.1 ARIA Role Attribute
3.2.7.2 State and Property Attributes
3.2.7.3 Strong Native Semantics
3.2.7.4 Implicit ARIA Semantics
3.3 Interactions with XPath and XSLT
3.4 Dynamic markup insertion
3.4.1 Opening the input stream
3.4.2 Closing the input stream
3.4.3 document.write()
3.4.4 document.writeln()
4 The elements of HTML
4.1 The root element
4.1.1 The html element
4.2 Document metadata
4.2.1 The head element
4.2.2 The title element
4.2.3 The base element
4.2.4 The link element
4.2.5 The meta element
4.2.5.1 Standard metadata names
4.2.5.2 Other metadata names
4.2.5.3 Pragma directives
4.2.5.4 Other pragma directives
4.2.5.5 Specifying the document's character encoding
4.2.6 The style element
4.2.7 Styling
4.3 Scripting
4.3.1 The script element
4.3.1.1 Scripting languages
4.3.1.2 Restrictions for contents of script elements
4.3.1.3 Inline documentation for external scripts
4.3.1.4 Interaction of script elements and XSLT
4.3.2 The noscript element
4.4 Sections
4.4.1 The body element
4.4.2 The article element
4.4.3 The section element
4.4.4 The nav element
4.4.5 The aside element
4.4.6 The h1, h2, h3, h4, h5, and h6 elements
4.4.7 The hgroup element
4.4.8 The header element
4.4.9 The footer element
4.4.10 The address element
4.4.11 Headings and sections
4.4.11.1 Creating an outline
4.4.12 Usage summary
4.5 Grouping content
4.5.1 The p element
4.5.2 The hr element
4.5.3 The pre element
4.5.4 The blockquote element
4.5.5 The ol element
4.5.6 The ul element
4.5.7 The li element
4.5.8 The dl element
4.5.9 The dt element
4.5.10 The dd element
4.5.11 The figure element
4.5.12 The figcaption element
4.5.13 The div element
4.6 Text-level semantics
4.6.1 The a element
4.6.2 The em element
4.6.3 The strong element
4.6.4 The small element
4.6.5 The s element
4.6.6 The cite element
4.6.7 The q element
4.6.8 The dfn element
4.6.9 The abbr element
4.6.10 The time element
4.6.11 The code element
4.6.12 The var element
4.6.13 The samp element
4.6.14 The kbd element
4.6.15 The sub and sup elements
4.6.16 The i element
4.6.17 The b element
4.6.18 The u element
4.6.19 The mark element
4.6.20 The ruby element
4.6.21 The rt element
4.6.22 The rp element
4.6.23 The bdi element
4.6.24 The bdo element
4.6.25 The span element
4.6.26 The br element
4.6.27 The wbr element
4.6.28 Usage summary
4.7 Edits
4.7.1 The ins element
4.7.2 The del element
4.7.3 Attributes common to ins and del elements
4.7.4 Edits and paragraphs
4.7.5 Edits and lists
4.7.6 Edits and tables
4.8 Embedded content
4.8.1 The img element
4.8.1.1 Requirements for providing text to act as an alternative for images
4.8.1.1.1 General guidelines
4.8.1.1.2 A link or button containing nothing but the image
4.8.1.1.3 A phrase or paragraph with an alternative graphical representation: charts, diagrams, graphs, maps, illustrations
4.8.1.1.4 A short phrase or label with an alternative graphical representation: icons, logos
4.8.1.1.5 Text that has been rendered to a graphic for typographical effect
4.8.1.1.6 A graphical representation of some of the surrounding text
4.8.1.1.7 A purely decorative image that doesn't add any information
4.8.1.1.8 A group of images that form a single larger picture with no links
4.8.1.1.9 A group of images that form a single larger picture with links
4.8.1.1.10 A key part of the content
4.8.1.1.11 An image not intended for the user
4.8.1.1.12 Guidance for markup generators
4.8.1.1.13 Guidance for conformance checkers
4.8.2 The iframe element
4.8.3 The embed element
4.8.4 The object element
4.8.5 The param element
4.8.6 The video element
4.8.7 The audio element
4.8.8 The source element
4.8.9 The track element
4.8.10 Media elements
4.8.10.1 Error codes
4.8.10.2 Location of the media resource
4.8.10.3 MIME types
4.8.10.4 Network states
4.8.10.5 Loading the media resource
4.8.10.6 Offsets into the media resource
4.8.10.7 Ready states
4.8.10.8 Playing the media resource
4.8.10.9 Seeking
4.8.10.10 Media resources with multiple media tracks
4.8.10.10.1 AudioTrackList and VideoTrackList objects
4.8.10.10.2 Selecting specific audio and video tracks declaratively
4.8.10.11 Synchronising multiple media elements
4.8.10.11.1 Introduction
4.8.10.11.2 Media controllers
4.8.10.11.3 Assigning a media controller declaratively
4.8.10.12 Timed text tracks
4.8.10.12.1 Text track model
4.8.10.12.2 Sourcing in-band text tracks
4.8.10.12.3 Sourcing out-of-band text tracks
4.8.10.12.4 Guidelines for exposing cues in various formats as text track cues
4.8.10.12.5 Text track API
4.8.10.12.6 Text tracks describing chapters
4.8.10.12.7 Event definitions
4.8.10.13 User interface
4.8.10.14 Time ranges
4.8.10.15 Event definitions
4.8.10.16 Event summary
4.8.10.17 Security and privacy considerations
4.8.10.18 Best practices for authors using media elements
4.8.10.19 Best practices for implementors of media elements
4.8.11 The canvas element
4.8.11.1 Color spaces and color correction
4.8.11.2 Security with canvas elements
4.8.12 The map element
4.8.13 The area element
4.8.14 Image maps
4.8.14.1 Authoring
4.8.14.2 Processing model
4.8.15 MathML
4.8.16 SVG
4.8.17 Dimension attributes
4.9 Tabular data
4.9.1 The table element
4.9.1.1 Techniques for describing tables
4.9.1.2 Techniques for table layout
4.9.2 The caption element
4.9.3 The colgroup element
4.9.4 The col element
4.9.5 The tbody element
4.9.6 The thead element
4.9.7 The tfoot element
4.9.8 The tr element
4.9.9 The td element
4.9.10 The th element
4.9.11 Attributes common to td and th elements
4.9.12 Processing model
4.9.12.1 Forming a table
4.9.12.2 Forming relationships between data cells and header cells
4.9.13 Examples
4.10 Forms
4.10.1 Introduction
4.10.1.1 Writing a form's user interface
4.10.1.2 Implementing the server-side processing for a form
4.10.1.3 Configuring a form to communicate with a server
4.10.1.4 Client-side form validation
4.10.1.5 Date, time, and number formats
4.10.2 Categories
4.10.3 The form element
4.10.4 The fieldset element
4.10.5 The legend element
4.10.6 The label element
4.10.7 The input element
4.10.7.1 States of the type attribute
4.10.7.1.1 Hidden state (type=hidden)
4.10.7.1.2 Text (type=text) state and Search state (type=search)
4.10.7.1.3 Telephone state (type=tel)
4.10.7.1.4 URL state (type=url)
4.10.7.1.5 E-mail state (type=email)
4.10.7.1.6 Password state (type=password)
4.10.7.1.7 Date and Time state (type=datetime)
4.10.7.1.8 Date state (type=date)
4.10.7.1.9 Month state (type=month)
4.10.7.1.10 Week state (type=week)
4.10.7.1.11 Time state (type=time)
4.10.7.1.12 Local Date and Time state (type=datetime-local)
4.10.7.1.13 Number state (type=number)
4.10.7.1.14 Range state (type=range)
4.10.7.1.15 Color state (type=color)
4.10.7.1.16 Checkbox state (type=checkbox)
4.10.7.1.17 Radio Button state (type=radio)
4.10.7.1.18 File Upload state (type=file)
4.10.7.1.19 Submit Button state (type=submit)
4.10.7.1.20 Image Button state (type=image)
4.10.7.1.21 Reset Button state (type=reset)
4.10.7.1.22 Button state (type=button)
4.10.7.2 Implemention notes regarding localization of form controls
4.10.7.3 Common input element attributes
4.10.7.3.1 The autocomplete attribute
4.10.7.3.2 The dirname attribute
4.10.7.3.3 The list attribute
4.10.7.3.4 The readonly attribute
4.10.7.3.5 The size attribute
4.10.7.3.6 The required attribute
4.10.7.3.7 The multiple attribute
4.10.7.3.8 The maxlength attribute
4.10.7.3.9 The pattern attribute
4.10.7.3.10 The min and max attributes
4.10.7.3.11 The step attribute
4.10.7.3.12 The placeholder attribute
4.10.7.4 Common input element APIs
4.10.7.5 Common event behaviors
4.10.8 The button element
4.10.9 The select element
4.10.10 The datalist element
4.10.11 The optgroup element
4.10.12 The option element
4.10.13 The textarea element
4.10.14 The keygen element
4.10.15 The output element
4.10.16 The progress element
4.10.17 The meter element
4.10.18 Association of controls and forms
4.10.19 Attributes common to form controls
4.10.19.1 Naming form controls
4.10.19.2 Enabling and disabling form controls
4.10.19.3 A form control's value
4.10.19.4 Autofocusing a form control
4.10.19.5 Limiting user input length
4.10.19.6 Form submission
4.10.19.7 Submitting element directionality
4.10.20 APIs for the text field selections
4.10.21 Constraints
4.10.21.1 Definitions
4.10.21.2 Constraint validation
4.10.21.3 The constraint validation API
4.10.21.4 Security
4.10.22 Form submission
4.10.22.1 Introduction
4.10.22.2 Implicit submission
4.10.22.3 Form submission algorithm
4.10.22.4 Constructing the form data set
4.10.22.5 URL-encoded form data
4.10.22.6 Multipart form data
4.10.22.7 Plain text form data
4.10.23 Resetting a form
4.11 Interactive elements
4.11.1 The details element
4.11.2 The summary element
4.11.3 The command element
4.11.4 The menu element
4.11.4.1 Introduction
4.11.4.2 Building menus and toolbars
4.11.4.3 Context menus
4.11.4.4 Toolbars
4.11.5 Commands
4.11.5.1 Using the a element to define a command
4.11.5.2 Using the button element to define a command
4.11.5.3 Using the input element to define a command
4.11.5.4 Using the option element to define a command
4.11.5.5 Using the command element to define a command
4.11.5.6 Using the command attribute on command elements to define a command indirectly
4.11.5.7 Using the accesskey attribute on a label element to define a command
4.11.5.8 Using the accesskey attribute on a legend element to define a command
4.11.5.9 Using the accesskey attribute to define a command on other elements
4.11.6 The dialog element
4.11.6.1 Anchor points
4.12 Links
4.12.1 Introduction
4.12.2 Links created by a and area elements
4.12.3 Following hyperlinks
4.12.4 Downloading resources
4.12.4.1 Hyperlink auditing
4.12.5 Link types
4.12.5.1 Link type "alternate"
4.12.5.2 Link type "author"
4.12.5.3 Link type "bookmark"
4.12.5.4 Link type "help"
4.12.5.5 Link type "icon"
4.12.5.6 Link type "license"
4.12.5.7 Link type "nofollow"
4.12.5.8 Link type "noreferrer"
4.12.5.9 Link type "prefetch"
4.12.5.10 Link type "search"
4.12.5.11 Link type "stylesheet"
4.12.5.12 Link type "tag"
4.12.5.13 Sequential link types
4.12.5.13.1 Link type "next"
4.12.5.13.2 Link type "prev"
4.12.5.14 Other link types
4.13 Common idioms without dedicated elements
4.13.1 The main part of the content
4.13.2 Bread crumb navigation
4.13.3 Tag clouds
4.13.4 Conversations
4.13.5 Footnotes
4.14 Matching HTML elements using selectors
4.14.1 Case-sensitivity
4.14.2 Pseudo-classes
5 Loading Web pages
5.1 Browsing contexts
5.1.1 Nested browsing contexts
5.1.1.1 Navigating nested browsing contexts in the DOM
5.1.2 Auxiliary browsing contexts
5.1.2.1 Navigating auxiliary browsing contexts in the DOM
5.1.3 Secondary browsing contexts
5.1.4 Security
5.1.5 Groupings of browsing contexts
5.1.6 Browsing context names
5.2 The Window object
5.2.1 Security
5.2.2 APIs for creating and navigating browsing contexts by name
5.2.3 Accessing other browsing contexts
5.2.4 Named access on the Window object
5.2.5 Garbage collection and browsing contexts
5.2.6 Closing browsing contexts
5.2.7 Browser interface elements
5.2.8 The WindowProxy object
5.3 Origin
5.3.1 Relaxing the same-origin restriction
5.4 Sandboxing
5.5 Session history and navigation
5.5.1 The session history of browsing contexts
5.5.2 The History interface
5.5.3 The Location interface
5.5.3.1 Security
5.5.4 Implementation notes for session history
5.6 Browsing the Web
5.6.1 Navigating across documents
5.6.2 Page load processing model for HTML files
5.6.3 Page load processing model for XML files
5.6.4 Page load processing model for text files
5.6.5 Page load processing model for multipart/x-mixed-replace resources
5.6.6 Page load processing model for media
5.6.7 Page load processing model for content that uses plugins
5.6.8 Page load processing model for inline content that doesn't have a DOM
5.6.9 Navigating to a fragment identifier
5.6.10 History traversal
5.6.10.1 Event definitions
5.6.11 Unloading documents
5.6.11.1 Event definition
5.6.12 Aborting a document load
5.7 Offline Web applications
5.7.1 Introduction
5.7.1.1 Supporting offline caching for legacy applications
5.7.1.2 Event summary
5.7.2 Application caches
5.7.3 The cache manifest syntax
5.7.3.1 Some sample manifests
5.7.3.2 Writing cache manifests
5.7.3.3 Parsing cache manifests
5.7.4 Downloading or updating an application cache
5.7.5 The application cache selection algorithm
5.7.6 Changes to the networking model
5.7.7 Expiring application caches
5.7.8 Disk space
5.7.9 Application cache API
5.7.10 Browser state
6 Web application APIs
6.1 Scripting
6.1.1 Introduction
6.1.2 Enabling and disabling scripting
6.1.3 Processing model
6.1.3.1 Definitions
6.1.3.2 Calling scripts
6.1.3.3 Creating scripts
6.1.3.4 Killing scripts
6.1.3.5 Runtime script errors
6.1.3.5.1 Runtime script errors in documents
6.1.4 Event loops
6.1.4.1 Definitions
6.1.4.2 Processing model
6.1.4.3 Generic task sources
6.1.5 The javascript: URL scheme
6.1.6 Events
6.1.6.1 Event handlers
6.1.6.2 Event handlers on elements, Document objects, and Window objects
6.1.6.3 Event firing
6.1.6.4 Events and the Window object
6.2 Base64 utility methods
6.3 Timers
6.4 User prompts
6.4.1 Simple dialogs
6.4.2 Printing
6.4.3 Dialogs implemented using separate documents
6.5 System state and capabilities
6.5.1 The Navigator object
6.5.1.1 Client identification
6.5.1.2 Custom scheme and content handlers
6.5.1.3 Security and privacy
6.5.1.4 Sample user interface
6.5.1.5 Manually releasing the storage mutex
6.5.2 The External interface
7 User interaction
7.1 The hidden attribute
7.2 Inert subtrees
7.3 Activation
7.4 Focus
7.4.1 Sequential focus navigation and the tabindex attribute
7.4.2 Focus management
7.4.3 Document-level focus APIs
7.4.4 Element-level focus APIs
7.5 Assigning keyboard shortcuts
7.5.1 Introduction
7.5.2 The accesskey attribute
7.5.3 Processing model
7.6 Editing
7.6.1 Making document regions editable: The contenteditable content attribute
7.6.2 Making entire documents editable: The designMode IDL attribute
7.6.3 Best practices for in-page editors
7.6.4 Editing APIs
7.6.5 Spelling and grammar checking
7.7 Drag and drop
7.7.1 Introduction
7.7.2 The drag data store
7.7.3 The DataTransfer interface
7.7.3.1 The DataTransferItemList interface
7.7.3.2 The DataTransferItem interface
7.7.4 The DragEvent interface
7.7.5 Drag-and-drop processing model
7.7.6 Events summary
7.7.7 The draggable attribute
7.7.8 The dropzone attribute
7.7.9 Security risks in the drag-and-drop model
8 The HTML syntax
8.1 Writing HTML documents
8.1.1 The DOCTYPE
8.1.2 Elements
8.1.2.1 Start tags
8.1.2.2 End tags
8.1.2.3 Attributes
8.1.2.4 Optional tags
8.1.2.5 Restrictions on content models
8.1.2.6 Restrictions on the contents of raw text and RCDATA elements
8.1.3 Text
8.1.3.1 Newlines
8.1.4 Character references
8.1.5 CDATA sections
8.1.6 Comments
8.2 Parsing HTML documents
8.2.1 Overview of the parsing model
8.2.2 The input byte stream
8.2.2.1 Determining the character encoding
8.2.2.2 Character encodings
8.2.2.3 Changing the encoding while parsing
8.2.2.4 Preprocessing the input stream
8.2.3 Parse state
8.2.3.1 The insertion mode
8.2.3.2 The stack of open elements
8.2.3.3 The list of active formatting elements
8.2.3.4 The element pointers
8.2.3.5 Other parsing state flags
8.2.4 Tokenization
8.2.4.1 Data state
8.2.4.2 Character reference in data state
8.2.4.3 RCDATA state
8.2.4.4 Character reference in RCDATA state
8.2.4.5 RAWTEXT state
8.2.4.6 Script data state
8.2.4.7 PLAINTEXT state
8.2.4.8 Tag open state
8.2.4.9 End tag open state
8.2.4.10 Tag name state
8.2.4.11 RCDATA less-than sign state
8.2.4.12 RCDATA end tag open state
8.2.4.13 RCDATA end tag name state
8.2.4.14 RAWTEXT less-than sign state
8.2.4.15 RAWTEXT end tag open state
8.2.4.16 RAWTEXT end tag name state
8.2.4.17 Script data less-than sign state
8.2.4.18 Script data end tag open state
8.2.4.19 Script data end tag name state
8.2.4.20 Script data escape start state
8.2.4.21 Script data escape start dash state
8.2.4.22 Script data escaped state
8.2.4.23 Script data escaped dash state
8.2.4.24 Script data escaped dash dash state
8.2.4.25 Script data escaped less-than sign state
8.2.4.26 Script data escaped end tag open state
8.2.4.27 Script data escaped end tag name state
8.2.4.28 Script data double escape start state
8.2.4.29 Script data double escaped state
8.2.4.30 Script data double escaped dash state
8.2.4.31 Script data double escaped dash dash state
8.2.4.32 Script data double escaped less-than sign state
8.2.4.33 Script data double escape end state
8.2.4.34 Before attribute name state
8.2.4.35 Attribute name state
8.2.4.36 After attribute name state
8.2.4.37 Before attribute value state
8.2.4.38 Attribute value (double-quoted) state
8.2.4.39 Attribute value (single-quoted) state
8.2.4.40 Attribute value (unquoted) state
8.2.4.41 Character reference in attribute value state
8.2.4.42 After attribute value (quoted) state
8.2.4.43 Self-closing start tag state
8.2.4.44 Bogus comment state
8.2.4.45 Markup declaration open state
8.2.4.46 Comment start state
8.2.4.47 Comment start dash state
8.2.4.48 Comment state
8.2.4.49 Comment end dash state
8.2.4.50 Comment end state
8.2.4.51 Comment end bang state
8.2.4.52 DOCTYPE state
8.2.4.53 Before DOCTYPE name state
8.2.4.54 DOCTYPE name state
8.2.4.55 After DOCTYPE name state
8.2.4.56 After DOCTYPE public keyword state
8.2.4.57 Before DOCTYPE public identifier state
8.2.4.58 DOCTYPE public identifier (double-quoted) state
8.2.4.59 DOCTYPE public identifier (single-quoted) state
8.2.4.60 After DOCTYPE public identifier state
8.2.4.61 Between DOCTYPE public and system identifiers state
8.2.4.62 After DOCTYPE system keyword state
8.2.4.63 Before DOCTYPE system identifier state
8.2.4.64 DOCTYPE system identifier (double-quoted) state
8.2.4.65 DOCTYPE system identifier (single-quoted) state
8.2.4.66 After DOCTYPE system identifier state
8.2.4.67 Bogus DOCTYPE state
8.2.4.68 CDATA section state
8.2.4.69 Tokenizing character references
8.2.5 Tree construction
8.2.5.1 Creating and inserting elements
8.2.5.2 Closing elements that have implied end tags
8.2.5.3 Foster parenting
8.2.5.4 The rules for parsing tokens in HTML content
8.2.5.4.1 The "initial" insertion mode
8.2.5.4.2 The "before html" insertion mode
8.2.5.4.3 The "before head" insertion mode
8.2.5.4.4 The "in head" insertion mode
8.2.5.4.5 The "in head noscript" insertion mode
8.2.5.4.6 The "after head" insertion mode
8.2.5.4.7 The "in body" insertion mode
8.2.5.4.8 The "text" insertion mode
8.2.5.4.9 The "in table" insertion mode
8.2.5.4.10 The "in table text" insertion mode
8.2.5.4.11 The "in caption" insertion mode
8.2.5.4.12 The "in column group" insertion mode
8.2.5.4.13 The "in table body" insertion mode
8.2.5.4.14 The "in row" insertion mode
8.2.5.4.15 The "in cell" insertion mode
8.2.5.4.16 The "in select" insertion mode
8.2.5.4.17 The "in select in table" insertion mode
8.2.5.4.18 The "after body" insertion mode
8.2.5.4.19 The "in frameset" insertion mode
8.2.5.4.20 The "after frameset" insertion mode
8.2.5.4.21 The "after after body" insertion mode
8.2.5.4.22 The "after after frameset" insertion mode
8.2.5.5 The rules for parsing tokens in foreign content
8.2.6 The end
8.2.7 Coercing an HTML DOM into an infoset
8.2.8 An introduction to error handling and strange cases in the parser
8.2.8.1 Misnested tags: <b><i></b></i>
8.2.8.2 Misnested tags: <b><p></b></p>
8.2.8.3 Unexpected markup in tables
8.2.8.4 Scripts that modify the page as it is being parsed
8.2.8.5 The execution of scripts that are moving across multiple documents
8.2.8.6 Unclosed formatting elements
8.3 Serializing HTML fragments
8.4 Parsing HTML fragments
8.5 Named character references
9 The XHTML syntax
9.1 Writing XHTML documents
9.2 Parsing XHTML documents
9.3 Serializing XHTML fragments
9.4 Parsing XHTML fragments
10 Rendering
10.1 Introduction
10.2 The CSS user agent style sheet and presentational hints
10.3 Non-replaced elements
10.3.1 Hidden elements
10.3.2 The page
10.3.3 Flow content
10.3.4 Phrasing content
10.3.5 Bidirectional text
10.3.6 Quotes
10.3.7 Sections and headings
10.3.8 Lists
10.3.9 Tables
10.3.10 Form controls
10.3.11 The hr element
10.3.12 The fieldset element
10.4 Replaced elements
10.4.1 Embedded content
10.4.2 Images
10.4.3 Attributes for embedded content and images
10.4.4 Image maps
10.4.5 Toolbars
10.5 Bindings
10.5.1 Introduction
10.5.2 The button element
10.5.3 The details element
10.5.4 The input element as a text entry widget
10.5.5 The input element as domain-specific widgets
10.5.6 The input element as a range control
10.5.7 The input element as a color well
10.5.8 The input element as a checkbox and radio button widgets
10.5.9 The input element as a file upload control
10.5.10 The input element as a button
10.5.11 The marquee element
10.5.12 The meter element
10.5.13 The progress element
10.5.14 The select element
10.5.15 The textarea element
10.5.16 The keygen element
10.6 Frames and framesets
10.7 Interactive media
10.7.1 Links, forms, and navigation
10.7.2 The title attribute
10.7.3 Editing hosts
10.7.4 Text rendered in native user interfaces
10.8 Print media
10.9 Unstyled XML documents
11 Obsolete features
11.1 Obsolete but conforming features
11.1.1 Warnings for obsolete but conforming features
11.2 Non-conforming features
11.3 Requirements for implementations
11.3.1 The applet element
11.3.2 The marquee element
11.3.3 Frames
11.3.4 Other elements, attributes and APIs
12 IANA considerations
12.1 text/html
12.2 multipart/x-mixed-replace
12.3 application/xhtml+xml
12.4 application/x-www-form-urlencoded
12.5 text/cache-manifest
12.6 Ping-To
12.7 web+ scheme prefix