OnDoc
| sign
in
up
~
pub
|
pdf
txt
html
toc
url
|
<<
>>
1
2
3
4
5
6
7
8
~
707
Table of Contents
HTML5 (including next generation additions still in development)
Draft Standard — 7 April 2010
Abstract
Status of this document
Table of contents
1 Introduction
1.1 Is this HTML5?
1.2 Background
1.3 Audience
1.4 Scope
1.5 History
1.6 Design notes
1.6.1 Serializability of script execution
1.6.2 Compliance with other specifications
1.7 HTML vs XHTML
1.8 Structure of this specification
1.8.1 How to read this specification
1.8.2 Typographic conventions
1.9 A quick introduction to HTML
1.10 Conformance requirements for authors
1.10.1 Presentational markup
1.10.2 Syntax errors
1.10.3 Restrictions on content models and on attribute values
1.11 Recommended reading
2 Common infrastructure
2.1 Terminology
2.1.1 Resources
2.1.2 XML
2.1.3 DOM trees
2.1.4 Scripting
2.1.5 Plugins
2.1.6 Character encodings
2.2 Conformance requirements
2.2.1 Dependencies
2.2.2 Extensibility
2.3 Case-sensitivity and string comparison
2.4 Common microsyntaxes
2.4.1 Common parser idioms
2.4.2 Boolean attributes
2.4.3 Keywords and enumerated attributes
2.4.4 Numbers
2.4.4.1 Non-negative integers
2.4.4.2 Signed integers
2.4.4.3 Real numbers
2.4.4.4 Percentages and lengths
2.4.4.5 Lists of integers
2.4.4.6 Lists of dimensions
2.4.5 Dates and times
2.4.5.1 Months
2.4.5.2 Dates
2.4.5.3 Times
2.4.5.4 Local dates and times
2.4.5.5 Global dates and times
2.4.5.6 Weeks
2.4.5.7 Vaguer moments in time
2.4.6 Colors
2.4.7 Space-separated tokens
2.4.8 Comma-separated tokens
2.4.9 References
2.4.10 Media queries
2.5 URLs
2.5.1 Terminology
2.5.2 Dynamic changes to base URLs
2.5.3 Interfaces for URL manipulation
2.6 Fetching resources
2.6.1 Protocol concepts
2.6.2 Encrypted HTTP and related security concerns
2.6.3 Determining the type of a resource
2.7 Common DOM interfaces
2.7.1 Reflecting content attributes in IDL attributes
2.7.2 Collections
2.7.2.1 HTMLCollection
2.7.2.2 HTMLAllCollection
2.7.2.3 HTMLFormControlsCollection
2.7.2.4 HTMLOptionsCollection
2.7.2.5 HTMLPropertiesCollection
2.7.3 DOMTokenList
2.7.4 DOMSettableTokenList
2.7.5 Safe passing of structured data
2.7.6 DOMStringMap
2.7.7 DOM feature strings
2.7.8 Exceptions
2.7.9 Garbage collection
2.8 Namespaces
3 Semantics, structure, and APIs of HTML documents
3.1 Documents
3.1.1 Documents in the DOM
3.1.2 Security
3.1.3 Resource metadata management
3.1.4 DOM tree accessors
3.1.5 Creating 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 xml:base attribute (XML only)
3.2.3.5 The dir attribute
3.2.3.6 The class attribute
3.2.3.7 The style attribute
3.2.3.8 Embedding custom non-visible data
3.2.4 Element definitions
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.2 Transparent content models
3.2.5.3 Paragraphs
3.2.6 Annotations for assistive technology products (ARIA)
3.3 APIs in HTML documents
3.4 Interactions with XPath and XSLT
3.5 Dynamic markup insertion
3.5.1 Opening the input stream
3.5.2 Closing the input stream
3.5.3 document.write()
3.5.4 document.writeln()
3.5.5 innerHTML
3.5.6 outerHTML
3.5.7 insertAdjacentHTML()
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.2 The noscript element
4.4 Sections
4.4.1 The body element
4.4.2 The section element
4.4.3 The nav element
4.4.4 The article 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.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 cite element
4.6.6 The q element
4.6.7 The dfn element
4.6.8 The abbr element
4.6.9 The time element
4.6.10 The code element
4.6.11 The var element
4.6.12 The samp element
4.6.13 The kbd element
4.6.14 The sub and sup elements
4.6.15 The i element
4.6.16 The b element
4.6.17 The mark element
4.6.18 The ruby element
4.6.19 The rt element
4.6.20 The rp element
4.6.21 The bdo element
4.6.22 The span element
4.6.23 The br element
4.6.24 The wbr element
4.6.25 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.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 A link or button containing nothing but the image
4.8.1.1.2 A phrase or paragraph with an alternative graphical representation: charts, diagrams, graphs, maps, illustrations
4.8.1.1.3 A short phrase or label with an alternative graphical representation: icons, logos
4.8.1.1.4 Text that has been rendered to a graphic for typographical effect
4.8.1.1.5 A graphical representation of some of the surrounding text
4.8.1.1.6 A purely decorative image that doesn't add any information
4.8.1.1.7 A group of images that form a single larger picture with no links
4.8.1.1.8 A group of images that form a single larger picture with links
4.8.1.1.9 A key part of the content
4.8.1.1.10 An image not intended for the user
4.8.1.1.11 An image in an e-mail or private document intended for a specific person who is known to be able to view images
4.8.1.1.12 General guidelines
4.8.1.1.13 Guidance for markup generators
4.8.1.1.14 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 Media elements
4.8.9.1 Error codes
4.8.9.2 Location of the media resource
4.8.9.3 MIME types
4.8.9.4 Network states
4.8.9.5 Loading the media resource
4.8.9.6 Offsets into the media resource
4.8.9.7 The ready states
4.8.9.8 Playing the media resource
4.8.9.9 Seeking
4.8.9.10 User interface
4.8.9.11 Time ranges
4.8.9.12 Event summary
4.8.9.13 Security and privacy considerations
4.8.10 The canvas element
4.8.10.1 The 2D context
4.8.10.1.1 The canvas state
4.8.10.1.2 Transformations
4.8.10.1.3 Compositing
4.8.10.1.4 Colors and styles
4.8.10.1.5 Line styles
4.8.10.1.6 Shadows
4.8.10.1.7 Simple shapes (rectangles)
4.8.10.1.8 Complex shapes (paths)
4.8.10.1.9 Focus management
4.8.10.1.10 Text
4.8.10.1.11 Images
4.8.10.1.12 Pixel manipulation
4.8.10.1.13 Drawing model
4.8.10.1.14 Examples
4.8.10.2 Color spaces and color correction
4.8.10.3 Security with canvas elements
4.8.11 The map element
4.8.12 The area element
4.8.13 Image maps
4.8.13.1 Authoring
4.8.13.2 Processing model
4.8.14 MathML
4.8.15 SVG
4.8.16 Dimension attributes
4.9 Tabular data
4.9.1 The table element
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.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
4.10.7.1.2 Text state and Search state
4.10.7.1.3 Telephone state
4.10.7.1.4 URL state
4.10.7.1.5 E-mail state
4.10.7.1.6 Password state
4.10.7.1.7 Date and Time state
4.10.7.1.8 Date state
4.10.7.1.9 Month state
4.10.7.1.10 Week state
4.10.7.1.11 Time state
4.10.7.1.12 Local Date and Time state
4.10.7.1.13 Number state
4.10.7.1.14 Range state
4.10.7.1.15 Color state
4.10.7.1.16 Checkbox state
4.10.7.1.17 Radio Button state
4.10.7.1.18 File Upload state
4.10.7.1.19 Submit Button state
4.10.7.1.20 Image Button state
4.10.7.1.21 Reset Button state
4.10.7.1.22 Button state
4.10.7.2 Common input element attributes
4.10.7.2.1 The autocomplete attribute
4.10.7.2.2 The list attribute
4.10.7.2.3 The readonly attribute
4.10.7.2.4 The size attribute
4.10.7.2.5 The required attribute
4.10.7.2.6 The multiple attribute
4.10.7.2.7 The maxlength attribute
4.10.7.2.8 The pattern attribute
4.10.7.2.9 The min and max attributes
4.10.7.2.10 The step attribute
4.10.7.2.11 The placeholder attribute
4.10.7.3 Common input element APIs
4.10.7.4 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.20 Constraints
4.10.20.1 Definitions
4.10.20.2 Constraint validation
4.10.20.3 The constraint validation API
4.10.20.4 Security
4.10.21 Form submission
4.10.21.1 Introduction
4.10.21.2 Implicit submission
4.10.21.3 Form submission algorithm
4.10.21.4 URL-encoded form data
4.10.21.5 Multipart form data
4.10.21.6 Plain text form data
4.10.22 Resetting a form
4.10.23 Event dispatch
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 accesskey attribute on a label element to define a command
4.11.5.7 Using the accesskey attribute on a legend element to define a command
4.11.5.8 Using the accesskey attribute to define a command on other elements
4.11.6 The device element
4.11.6.1 Stream API
4.11.6.2 Peer-to-peer connections
4.12 Links
4.12.1 Hyperlink elements
4.12.2 Following hyperlinks
4.12.2.1 Hyperlink auditing
4.12.3 Link types
4.12.3.1 Link type "alternate"
4.12.3.2 Link type "archives"
4.12.3.3 Link type "author"
4.12.3.4 Link type "bookmark"
4.12.3.5 Link type "external"
4.12.3.6 Link type "help"
4.12.3.7 Link type "icon"
4.12.3.8 Link type "license"
4.12.3.9 Link type "nofollow"
4.12.3.10 Link type "noreferrer"
4.12.3.11 Link type "pingback"
4.12.3.12 Link type "prefetch"
4.12.3.13 Link type "search"
4.12.3.14 Link type "stylesheet"
4.12.3.15 Link type "sidebar"
4.12.3.16 Link type "tag"
4.12.3.17 Hierarchical link types
4.12.3.17.1 Link type "index"
4.12.3.17.2 Link type "up"
4.12.3.18 Sequential link types
4.12.3.18.1 Link type "first"
4.12.3.18.2 Link type "last"
4.12.3.18.3 Link type "next"
4.12.3.18.4 Link type "prev"
4.12.3.19 Other link types
4.13 Common idioms without dedicated elements
4.13.1 Tag clouds
4.13.2 Conversations
4.13.3 Footnotes
4.14 Matching HTML elements using selectors
4.14.1 Case-sensitivity
4.14.2 Pseudo-classes
5 Microdata
5.1 Introduction
5.1.1 Overview
5.1.2 The basic syntax
5.1.3 Typed items
5.1.4 Global identifiers for items
5.1.5 Selecting names when defining vocabularies
5.1.6 Using the microdata DOM API
5.2 Encoding microdata
5.2.1 The microdata model
5.2.2 Items
5.2.3 Names: the itemprop attribute
5.2.4 Values
5.2.5 Associating names with items
5.3 Microdata DOM API
5.4 Microdata vocabularies
5.4.1 vCard
5.4.1.1 Conversion to vCard
5.4.1.2 Examples
5.4.2 vEvent
5.4.2.1 Conversion to iCalendar
5.4.2.2 Examples
5.4.3 Licensing works
5.4.3.1 Conversion to RDF
5.4.3.2 Examples
5.5 Converting HTML to other formats
5.5.1 JSON
5.5.2 RDF
5.5.2.1 Examples
5.5.3 Atom
6 Loading Web pages
6.1 Browsing contexts
6.1.1 Nested browsing contexts
6.1.1.1 Navigating nested browsing contexts in the DOM
6.1.2 Auxiliary browsing contexts
6.1.2.1 Navigating auxiliary browsing contexts in the DOM
6.1.3 Secondary browsing contexts
6.1.4 Security
6.1.5 Groupings of browsing contexts
6.1.6 Browsing context names
6.2 The Window object
6.2.1 Security
6.2.2 APIs for creating and navigating browsing contexts by name
6.2.3 Accessing other browsing contexts
6.2.4 Named access on the Window object
6.2.5 Garbage collection and browsing contexts
6.2.6 Browser interface elements
6.2.7 The WindowProxy object
6.3 Origin
6.3.1 Relaxing the same-origin restriction
6.4 Session history and navigation
6.4.1 The session history of browsing contexts
6.4.2 The History interface
6.4.3 The Location interface
6.4.3.1 Security
6.4.4 Implementation notes for session history
6.5 Browsing the Web
6.5.1 Navigating across documents
6.5.2 Page load processing model for HTML files
6.5.3 Page load processing model for XML files
6.5.4 Page load processing model for text files
6.5.5 Page load processing model for images
6.5.6 Page load processing model for content that uses plugins
6.5.7 Page load processing model for inline content that doesn't have a DOM
6.5.8 Navigating to a fragment identifier
6.5.9 History traversal
6.5.9.1 Event definitions
6.5.10 Unloading documents
6.5.10.1 Event definition
6.5.11 Aborting a document load
6.6 Offline Web applications
6.6.1 Introduction
6.6.1.1 Event summary
6.6.2 Application caches
6.6.3 The cache manifest syntax
6.6.3.1 A sample manifest
6.6.3.2 Writing cache manifests
6.6.3.3 Parsing cache manifests
6.6.4 Downloading or updating an application cache
6.6.5 The application cache selection algorithm
6.6.6 Changes to the networking model
6.6.7 Expiring application caches
6.6.8 Application cache API
6.6.9 Browser state
7 Web application APIs
7.1 Scripting
7.1.1 Introduction
7.1.2 Enabling and disabling scripting
7.1.3 Processing model
7.1.3.1 Definitions
7.1.3.2 Calling scripts
7.1.3.3 Creating scripts
7.1.3.4 Killing scripts
7.1.4 Event loops
7.1.4.1 Definitions
7.1.4.2 Processing model
7.1.4.3 Generic task sources
7.1.5 The javascript: protocol
7.1.6 Events
7.1.6.1 Event handlers
7.1.6.2 Event handlers on elements, Document objects, and Window objects
7.1.6.3 Event firing
7.1.6.4 Events and the Window object
7.1.6.5 Runtime script errors
7.2 Timers
7.3 User prompts
7.3.1 Simple dialogs
7.3.2 Printing
7.3.3 Dialogs implemented using separate documents
7.4 System state and capabilities
7.4.1 Client identification
7.4.2 Custom scheme and content handlers
7.4.2.1 Security and privacy
7.4.2.2 Sample user interface
7.4.3 Manually releasing the storage mutex
8 User interaction
8.1 The hidden attribute
8.2 Activation
8.3 Scrolling elements into view
8.4 Focus
8.4.1 Sequential focus navigation
8.4.2 Focus management
8.4.3 Document-level focus APIs
8.4.4 Element-level focus APIs
8.5 The accesskey attribute
8.6 The text selection APIs
8.6.1 APIs for the browsing context selection
8.6.2 APIs for the text field selections
8.7 The contenteditable attribute
8.7.1 User editing actions
8.7.2 Making entire documents editable
8.8 Spelling and grammar checking
8.9 Drag and drop
8.9.1 Introduction
8.9.2 The DragEvent and DataTransfer interfaces
8.9.3 Events fired during a drag-and-drop action
8.9.4 Drag-and-drop processing model
8.9.4.1 When the drag-and-drop operation starts or ends in another document
8.9.4.2 When the drag-and-drop operation starts or ends in another application
8.9.5 The draggable attribute
8.9.6 Security risks in the drag-and-drop model
8.10 Undo history
8.10.1 Definitions
8.10.2 The UndoManager interface
8.10.3 Undo: moving back in the undo transaction history
8.10.4 Redo: moving forward in the undo transaction history
8.10.5 The UndoManagerEvent interface and the undo and redo events
8.10.6 Implementation notes
8.11 Editing APIs
9 Communication
9.1 Event definitions
9.2 Cross-document messaging
9.2.1 Introduction
9.2.2 Security
9.2.2.1 Authors
9.2.2.2 User agents
9.2.3 Posting messages
9.2.4 Posting messages with message ports
9.3 Channel messaging
9.3.1 Introduction
9.3.2 Message channels
9.3.3 Message ports
9.3.3.1 Ports and garbage collection
10 The HTML syntax
10.1 Writing HTML documents
10.1.1 The DOCTYPE
10.1.2 Elements
10.1.2.1 Start tags
10.1.2.2 End tags
10.1.2.3 Attributes
10.1.2.4 Optional tags
10.1.2.5 Restrictions on content models
10.1.2.6 Restrictions on the contents of raw text and RCDATA elements
10.1.3 Text
10.1.3.1 Newlines
10.1.4 Character references
10.1.5 CDATA sections
10.1.6 Comments
10.2 Parsing HTML documents
10.2.1 Overview of the parsing model
10.2.2 The input stream
10.2.2.1 Determining the character encoding
10.2.2.2 Character encodings
10.2.2.3 Preprocessing the input stream
10.2.2.4 Changing the encoding while parsing
10.2.3 Parse state
10.2.3.1 The insertion mode
10.2.3.2 The stack of open elements
10.2.3.3 The list of active formatting elements
10.2.3.4 The element pointers
10.2.3.5 Other parsing state flags
10.2.4 Tokenization
10.2.4.1 Data state
10.2.4.2 Character reference in data state
10.2.4.3 RCDATA state
10.2.4.4 Character reference in RCDATA state
10.2.4.5 RAWTEXT state
10.2.4.6 Script data state
10.2.4.7 PLAINTEXT state
10.2.4.8 Tag open state
10.2.4.9 End tag open state
10.2.4.10 Tag name state
10.2.4.11 RCDATA less-than sign state
10.2.4.12 RCDATA end tag open state
10.2.4.13 RCDATA end tag name state
10.2.4.14 RAWTEXT less-than sign state
10.2.4.15 RAWTEXT end tag open state
10.2.4.16 RAWTEXT end tag name state
10.2.4.17 Script data less-than sign state
10.2.4.18 Script data end tag open state
10.2.4.19 Script data end tag name state
10.2.4.20 Script data escape start state
10.2.4.21 Script data escape start dash state
10.2.4.22 Script data escaped state
10.2.4.23 Script data escaped dash state
10.2.4.24 Script data escaped dash dash state
10.2.4.25 Script data escaped less-than sign state
10.2.4.26 Script data escaped end tag open state
10.2.4.27 Script data escaped end tag name state
10.2.4.28 Script data double escape start state
10.2.4.29 Script data double escaped state
10.2.4.30 Script data double escaped dash state
10.2.4.31 Script data double escaped dash dash state
10.2.4.32 Script data double escaped less-than sign state
10.2.4.33 Script data double escape end state
10.2.4.34 Before attribute name state
10.2.4.35 Attribute name state
10.2.4.36 After attribute name state
10.2.4.37 Before attribute value state
10.2.4.38 Attribute value (double-quoted) state
10.2.4.39 Attribute value (single-quoted) state
10.2.4.40 Attribute value (unquoted) state
10.2.4.41 Character reference in attribute value state
10.2.4.42 After attribute value (quoted) state
10.2.4.43 Self-closing start tag state
10.2.4.44 Bogus comment state
10.2.4.45 Markup declaration open state
10.2.4.46 Comment start state
10.2.4.47 Comment start dash state
10.2.4.48 Comment state
10.2.4.49 Comment end dash state
10.2.4.50 Comment end state
10.2.4.51 Comment end bang state
10.2.4.52 Comment end space state
10.2.4.53 DOCTYPE state
10.2.4.54 Before DOCTYPE name state
10.2.4.55 DOCTYPE name state
10.2.4.56 After DOCTYPE name state
10.2.4.57 After DOCTYPE public keyword state
10.2.4.58 Before DOCTYPE public identifier state
10.2.4.59 DOCTYPE public identifier (double-quoted) state
10.2.4.60 DOCTYPE public identifier (single-quoted) state
10.2.4.61 After DOCTYPE public identifier state
10.2.4.62 Between DOCTYPE public and system identifiers state
10.2.4.63 After DOCTYPE system keyword state
10.2.4.64 Before DOCTYPE system identifier state
10.2.4.65 DOCTYPE system identifier (double-quoted) state
10.2.4.66 DOCTYPE system identifier (single-quoted) state
10.2.4.67 After DOCTYPE system identifier state
10.2.4.68 Bogus DOCTYPE state
10.2.4.69 CDATA section state
10.2.4.70 Tokenizing character references
10.2.5 Tree construction
10.2.5.1 Creating and inserting elements
10.2.5.2 Closing elements that have implied end tags
10.2.5.3 Foster parenting
10.2.5.4 The "initial" insertion mode
10.2.5.5 The "before html" insertion mode
10.2.5.6 The "before head" insertion mode
10.2.5.7 The "in head" insertion mode
10.2.5.8 The "in head noscript" insertion mode
10.2.5.9 The "after head" insertion mode
10.2.5.10 The "in body" insertion mode
10.2.5.11 The "text" insertion mode
10.2.5.12 The "in table" insertion mode
10.2.5.13 The "in table text" insertion mode
10.2.5.14 The "in caption" insertion mode
10.2.5.15 The "in column group" insertion mode
10.2.5.16 The "in table body" insertion mode
10.2.5.17 The "in row" insertion mode
10.2.5.18 The "in cell" insertion mode
10.2.5.19 The "in select" insertion mode
10.2.5.20 The "in select in table" insertion mode
10.2.5.21 The "in foreign content" insertion mode
10.2.5.22 The "after body" insertion mode
10.2.5.23 The "in frameset" insertion mode
10.2.5.24 The "after frameset" insertion mode
10.2.5.25 The "after after body" insertion mode
10.2.5.26 The "after after frameset" insertion mode
10.2.6 The end
10.2.7 Coercing an HTML DOM into an infoset
10.2.8 An introduction to error handling and strange cases in the parser
10.2.8.1 Misnested tags: <b><i></b></i>
10.2.8.2 Misnested tags: <b><p></b></p>
10.2.8.3 Unexpected markup in tables
10.2.8.4 Scripts that modify the page as it is being parsed
10.3 Serializing HTML fragments
10.4 Parsing HTML fragments
10.5 Named character references
11 The XHTML syntax
11.1 Writing XHTML documents
11.2 Parsing XHTML documents
11.3 Serializing XHTML fragments
11.4 Parsing XHTML fragments
12 Rendering
12.1 Introduction
12.2 The CSS user agent style sheet and presentational hints
12.2.1 Introduction
12.2.2 Display types
12.2.3 Margins and padding
12.2.4 Alignment
12.2.5 Fonts and colors
12.2.6 Punctuation and decorations
12.2.7 Resetting rules for inherited properties
12.2.8 The hr element
12.2.9 The fieldset element
12.3 Replaced elements
12.3.1 Embedded content
12.3.2 Images
12.3.3 Attributes for embedded content and images
12.3.4 Image maps
12.3.5 Toolbars
12.4 Bindings
12.4.1 Introduction
12.4.2 The button element
12.4.3 The details element
12.4.4 The input element as a text entry widget
12.4.5 The input element as domain-specific widgets
12.4.6 The input element as a range control
12.4.7 The input element as a color well
12.4.8 The input element as a check box and radio button widgets
12.4.9 The input element as a file upload control
12.4.10 The input element as a button
12.4.11 The marquee element
12.4.12 The meter element
12.4.13 The progress element
12.4.14 The select element
12.4.15 The textarea element
12.4.16 The keygen element
12.4.17 The time element
12.5 Frames and framesets
12.6 Interactive media
12.6.1 Links, forms, and navigation
12.6.2 The title attribute
12.6.3 Editing hosts
12.7 Print media
13 Obsolete features
13.1 Obsolete but conforming features
13.1.1 Warnings for obsolete but conforming features
13.2 Non-conforming features
13.3 Requirements for implementations
13.3.1 The applet element
13.3.2 The marquee element
13.3.3 Frames
13.3.4 Other elements, attributes and APIs
14 IANA considerations
14.1 text/html
14.2 text/html-sandboxed
14.3 application/xhtml+xml
14.4 text/cache-manifest
14.5 text/ping
14.6 application/microdata+json
14.7 Ping-From
14.8 Ping-To
Index
Elements
Element content categories
Attributes
Interfaces
Events
References
Acknowledgements