Latest Published Version:
http://www.w3.org/TR/html5/
Latest Editor's Draft:
http://www.w3.org/html/wg/drafts/html/CR/
Previous Versions:
http://www.w3.org/TR/2012/CR-html5-20121217/
Editors:
W3C:
Robin Berjon , W3C
Steve Faulkner , The Paciello Group
Travis Leithead , Microsoft
Erika Doyle Navara , Microsoft
Edward O'Connor , Apple Inc.
Silvia Pfeiffer
WHATWG:
Ian Hickson , Google, Inc.
This specification is also available as a single page HTML document.
Copyright
© 2013 W3C ® (MIT , ERCIM , Keio , Beihang ), All Rights Reserved. W3C
liability ,
trademark
and document
use rules apply.
Abstract
This specification defines the 5th major revision of the core language of the World Wide Web:
the Hypertext Markup Language (HTML). In this version, new features are introduced to help Web
application authors, new elements are introduced based on research into prevailing authoring
practices, and special attention has been given to defining clear conformance criteria for user
agents in an effort to improve interoperability.
Status of This document
This section describes the status of this document at the time of its publication.
Other documents may supersede this document. A list of current W3C publications and the
latest revision of this technical report can be found in the W3C
technical reports index at http://www.w3.org/TR/.
If you wish to make comments regarding this document in a manner
that is tracked by the W3C, please submit them via using our
public bug database . If you cannot do this then you can also e-mail feedback to public-html-comments@w3.org
(subscribe ,
archives ),
and arrangements will be made to transpose the comments to our
public bug database. All feedback is welcome.
Work on extending this specification typically proceeds through
extension specifications
which should be consulted to see what new features are being reviewed.
The bulk of the text of this specification is also
available in the WHATWG HTML Living Standard , under a license that permits reuse of the
specification text.
The working groups maintains a
list of all bug reports that the editors have not yet tried to
address and a list of issues
for which the chairs have not yet declared a decision .
You are very welcome to file a new bug
for any problem you may encounter.
These bugs and
issues apply to multiple HTML-related specifications,
not just this one.
Implementors should be aware that this specification is not
stable. Implementors who are not taking part in the
discussions are likely to find the specification changing out from
under them in incompatible ways. Vendors interested in
implementing this specification before it eventually reaches the
Candidate Recommendation stage should join the aforementioned
mailing lists and take part in the discussions.
Publication as a Editor's Draft of a Candidate Recommendation does not imply endorsement by the W3C Membership.
This is a draft document and may be updated, replaced or obsoleted by other documents at
any time. It is inappropriate to cite this document as other than work in progress.
The latest stable version of the editor's draft of this
specification is always available on the W3C HTML git repository .
The W3C HTML Working
Group is the W3C working group responsible for this
specification's progress.
This specification is the 6 March 2014 Editor's Draft.
This specification is intended to become a W3C Recommendation.
Work on this specification is also done at the WHATWG . The W3C HTML working group actively pursues convergence of the
HTML specification with the WHATWG living standard, within the bounds of the W3C HTML working
group charter . There are various ways to follow this work at the WHATWG:
This document was published by the HTML Working Group as an updated revision to the Candidate
Recommendation
(http://www.w3.org/TR/2013/CR-html5-20130806/ ).
This document is intended to become a W3C Recommendation. W3C publishes a Candidate
Recommendation to indicate that the document is believed to be stable and to encourage
implementation by the developer community. This Candidate Recommendation is expected to advance
to Proposed Recommendation no earlier than 01 September 2014. All feedback is welcome.
For this specification to exit the CR stage, the conditions detailed in the
CR Exit
Criteria (Public Permissive version 3) document will have to be met.
The following features are at risk and may be removed due to lack of
implementation.
This document was produced by a group operating under the 5
February 2004 W3C Patent Policy . W3C maintains a public list of
any patent disclosures made in connection with the deliverables
of the group; that page also includes instructions for disclosing a
patent. An individual who has actual knowledge of a patent which the
individual believes contains Essential
Claim(s) must disclose the information in accordance with section
6 of the W3C Patent Policy .
Table of Contents
1 Introduction
1.1 Background
1.2 Audience
1.3 Scope
1.4 History
1.5 Design notes
1.5.1 Serializability of script execution
1.5.2 Compliance with other specifications
1.5.3 Extensibility
1.6 HTML vs XHTML
1.7 Structure of this specification
1.7.1 How to read this specification
1.7.2 Typographic conventions
1.8 Privacy concerns
1.9 A quick introduction to HTML
1.9.1 Writing secure applications with HTML
1.9.2 Common pitfalls to avoid when using the scripting APIs
1.9.3 How to catch mistakes when writing HTML: validators and conformance checkers
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 Suggested 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 Conformance classes
2.2.2 Dependencies
2.2.3 Extensibility
2.2.4 Interactions with XPath and XSLT
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 Signed integers
2.4.4.2 Non-negative integers
2.4.4.3 Floating-point 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 Yearless dates
2.4.5.4 Times
2.4.5.5 Floating dates and times
2.4.5.6 Time zones
2.4.5.7 Global dates and times
2.4.5.8 Weeks
2.4.5.9 Durations
2.4.5.10 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 Resolving URLs
2.5.3 Dynamic changes to base URLs
2.6 Fetching resources
2.6.1 Terminology
2.6.2 Processing model
2.6.3 Encrypted HTTP and related security concerns
2.6.4 Determining the type of a resource
2.6.5 Extracting character encodings from meta
elements
2.6.6 CORS settings attributes
2.6.7 CORS-enabled fetch
2.7 Common DOM interfaces
2.7.1 Reflecting content attributes in IDL attributes
2.7.2 Collections
2.7.2.1 HTMLAllCollection
2.7.2.2 HTMLFormControlsCollection
2.7.2.3 HTMLOptionsCollection
2.7.3 DOMStringMap
2.7.4 Transferable objects
2.7.5 Safe passing of structured data
2.7.6 Callbacks
2.7.7 Garbage collection
2.8 Namespaces
3 Semantics, structure, and APIs of HTML documents
3.1 Documents
3.1.1 The Document
object
3.1.2 Resource metadata management
3.1.3 DOM tree accessors
3.1.4 Loading XML documents
3.2 Elements
3.2.1 Semantics
3.2.2 Elements in the DOM
3.2.3 Element definitions
3.2.3.1 Attributes
3.2.4 Content models
3.2.4.1 Kinds of content
3.2.4.1.1 Metadata content
3.2.4.1.2 Flow content
3.2.4.1.3 Sectioning content
3.2.4.1.4 Heading content
3.2.4.1.5 Phrasing content
3.2.4.1.6 Embedded content
3.2.4.1.7 Interactive content
3.2.4.1.8 Palpable content
3.2.4.1.9 Script-supporting elements
3.2.4.2 Transparent content models
3.2.4.3 Paragraphs
3.2.5 Global attributes
3.2.5.1 The id
attribute
3.2.5.2 The title
attribute
3.2.5.3 The lang
and xml:lang
attributes
3.2.5.4 The translate
attribute
3.2.5.5 The xml:base
attribute (XML only)
3.2.5.6 The dir
attribute
3.2.5.7 The class
attribute
3.2.5.8 The style
attribute
3.2.5.9 Embedding custom non-visible data with the data-*
attributes
3.2.6 Requirements relating to the bidirectional algorithm
3.2.6.1 Authoring conformance criteria for bidirectional-algorithm formatting characters
3.2.6.2 User agent conformance criteria
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.2.7.5 Allowed ARIA roles, states and properties
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 Sections
4.3.1 The body
element
4.3.2 The article
element
4.3.3 The section
element
4.3.4 The nav
element
4.3.5 The aside
element
4.3.6 The h1
, h2
, h3
, h4
, h5
, and
h6
elements
4.3.7 The header
element
4.3.8 The footer
element
4.3.9 The address
element
4.3.10 Headings and sections
4.3.10.1 Creating an outline
4.3.10.2 Sample outlines
4.3.11 Usage summary
4.3.11.1 Article or section?
4.4 Grouping content
4.4.1 The p
element
4.4.2 The hr
element
4.4.3 The pre
element
4.4.4 The blockquote
element
4.4.5 The ol
element
4.4.6 The ul
element
4.4.7 The li
element
4.4.8 The dl
element
4.4.9 The dt
element
4.4.10 The dd
element
4.4.11 The figure
element
4.4.12 The figcaption
element
4.4.13 The div
element
4.4.14 The main
element
4.5 Text-level semantics
4.5.1 The a
element
4.5.2 The em
element
4.5.3 The strong
element
4.5.4 The small
element
4.5.5 The s
element
4.5.6 The cite
element
4.5.7 The q
element
4.5.8 The dfn
element
4.5.9 The abbr
element
4.5.10 The data
element
4.5.11 The time
element
4.5.12 The code
element
4.5.13 The var
element
4.5.14 The samp
element
4.5.15 The kbd
element
4.5.16 The sub
and sup
elements
4.5.17 The i
element
4.5.18 The b
element
4.5.19 The u
element
4.5.20 The mark
element
4.5.21 The ruby
element
4.5.22 The rb
element
4.5.23 The rt
element
4.5.24 The rtc
element
4.5.25 The rp
element
4.5.26 The bdi
element
4.5.27 The bdo
element
4.5.28 The span
element
4.5.29 The br
element
4.5.30 The wbr
element
4.5.31 Usage summary
4.6 Edits
4.6.1 The ins
element
4.6.2 The del
element
4.6.3 Attributes common to ins
and del
elements
4.6.4 Edits and paragraphs
4.6.5 Edits and lists
4.6.6 Edits and tables
4.7 Embedded content
4.7.1 The img
element
4.7.1.1 Requirements for providing text to act as an alternative for images
4.7.1.1.1 Examples of scenarios where users benefit from text alternatives for images
4.7.1.1.2 General guidelines
4.7.1.1.3 A link or button containing nothing but an image
4.7.1.1.4 Graphical Representations: Charts, diagrams, graphs, maps, illustrations
4.7.1.1.5 Images of text
4.7.1.1.6 Images that include text
4.7.1.1.7 Images that enhance the themes or subject matter of the page content
4.7.1.1.8 A graphical representation of some of the surrounding text
4.7.1.1.9 A purely decorative image that doesn't add any information
4.7.1.1.10 Inline images
4.7.1.1.11 A group of images that form a single larger picture with no links
4.7.1.1.12 Image maps
4.7.1.1.13 A group of images that form a single larger picture with links
4.7.1.1.14 Images of Pictures
4.7.1.1.15 Webcam images
4.7.1.1.16 When a text alternative is not available at the time of publication
4.7.1.1.17 An image not intended for the user
4.7.1.1.18 Icon Images
4.7.1.1.19 Logos, insignia, flags, or emblems
4.7.1.1.20 CAPTCHA Images
4.7.1.1.21 Guidance for markup generators
4.7.1.1.22 Guidance for conformance checkers
4.7.2 The iframe
element
4.7.3 The embed
element
4.7.4 The object
element
4.7.5 The param
element
4.7.6 The video
element
4.7.7 The audio
element
4.7.8 The source
element
4.7.9 The track
element
4.7.10 Media elements
4.7.10.1 Error codes
4.7.10.2 Location of the media resource
4.7.10.3 MIME types
4.7.10.4 Network states
4.7.10.5 Loading the media resource
4.7.10.6 Offsets into the media resource
4.7.10.7 Ready states
4.7.10.8 Playing the media resource
4.7.10.9 Seeking
4.7.10.10 Media resources with multiple media tracks
4.7.10.10.1 AudioTrackList
and VideoTrackList
objects
4.7.10.10.2 Selecting specific audio and video tracks declaratively
4.7.10.11 Synchronising multiple media elements
4.7.10.11.1 Introduction
4.7.10.11.2 Media controllers
4.7.10.11.3 Assigning a media controller declaratively
4.7.10.12 Timed text tracks
4.7.10.12.1 Text track model
4.7.10.12.2 Sourcing in-band text tracks
4.7.10.12.3 Sourcing out-of-band text tracks
4.7.10.12.4 Guidelines for exposing cues in various formats as text track cues
4.7.10.12.5 Text track API
4.7.10.12.6 Text tracks exposing in-band metadata
4.7.10.12.7 Text tracks describing chapters
4.7.10.12.8 Event definitions
4.7.10.13 User interface
4.7.10.14 Time ranges
4.7.10.15 Event definitions
4.7.10.16 Event summary
4.7.10.17 Security and privacy considerations
4.7.10.18 Best practices for authors using media elements
4.7.10.19 Best practices for implementors of media elements
4.7.11 The map
element
4.7.12 The area
element
4.7.13 Image maps
4.7.13.1 Authoring
4.7.13.2 Processing model
4.7.14 MathML
4.7.15 SVG
4.7.16 Dimension attributes
4.8 Links
4.8.1 Links created by a
and area
elements
4.8.2 Following hyperlinks
4.8.3 Downloading resources
4.8.4 Link types
4.8.4.1 Link type "alternate
"
4.8.4.2 Link type "author
"
4.8.4.3 Link type "bookmark
"
4.8.4.4 Link type "help
"
4.8.4.5 Link type "icon
"
4.8.4.6 Link type "license
"
4.8.4.7 Link type "nofollow
"
4.8.4.8 Link type "noreferrer
"
4.8.4.9 Link type "prefetch
"
4.8.4.10 Link type "search
"
4.8.4.11 Link type "stylesheet
"
4.8.4.12 Link type "tag
"
4.8.4.13 Sequential link types
4.8.4.13.1 Link type "next
"
4.8.4.13.2 Link type "prev
"
4.8.4.14 Other link types
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 design
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.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 label
element
4.10.5 The input
element
4.10.5.1 States of the type
attribute
4.10.5.1.1 Hidden state (type=hidden
)
4.10.5.1.2 Text (type=text
) state and Search state (type=search
)
4.10.5.1.3 Telephone state (type=tel
)
4.10.5.1.4 URL state (type=url
)
4.10.5.1.5 E-mail state (type=email
)
4.10.5.1.6 Password state (type=password
)
4.10.5.1.7 Date and Time state (type=datetime
)
4.10.5.1.8 Date state (type=date
)
4.10.5.1.9 Month state (type=month
)
4.10.5.1.10 Week state (type=week
)
4.10.5.1.11 Time state (type=time
)
4.10.5.1.12 Number state (type=number
)
4.10.5.1.13 Range state (type=range
)
4.10.5.1.14 Color state (type=color
)
4.10.5.1.15 Checkbox state (type=checkbox
)
4.10.5.1.16 Radio Button state (type=radio
)
4.10.5.1.17 File Upload state (type=file
)
4.10.5.1.18 Submit Button state (type=submit
)
4.10.5.1.19 Image Button state (type=image
)
4.10.5.1.20 Reset Button state (type=reset
)
4.10.5.1.21 Button state (type=button
)
4.10.5.2 Implemention notes regarding localization of form controls
4.10.5.3 Common input
element attributes
4.10.5.3.1 The maxlength
and minlength
attributes
4.10.5.3.2 The size
attribute
4.10.5.3.3 The readonly
attribute
4.10.5.3.4 The required
attribute
4.10.5.3.5 The multiple
attribute
4.10.5.3.6 The pattern
attribute
4.10.5.3.7 The min
and max
attributes
4.10.5.3.8 The step
attribute
4.10.5.3.9 The list
attribute
4.10.5.3.10 The placeholder
attribute
4.10.5.4 Common input
element APIs
4.10.5.5 Common event behaviors
4.10.6 The button
element
4.10.7 The select
element
4.10.8 The datalist
element
4.10.9 The optgroup
element
4.10.10 The option
element
4.10.11 The textarea
element
4.10.12 The keygen
element
4.10.13 The output
element
4.10.14 The progress
element
4.10.15 The meter
element
4.10.16 The fieldset
element
4.10.17 The legend
element
4.10.18 Form control infrastructure
4.10.18.1 A form control's value
4.10.18.2 Mutability
4.10.18.3 Association of controls and forms
4.10.19 Attributes common to form controls
4.10.19.1 Naming form controls: the name
attribute
4.10.19.2 Submitting element directionality: the dirname
attribute
4.10.19.3 Limiting user input length: the maxlength
attribute
4.10.19.4 Setting minimum input length requirements: the minlength
attribute
4.10.19.5 Enabling and disabling form controls: the disabled
attribute
4.10.19.6 Form submission
4.10.19.7 Autofocusing a form control: the autofocus
attribute
4.10.19.8 Autofilling form controls: the autocomplete
attribute
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 Selecting a form submission encoding
4.10.22.6 URL-encoded form data
4.10.22.7 Multipart form data
4.10.22.8 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 dialog
element
4.11.3.1 Anchor points
4.12 Scripting
4.12.1 The script
element
4.12.1.1 Scripting languages
4.12.1.2 Restrictions for contents of script
elements
4.12.1.3 Inline documentation for external scripts
4.12.1.4 Interaction of script
elements and XSLT
4.12.2 The noscript
element
4.12.3 The template
element
4.12.3.1 Interaction of template
elements with XSLT and XPath
4.12.4 The canvas
element
4.12.4.1 Color spaces and color correction
4.12.4.2 Serializing bitmaps to a file
4.12.4.3 Security with canvas
elements
4.13 Common idioms without dedicated elements
4.13.1 Subheadings, subtitles, alternative titles and taglines
4.13.2 Bread crumb navigation
4.13.3 Tag clouds
4.13.4 Conversations
4.13.5 Footnotes
4.14 Disabled elements
4.15 Matching HTML elements using selectors
4.15.1 Case-sensitivity
4.15.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 Script settings for browsing contexts
6.1.3.3 Calling scripts
6.1.3.4 Creating scripts
6.1.3.5 Killing scripts
6.1.3.6 Runtime script errors
6.1.3.6.1 Runtime script errors in documents
6.1.3.6.2 The ErrorEvent
interface
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 Events
6.1.5.1 Event handlers
6.1.5.2 Event handlers on elements, Document
objects, and Window
objects
6.1.5.2.1 IDL definitions
6.1.5.3 Event firing
6.1.5.4 Events and the Window
object
6.2 Base64 utility methods
6.3 Dynamic markup insertion
6.3.1 Opening the input stream
6.3.2 Closing the input stream
6.3.3 document.write()
6.3.4 document.writeln()
6.4 Timers
6.5 User prompts
6.5.1 Simple dialogs
6.5.2 Printing
6.5.3 Dialogs implemented using separate documents
6.6 System state and capabilities
6.6.1 The Navigator
object
6.6.1.1 Client identification
6.6.1.2 Language preferences
6.6.1.3 Custom scheme and content handlers
6.6.1.3.1 Security and privacy
6.6.1.3.2 Sample user interface
6.6.1.4 Manually releasing the storage mutex
6.6.1.5 Plugins
6.6.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 escapable raw text 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 Parsing with a known character encoding
8.2.2.2 Determining the character encoding
8.2.2.3 Character encodings
8.2.2.4 Changing the encoding while parsing
8.2.2.5 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 nodes
8.2.5.2 Parsing elements that contain only text
8.2.5.3 Closing elements that have implied end tags
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 "in template" insertion mode
8.2.5.4.19 The "after body" insertion mode
8.2.5.4.20 The "in frameset" insertion mode
8.2.5.4.21 The "after frameset" insertion mode
8.2.5.4.22 The "after after body" insertion mode
8.2.5.4.23 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 Margin collapsing quirks
10.3.11 Form controls
10.3.12 The hr
element
10.3.13 The fieldset
and legend
elements
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.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 web+
scheme prefix
Index
Elements
Element content categories
Attributes
Element Interfaces
All Interfaces
Events
References
Acknowledgments
翻译:
查看mercari原页面
收藏该商品
立即下单