Showing content from http://www.w3.org/TR/2011/WD-html5-20110525/ below:
HTML5
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 most recently formally published 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 do not have an account then you can enter feedback using this form:
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. Alternatively, you can e-mail feedback to whatwg@whatwg.org (subscribe, archives). The editor guarantees that all substantive feedback sent to this list will receive a reply. However, such feedback is not considered formal feedback for the W3C process. All feedback is welcome.
The working groups maintains a list of all bug reports that the editor has not yet tried to address and a list of issues for which the chairs have not yet declared a decision. The editor also maintains a list of all e-mails that he has not yet tried to address. These bugs, issues, and e-mails 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.
This is a work in progress! For the latest updates from the HTML WG, possibly including important bug fixes, please look at the editor's draft instead. There may also be a more up-to-date Working Draft with changes based on resolution of Last Call issues.
The publication of this document by the W3C as a W3C Last Call Working Draft does not imply that all of the participants in the W3C HTML working group endorse the contents of the specification. Indeed, for any section of the specification, one can usually find many members of the working group or of the W3C as a whole who object strongly to the current text, the existence of the section at all, or the idea that the working group should even spend time discussing the concept of that section.
A number of formal objections are open against this document:
The HTML Working Group chairs maintain a complete list of all current formal objections; that list may change as this document progresses.
There are also a number of open issues related to this document, for which working-group decisions still need to be made:
The HTML Working Group chairs maintain a complete list of all currently open HTML Working Group issues; that list may change as this document progresses.
Activities are being pursued by some members of the HTML Working Group to provide new information related to this document, with the intent of reopening the following issues:
The HTML Working Group chairs maintain a complete list of all HTML Working Group issues for which new information is known to be being pursued; that list may change as this document progresses.
A list of other potential accessibility related issues is also available.
W3C anticipates that there will be changes to this specification as a result of the resolution of Last Call issues. Per the usual W3C Process, any significant changes to the specification will trigger a subsequent Last Call.
The latest stable version of the editor's draft of this specification is always available on the W3C CVS server and in the WHATWG Subversion repository. The latest editor's working copy (which may contain unfinished text in the process of being prepared) contains the latest draft text of this specification (amongst others). For more details, please see the WHATWG FAQ.
There are various ways to follow the change history for the HTML specifications:
-
E-mail notifications of changes
-
HTML-Diffs mailing list (diff-marked HTML versions for each change): http://lists.w3.org/Archives/Public/public-html-diffs/latest
-
Commit-Watchers mailing list (complete source diffs): http://lists.whatwg.org/listinfo.cgi/commit-watchers-whatwg.org
-
Real-time notifications of changes:
-
Generated diff-marked HTML versions for each change: http://twitter.com/HTML5
-
Browsable version-control record of all changes:
-
CVSWeb interface with side-by-side diffs: http://dev.w3.org/cvsweb/html5/
-
Annotated summary with unified diffs: http://html5.org/tools/web-apps-tracker
-
Raw Subversion interface:
svn checkout http://svn.whatwg.org/webapps/
The W3C HTML Working Group is the W3C working group responsible for this specification's progress along the W3C Recommendation track. This specification is the 25 May 2011 Last Call Working Draft. The Last Call period ends 03 August 2011.
Work on this specification is also done at the WHATWG. The W3C HTML working group actively pursues convergence with the WHATWG, as required by the W3C HTML working group charter.
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.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 A quick introduction to HTML
- 1.9 Conformance requirements for authors
- 1.9.1 Presentational markup
- 1.9.2 Syntax errors
- 1.9.3 Restrictions on content models and on attribute values
- 1.10 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 Conformance classes
- 2.2.2 Dependencies
- 2.2.3 Extensibility
- 2.3 Case-sensitivity and string comparison
- 2.4 UTF-8
- 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 Non-negative integers
- 2.5.4.2 Signed integers
- 2.5.4.3 Real 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 Times
- 2.5.5.4 Local dates and times
- 2.5.5.5 Global dates and times
- 2.5.5.6 Weeks
- 2.5.5.7 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 Resolving URLs
- 2.6.4 URL manipulation and creation
- 2.6.5 Dynamic changes to base URLs
- 2.6.6 Interfaces for URL manipulation
- 2.7 Fetching resources
- 2.7.1 Protocol concepts
- 2.7.2 Encrypted HTTP and related security concerns
- 2.7.3 Determining the type of a resource
- 2.7.4 Extracting encodings from
meta
elements
- 2.8 Common DOM interfaces
- 2.8.1 Reflecting content attributes in IDL attributes
- 2.8.2 Collections
- 2.8.2.1 HTMLCollection
- 2.8.2.2 HTMLAllCollection
- 2.8.2.3 HTMLFormControlsCollection
- 2.8.2.4 HTMLOptionsCollection
- 2.8.3 DOMTokenList
- 2.8.4 DOMSettableTokenList
- 2.8.5 Safe passing of structured data
- 2.8.6 DOMStringMap
- 2.8.7 DOM feature strings
- 2.8.8 Exceptions
- 2.8.9 Garbage collection
- 2.9 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.1.6 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
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 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.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.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.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
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
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.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 The 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
TrackList
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 Text track API
- 4.8.10.12.5 Event definitions
- 4.8.10.13 User interface
- 4.8.10.14 Time ranges
- 4.8.10.15 Event summary
- 4.8.10.16 Security and privacy considerations
- 4.8.10.17 Best practices for authors using media elements
- 4.8.10.18 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.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
dirname
attribute
- 4.10.7.2.3 The
list
attribute
- 4.10.7.2.4 The
readonly
attribute
- 4.10.7.2.5 The
size
attribute
- 4.10.7.2.6 The
required
attribute
- 4.10.7.2.7 The
multiple
attribute
- 4.10.7.2.8 The
maxlength
attribute
- 4.10.7.2.9 The
pattern
attribute
- 4.10.7.2.10 The
min
and max
attributes
- 4.10.7.2.11 The
step
attribute
- 4.10.7.2.12 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.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
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.12 Links
- 4.12.1 Introduction
- 4.12.2 Links created by
a
and area
elements
- 4.12.3 Following hyperlinks
- 4.12.4 Link types
- 4.12.4.1 Link type "
alternate
"
- 4.12.4.2 Link type "
author
"
- 4.12.4.3 Link type "
bookmark
"
- 4.12.4.4 Link type "
external
"
- 4.12.4.5 Link type "
help
"
- 4.12.4.6 Link type "
icon
"
- 4.12.4.7 Link type "
license
"
- 4.12.4.8 Link type "
nofollow
"
- 4.12.4.9 Link type "
noreferrer
"
- 4.12.4.10 Link type "
pingback
"
- 4.12.4.11 Link type "
prefetch
"
- 4.12.4.12 Link type "
search
"
- 4.12.4.13 Link type "
sidebar
"
- 4.12.4.14 Link type "
stylesheet
"
- 4.12.4.15 Link type "
tag
"
- 4.12.4.16 Sequential link types
- 4.12.4.16.1 Link type "
next
"
- 4.12.4.16.2 Link type "
prev
"
- 4.12.4.17 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 Browser interface elements
- 5.2.7 The
WindowProxy
object
- 5.3 Origin
- 5.3.1 Relaxing the same-origin restriction
- 5.4 Session history and navigation
- 5.4.1 The session history of browsing contexts
- 5.4.2 The
History
interface
- 5.4.3 The
Location
interface
- 5.4.3.1 Security
- 5.4.4 Implementation notes for session history
- 5.5 Browsing the Web
- 5.5.1 Navigating across documents
- 5.5.2 Page load processing model for HTML files
- 5.5.3 Page load processing model for XML files
- 5.5.4 Page load processing model for text files
- 5.5.5 Page load processing model for images
- 5.5.6 Page load processing model for content that uses plugins
- 5.5.7 Page load processing model for inline content that doesn't have a DOM
- 5.5.8 Navigating to a fragment identifier
- 5.5.9 History traversal
- 5.5.9.1 Event definitions
- 5.5.10 Unloading documents
- 5.5.10.1 Event definition
- 5.5.11 Aborting a document load
- 5.6 Offline Web applications
- 5.6.1 Introduction
- 5.6.1.1 Event summary
- 5.6.2 Application caches
- 5.6.3 The cache manifest syntax
- 5.6.3.1 Some sample manifests
- 5.6.3.2 Writing cache manifests
- 5.6.3.3 Parsing cache manifests
- 5.6.4 Downloading or updating an application cache
- 5.6.5 The application cache selection algorithm
- 5.6.6 Changes to the networking model
- 5.6.7 Expiring application caches
- 5.6.8 Disk space
- 5.6.9 Application cache API
- 5.6.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.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: the
Navigator
object
- 6.5.1 Client identification
- 6.5.2 Custom scheme and content handlers
- 6.5.2.1 Security and privacy
- 6.5.2.2 Sample user interface
- 6.5.3 Manually releasing the storage mutex
- 7 User interaction
- 7.1 The
hidden
attribute
- 7.2 Activation
- 7.3 Focus
- 7.3.1 Sequential focus navigation and the
tabindex
attribute
- 7.3.2 Focus management
- 7.3.3 Document-level focus APIs
- 7.3.4 Element-level focus APIs
- 7.4 Assigning keyboard shortcuts
- 7.4.1 Introduction
- 7.4.2 The
accesskey
attribute
- 7.4.3 Processing model
- 7.5 The
contenteditable
attribute
- 7.5.1 User editing actions
- 7.5.2 Making entire documents editable
- 7.6 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
DataTransferItems
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
- 7.8 Editing APIs
- 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 stream
- 8.2.2.1 Determining the character encoding
- 8.2.2.2 Character encodings
- 8.2.2.3 Preprocessing the input stream
- 8.2.2.4 Changing the encoding while parsing
- 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.2.1 Introduction
- 10.2.2 Display types
- 10.2.3 Margins and padding
- 10.2.4 Alignment
- 10.2.5 Fonts and colors
- 10.2.6 Punctuation and decorations
- 10.2.7 Resetting rules for inherited properties
- 10.2.8 The
hr
element
- 10.2.9 The
fieldset
element
- 10.3 Replaced elements
- 10.3.1 Embedded content
- 10.3.2 Timed text tracks
- 10.3.2.1 WebVTT cue text rendering rules
- 10.3.2.2 Applying CSS properties to WebVTT Node Objects
- 10.3.2.3 CSS extensions
- 10.3.2.3.1 The '::cue' pseudo-element
- 10.3.2.3.2 The ':past' and ':future' pseudo-classes
- 10.3.3 Images
- 10.3.4 Attributes for embedded content and images
- 10.3.5 Image maps
- 10.3.6 Toolbars
- 10.4 Bindings
- 10.4.1 Introduction
- 10.4.2 The
button
element
- 10.4.3 The
details
element
- 10.4.4 The
input
element as a text entry widget
- 10.4.5 The
input
element as domain-specific widgets
- 10.4.6 The
input
element as a range control
- 10.4.7 The
input
element as a color well
- 10.4.8 The
input
element as a checkbox and radio button widgets
- 10.4.9 The
input
element as a file upload control
- 10.4.10 The
input
element as a button
- 10.4.11 The
marquee
element
- 10.4.12 The
meter
element
- 10.4.13 The
progress
element
- 10.4.14 The
select
element
- 10.4.15 The
textarea
element
- 10.4.16 The
keygen
element
- 10.4.17 The
time
element
- 10.5 Frames and framesets
- 10.6 Interactive media
- 10.6.1 Links, forms, and navigation
- 10.6.2 The
title
attribute
- 10.6.3 Editing hosts
- 10.6.4 Text rendered in native user interfaces
- 10.7 Print media
- 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
text/html-sandboxed
- 12.3
application/xhtml+xml
- 12.4
text/cache-manifest
- Index
- Elements
- Element content categories
- Attributes
- Interfaces
- Events
- References
- Acknowledgements
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3