Table
of
contents
-
1
Introduction
-
2
Common
infrastructure
-
3
Semantics,
structure,
and
APIs
of
HTML
documents
-
4
The
elements
of
HTML
-
5
Microdata
-
6
User
interaction
-
7
Loading
web
pages
-
8
Web
application
APIs
-
9
Communication
-
10
Web
workers
-
11
Worklets
-
12
Web
storage
-
13
The
HTML
syntax
-
14
The
XML
syntax
-
15
Rendering
-
16
Obsolete
features
-
17
IANA
considerations
-
Index
-
References
-
Acknowledgments
-
Intellectual
property
rights
Full
table
of
contents
-
1
Introduction
-
1.1
Where
does
this
specification
fit?
-
1.2
Is
this
HTML5?
-
1.3
Background
-
1.4
Audience
-
1.5
Scope
-
1.6
History
-
1.7
Design
notes
-
1.7.1
Serializability
of
script
execution
-
1.7.2
Compliance
with
other
specifications
-
1.7.3
Extensibility
-
1.8
HTML
vs
XML
syntax
-
1.9
Structure
of
this
specification
-
1.9.1
How
to
read
this
specification
-
1.9.2
Typographic
conventions
-
1.10
A
quick
introduction
to
HTML
-
1.10.1
Writing
secure
applications
with
HTML
-
1.10.2
Common
pitfalls
to
avoid
when
using
the
scripting
APIs
-
1.10.3
How
to
catch
mistakes
when
writing
HTML:
validators
and
conformance
checkers
-
1.11
Conformance
requirements
for
authors
-
1.11.1
Presentational
markup
-
1.11.2
Syntax
errors
-
1.11.3
Restrictions
on
content
models
and
on
attribute
values
-
1.12
Suggested
reading
-
2
Common
infrastructure
-
2.1
Terminology
-
2.1.1
Parallelism
-
2.1.2
Resources
-
2.1.3
XML
compatibility
-
2.1.4
DOM
trees
-
2.1.5
Scripting
-
2.1.6
Plugins
-
2.1.7
Character
encodings
-
2.1.8
Conformance
classes
-
2.1.9
Dependencies
-
2.1.10
Extensibility
-
2.1.11
Interactions
with
XPath
and
XSLT
-
2.2
String
comparison
-
2.3
Policy-controlled
features
-
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
Non-zero
percentages
and
lengths
-
2.4.4.6
Lists
of
floating-point
numbers
-
2.4.4.7
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
Local
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
Parsing
URLs
-
2.5.3
Dynamic
changes
to
base
URLs
-
2.6
Fetching
resources
-
2.6.1
Terminology
-
2.6.2
Determining
the
type
of
a
resource
-
2.6.3
Extracting
character
encodings
from
meta
elements
-
2.6.4
CORS
settings
attributes
-
2.6.5
Referrer
policy
attributes
-
2.6.6
Nonce
attributes
-
2.6.7
Lazy
loading
attributes
-
2.7
Common
DOM
interfaces
-
2.7.1
Reflecting
content
attributes
in
IDL
attributes
-
2.7.2
Collections
-
2.7.2.1
The
HTMLAllCollection
interface
-
2.7.2.1.1
[[Call]]
(
thisArgument
,
argumentsList
)
-
2.7.2.2
The
HTMLFormControlsCollection
interface
-
2.7.2.3
The
HTMLOptionsCollection
interface
-
2.7.3
The
DOMStringList
interface
-
2.8
Safe
passing
of
structured
data
-
2.8.1
Serializable
objects
-
2.8.2
Transferable
objects
-
2.8.3
StructuredSerializeInternal
(
value
,
forStorage
[
,
memory
]
)
-
2.8.4
StructuredSerialize
(
value
)
-
2.8.5
StructuredSerializeForStorage
(
value
)
-
2.8.6
StructuredDeserialize
(
serialized
,
targetRealm
[
,
memory
]
)
-
2.8.7
StructuredSerializeWithTransfer
(
value
,
transferList
)
-
2.8.8
StructuredDeserializeWithTransfer
(
serializeWithTransferResult
,
targetRealm
)
-
2.8.9
Performing
serialization
and
transferring
from
other
specifications
-
3
Semantics,
structure,
and
APIs
of
HTML
documents
-
3.1
Documents
-
3.1.1
The
Document
object
-
3.1.2
The
DocumentOrShadowRoot
interface
-
3.1.3
Resource
metadata
management
-
3.1.4
DOM
tree
accessors
-
3.2
Elements
-
3.2.1
Semantics
-
3.2.2
Elements
in
the
DOM
-
3.2.3
HTML
element
constructors
-
3.2.4
Element
definitions
-
3.2.4.1
Attributes
-
3.2.5
Content
models
-
3.2.5.1
The
"nothing"
content
model
-
3.2.5.2
Kinds
of
content
-
3.2.5.2.1
Metadata
content
-
3.2.5.2.2
Flow
content
-
3.2.5.2.3
Sectioning
content
-
3.2.5.2.4
Heading
content
-
3.2.5.2.5
Phrasing
content
-
3.2.5.2.6
Embedded
content
-
3.2.5.2.7
Interactive
content
-
3.2.5.2.8
Palpable
content
-
3.2.5.2.9
Script-supporting
elements
-
3.2.5.3
Transparent
content
models
-
3.2.5.4
Paragraphs
-
3.2.6
Global
attributes
-
3.2.6.1
The
title
attribute
-
3.2.6.2
The
lang
and
xml:lang
attributes
-
3.2.6.3
The
translate
attribute
-
3.2.6.4
The
dir
attribute
-
3.2.6.5
The
style
attribute
-
3.2.6.6
Embedding
custom
non-visible
data
with
the
data-*
attributes
-
3.2.7
The
innerText
getter
and
setter
-
3.2.8
Requirements
relating
to
the
bidirectional
algorithm
-
3.2.8.1
Authoring
conformance
criteria
for
bidirectional-algorithm
formatting
characters
-
3.2.8.2
User
agent
conformance
criteria
-
3.2.9
Requirements
related
to
ARIA
and
to
platform
accessibility
APIs
-
4
The
elements
of
HTML
-
4.1
The
document
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.4.1
Processing
the
media
attribute
-
4.2.4.2
Processing
the
type
attribute
-
4.2.4.3
Fetching
and
processing
a
resource
from
a
link
element
-
4.2.4.4
Processing
`
Link
`
headers
-
4.2.4.5
Providing
users
with
a
means
to
follow
hyperlinks
created
using
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
Specifying
the
document's
character
encoding
-
4.2.6
The
style
element
-
4.2.7
Interactions
of
styling
and
scripting
-
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
hgroup
element
-
4.3.8
The
header
element
-
4.3.9
The
footer
element
-
4.3.10
The
address
element
-
4.3.11
Headings
and
sections
-
4.3.11.1
Creating
an
outline
-
4.3.11.2
Sample
outlines
-
4.3.11.3
Exposing
outlines
to
users
-
4.3.12
Usage
summary
-
4.3.12.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
menu
element
-
4.4.8
The
li
element
-
4.4.9
The
dl
element
-
4.4.10
The
dt
element
-
4.4.11
The
dd
element
-
4.4.12
The
figure
element
-
4.4.13
The
figcaption
element
-
4.4.14
The
main
element
-
4.4.15
The
div
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
ruby
element
-
4.5.11
The
rt
element
-
4.5.12
The
rp
element
-
4.5.13
The
data
element
-
4.5.14
The
time
element
-
4.5.15
The
code
element
-
4.5.16
The
var
element
-
4.5.17
The
samp
element
-
4.5.18
The
kbd
element
-
4.5.19
The
sub
and
sup
elements
-
4.5.20
The
i
element
-
4.5.21
The
b
element
-
4.5.22
The
u
element
-
4.5.23
The
mark
element
-
4.5.24
The
bdi
element
-
4.5.25
The
bdo
element
-
4.5.26
The
span
element
-
4.5.27
The
br
element
-
4.5.28
The
wbr
element
-
4.5.29
Usage
summary
-
4.6
Links
-
4.6.1
Introduction
-
4.6.2
Links
created
by
a
and
area
elements
-
4.6.3
API
for
a
and
area
elements
-
4.6.4
Following
hyperlinks
-
4.6.5
Downloading
resources
-
4.6.5.1
Hyperlink
auditing
-
4.6.6
Link
types
-
4.6.6.1
Link
type
"
alternate
"
-
4.6.6.2
Link
type
"
author
"
-
4.6.6.3
Link
type
"
bookmark
"
-
4.6.6.4
Link
type
"
canonical
"
-
4.6.6.5
Link
type
"
dns-prefetch
"
-
4.6.6.6
Link
type
"
external
"
-
4.6.6.7
Link
type
"
help
"
-
4.6.6.8
Link
type
"
icon
"
-
4.6.6.9
Link
type
"
license
"
-
4.6.6.10
Link
type
"
manifest
"
-
4.6.6.11
Link
type
"
modulepreload
"
-
4.6.6.12
Link
type
"
nofollow
"
-
4.6.6.13
Link
type
"
noopener
"
-
4.6.6.14
Link
type
"
noreferrer
"
-
4.6.6.15
Link
type
"
opener
"
-
4.6.6.16
Link
type
"
pingback
"
-
4.6.6.17
Link
type
"
preconnect
"
-
4.6.6.18
Link
type
"
prefetch
"
-
4.6.6.19
Link
type
"
preload
"
-
4.6.6.20
Link
type
"
prerender
"
-
4.6.6.21
Link
type
"
search
"
-
4.6.6.22
Link
type
"
stylesheet
"
-
4.6.6.23
Link
type
"
tag
"
-
4.6.6.24
Sequential
link
types
-
4.6.6.24.1
Link
type
"
next
"
-
4.6.6.24.2
Link
type
"
prev
"
-
4.6.6.25
Other
link
types
-
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
picture
element
-
4.8.2
The
source
element
-
4.8.3
The
img
element
-
4.8.4
Images
-
4.8.4.1
Introduction
-
4.8.4.1.1
Adaptive
images
-
4.8.4.2
Attributes
common
to
source
,
img
,
and
link
elements
-
4.8.4.2.1
Srcset
attributes
-
4.8.4.2.2
Sizes
attributes
-
4.8.4.3
Processing
model
-
4.8.4.3.1
When
to
obtain
images
-
4.8.4.3.2
Reacting
to
DOM
mutations
-
4.8.4.3.3
The
list
of
available
images
-
4.8.4.3.4
Decoding
images
-
4.8.4.3.5
Updating
the
image
data
-
4.8.4.3.6
Selecting
an
image
source
-
4.8.4.3.7
Updating
the
source
set
-
4.8.4.3.8
Parsing
a
srcset
attribute
-
4.8.4.3.9
Parsing
a
sizes
attribute
-
4.8.4.3.10
Normalizing
the
source
densities
-
4.8.4.3.11
Reacting
to
environment
changes
-
4.8.4.4
Requirements
for
providing
text
to
act
as
an
alternative
for
images
-
4.8.4.4.1
General
guidelines
-
4.8.4.4.2
A
link
or
button
containing
nothing
but
the
image
-
4.8.4.4.3
A
phrase
or
paragraph
with
an
alternative
graphical
representation:
charts,
diagrams,
graphs,
maps,
illustrations
-
4.8.4.4.4
A
short
phrase
or
label
with
an
alternative
graphical
representation:
icons,
logos
-
4.8.4.4.5
Text
that
has
been
rendered
to
a
graphic
for
typographical
effect
-
4.8.4.4.6
A
graphical
representation
of
some
of
the
surrounding
text
-
4.8.4.4.7
Ancillary
images
-
4.8.4.4.8
A
purely
decorative
image
that
doesn't
add
any
information
-
4.8.4.4.9
A
group
of
images
that
form
a
single
larger
picture
with
no
links
-
4.8.4.4.10
A
group
of
images
that
form
a
single
larger
picture
with
links
-
4.8.4.4.11
A
key
part
of
the
content
-
4.8.4.4.12
An
image
not
intended
for
the
user
-
4.8.4.4.13
An
image
in
an
email
or
private
document
intended
for
a
specific
person
who
is
known
to
be
able
to
view
images
-
4.8.4.4.14
Guidance
for
markup
generators
-
4.8.4.4.15
Guidance
for
conformance
checkers
-
4.8.5
The
iframe
element
-
4.8.6
The
embed
element
-
4.8.7
The
object
element
-
4.8.8
The
param
element
-
4.8.9
The
video
element
-
4.8.10
The
audio
element
-
4.8.11
The
track
element
-
4.8.12
Media
elements
-
4.8.12.1
Error
codes
-
4.8.12.2
Location
of
the
media
resource
-
4.8.12.3
MIME
types
-
4.8.12.4
Network
states
-
4.8.12.5
Loading
the
media
resource
-
4.8.12.6
Offsets
into
the
media
resource
-
4.8.12.7
Ready
states
-
4.8.12.8
Playing
the
media
resource
-
4.8.12.9
Seeking
-
4.8.12.10
Media
resources
with
multiple
media
tracks
-
4.8.12.10.1
AudioTrackList
and
VideoTrackList
objects
-
4.8.12.10.2
Selecting
specific
audio
and
video
tracks
declaratively
-
4.8.12.11
Timed
text
tracks
-
4.8.12.11.1
Text
track
model
-
4.8.12.11.2
Sourcing
in-band
text
tracks
-
4.8.12.11.3
Sourcing
out-of-band
text
tracks
-
4.8.12.11.4
Guidelines
for
exposing
cues
in
various
formats
as
text
track
cues
-
4.8.12.11.5
Text
track
API
-
4.8.12.11.6
Event
handlers
for
objects
of
the
text
track
APIs
-
4.8.12.11.7
Best
practices
for
metadata
text
tracks
-
4.8.12.12
Identifying
a
track
kind
through
a
URL
-
4.8.12.13
User
interface
-
4.8.12.14
Time
ranges
-
4.8.12.15
The
TrackEvent
interface
-
4.8.12.16
Events
summary
-
4.8.12.17
Security
and
privacy
considerations
-
4.8.12.18
Best
practices
for
authors
using
media
elements
-
4.8.12.19
Best
practices
for
implementers
of
media
elements
-
4.8.13
The
map
element
-
4.8.14
The
area
element
-
4.8.15
Image
maps
-
4.8.15.1
Authoring
-
4.8.15.2
Processing
model
-
4.8.16
MathML
-
4.8.17
SVG
-
4.8.18
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
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.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
Enabling
client-side
automatic
filling
of
form
controls
-
4.10.1.6
Improving
the
user
experience
on
mobile
devices
-
4.10.1.7
The
difference
between
the
field
type,
the
autofill
field
name,
and
the
input
modality
-
4.10.1.8
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
Email
state
(
type=email
)
-
4.10.5.1.6
Password
state
(
type=password
)
-
4.10.5.1.7
Date
state
(
type=date
)
-
4.10.5.1.8
Month
state
(
type=month
)
-
4.10.5.1.9
Week
state
(
type=week
)
-
4.10.5.1.10
Time
state
(
type=time
)
-
4.10.5.1.11
Local
Date
and
Time
state
(
type=datetime-local
)
-
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
Implementation
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
output
element
-
4.10.13
The
progress
element
-
4.10.14
The
meter
element
-
4.10.15
The
fieldset
element
-
4.10.16
The
legend
element
-
4.10.17
Form
control
infrastructure
-
4.10.17.1
A
form
control's
value
-
4.10.17.2
Mutability
-
4.10.17.3
Association
of
controls
and
forms
-
4.10.18
Attributes
common
to
form
controls
-
4.10.18.1
Naming
form
controls:
the
name
attribute
-
4.10.18.2
Submitting
element
directionality:
the
dirname
attribute
-
4.10.18.3
Limiting
user
input
length:
the
maxlength
attribute
-
4.10.18.4
Setting
minimum
input
length
requirements:
the
minlength
attribute
-
4.10.18.5
Enabling
and
disabling
form
controls:
the
disabled
attribute
-
4.10.18.6
Form
submission
attributes
-
4.10.18.7
Autofill
-
4.10.18.7.1
Autofilling
form
controls:
the
autocomplete
attribute
-
4.10.18.7.2
Processing
model
-
4.10.19
APIs
for
the
text
control
selections
-
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
Constructing
the
entry
list
-
4.10.21.5
Selecting
a
form
submission
encoding
-
4.10.21.6
URL-encoded
form
data
-
4.10.21.7
Multipart
form
data
-
4.10.21.8
Plain
text
form
data
-
4.10.21.9
The
SubmitEvent
interface
-
4.10.21.10
The
FormDataEvent
interface
-
4.10.22
Resetting
a
form
-
4.11
Interactive
elements
-
4.11.1
The
details
element
-
4.11.2
The
summary
element
-
4.11.3
Commands
-
4.11.3.1
Facets
-
4.11.3.2
Using
the
a
element
to
define
a
command
-
4.11.3.3
Using
the
button
element
to
define
a
command
-
4.11.3.4
Using
the
input
element
to
define
a
command
-
4.11.3.5
Using
the
option
element
to
define
a
command
-
4.11.3.6
Using
the
accesskey
attribute
on
a
legend
element
to
define
a
command
-
4.11.3.7
Using
the
accesskey
attribute
to
define
a
command
on
other
elements
-
4.11.4
The
dialog
element
-
4.12
Scripting
-
4.12.1
The
script
element
-
4.12.1.1
Processing
model
-
4.12.1.2
Scripting
languages
-
4.12.1.3
Restrictions
for
contents
of
script
elements
-
4.12.1.4
Inline
documentation
for
external
scripts
-
4.12.1.5
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
slot
element
-
4.12.5
The
canvas
element
-
4.12.5.1
The
2D
rendering
context
-
4.12.5.1.1
Implementation
notes
-
4.12.5.1.2
The
canvas
state
-
4.12.5.1.3
Line
styles
-
4.12.5.1.4
Text
styles
-
4.12.5.1.5
Building
paths
-
4.12.5.1.6
Path2D
objects
-
4.12.5.1.7
Transformations
-
4.12.5.1.8
Image
sources
for
2D
rendering
contexts
-
4.12.5.1.9
Fill
and
stroke
styles
-
4.12.5.1.10
Drawing
rectangles
to
the
bitmap
-
4.12.5.1.11
Drawing
text
to
the
bitmap
-
4.12.5.1.12
Drawing
paths
to
the
canvas
-
4.12.5.1.13
Drawing
focus
rings
and
scrolling
paths
into
view
-
4.12.5.1.14
Drawing
images
-
4.12.5.1.15
Pixel
manipulation
-
4.12.5.1.16
Compositing
-
4.12.5.1.17
Image
smoothing
-
4.12.5.1.18
Shadows
-
4.12.5.1.19
Filters
-
4.12.5.1.20
Working
with
externally-defined
SVG
filters
-
4.12.5.1.21
Drawing
model
-
4.12.5.1.22
Best
practices
-
4.12.5.1.23
Examples
-
4.12.5.2
The
ImageBitmap
rendering
context
-
4.12.5.2.1
Introduction
-
4.12.5.2.2
The
ImageBitmapRenderingContext
interface
-
4.12.5.3
The
OffscreenCanvas
interface
-
4.12.5.3.1
The
offscreen
2D
rendering
context
-
4.12.5.4
Color
spaces
and
color
correction
-
4.12.5.5
Serializing
bitmaps
to
a
file
-
4.12.5.6
Security
with
canvas
elements
-
4.13
Custom
elements
-
4.13.1
Introduction
-
4.13.1.1
Creating
an
autonomous
custom
element
-
4.13.1.2
Creating
a
form-associated
custom
element
-
4.13.1.3
Creating
a
custom
element
with
default
accessible
roles,
states,
and
properties
-
4.13.1.4
Creating
a
customized
built-in
element
-
4.13.1.5
Drawbacks
of
autonomous
custom
elements
-
4.13.1.6
Upgrading
elements
after
their
creation
-
4.13.2
Requirements
for
custom
element
constructors
and
reactions
-
4.13.3
Core
concepts
-
4.13.4
The
CustomElementRegistry
interface
-
4.13.5
Upgrades
-
4.13.6
Custom
element
reactions
-
4.13.7
Element
internals
-
4.13.7.1
The
ElementInternals
interface
-
4.13.7.2
Shadow
root
access
-
4.13.7.3
Form-associated
custom
elements
-
4.13.7.4
Accessibility
semantics
-
4.14
Common
idioms
without
dedicated
elements
-
4.14.1
Bread
crumb
navigation
-
4.14.2
Tag
clouds
-
4.14.3
Conversations
-
4.14.4
Footnotes
-
4.15
Disabled
elements
-
4.16
Matching
HTML
elements
using
selectors
and
CSS
-
4.16.1
Case-sensitivity
of
the
CSS
'attr()'
function
-
4.16.2
Case-sensitivity
of
selectors
-
4.16.3
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.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.2.6
Microdata
and
other
namespaces
-
5.3
Sample
microdata
vocabularies
-
5.3.1
vCard
-
5.3.1.1
Conversion
to
vCard
-
5.3.1.2
Examples
-
5.3.2
vEvent
-
5.3.2.1
Conversion
to
iCalendar
-
5.3.2.2
Examples
-
5.3.3
Licensing
works
-
5.3.3.1
Examples
-
5.4
Converting
HTML
to
other
formats
-
5.4.1
JSON
-
6
User
interaction
-
6.1
The
hidden
attribute
-
6.2
Inert
subtrees
-
6.3
Tracking
user
activation
-
6.3.1
Data
model
-
6.3.2
Processing
model
-
6.3.3
APIs
gated
by
user
activation
-
6.4
Activation
behavior
of
elements
-
6.5
Focus
-
6.5.1
Introduction
-
6.5.2
Data
model
-
6.5.3
The
tabindex
attribute
-
6.5.4
Processing
model
-
6.5.5
Sequential
focus
navigation
-
6.5.6
Focus
management
APIs
-
6.5.7
The
autofocus
attribute
-
6.6
Assigning
keyboard
shortcuts
-
6.6.1
Introduction
-
6.6.2
The
accesskey
attribute
-
6.6.3
Processing
model
-
6.7
Editing
-
6.7.1
Making
document
regions
editable:
The
contenteditable
content
attribute
-
6.7.2
Making
entire
documents
editable:
the
designMode
getter
and
setter
-
6.7.3
Best
practices
for
in-page
editors
-
6.7.4
Editing
APIs
-
6.7.5
Spelling
and
grammar
checking
-
6.7.6
Autocapitalization
-
6.7.7
Input
modalities:
the
inputmode
attribute
-
6.7.8
Input
modalities:
the
enterkeyhint
attribute
-
6.8
Find-in-page
-
6.8.1
Introduction
-
6.8.2
Interaction
with
selection
-
6.9
Drag
and
drop
-
6.9.1
Introduction
-
6.9.2
The
drag
data
store
-
6.9.3
The
DataTransfer
interface
-
6.9.3.1
The
DataTransferItemList
interface
-
6.9.3.2
The
DataTransferItem
interface
-
6.9.4
The
DragEvent
interface
-
6.9.5
Processing
model
-
6.9.6
Events
summary
-
6.9.7
The
draggable
attribute
-
6.9.8
Security
risks
in
the
drag-and-drop
model
-
7
Loading
web
pages
-
7.1
Browsing
contexts
-
7.1.1
Creating
browsing
contexts
-
7.1.2
Related
browsing
contexts
-
7.1.2.1
Navigating
related
browsing
contexts
in
the
DOM
-
7.1.3
Security
-
7.1.4
Groupings
of
browsing
contexts
-
7.1.5
Browsing
context
names
-
7.2
Security
infrastructure
for
Window
,
WindowProxy
,
and
Location
objects
-
7.2.1
Integration
with
IDL
-
7.2.2
Shared
internal
slot:
[[CrossOriginPropertyDescriptorMap]]
-
7.2.3
Shared
abstract
operations
-
7.2.3.1
CrossOriginProperties
(
O
)
-
7.2.3.2
CrossOriginPropertyFallback
(
P
)
-
7.2.3.3
IsPlatformObjectSameOrigin
(
O
)
-
7.2.3.4
CrossOriginGetOwnPropertyHelper
(
O
,
P
)
-
7.2.3.5
CrossOriginGet
(
O
,
P
,
Receiver
)
-
7.2.3.6
CrossOriginSet
(
O
,
P
,
V
,
Receiver
)
-
7.2.3.7
CrossOriginOwnPropertyKeys
(
O
)
-
7.3
The
Window
object
-
7.3.1
APIs
for
creating
and
navigating
browsing
contexts
by
name
-
7.3.2
Accessing
other
browsing
contexts
-
7.3.3
Named
access
on
the
Window
object
-
7.3.4
Discarding
browsing
contexts
-
7.3.5
Closing
browsing
contexts
-
7.3.6
Browser
interface
elements
-
7.3.7
Script
settings
for
Window
objects
-
7.4
The
WindowProxy
exotic
object
-
7.4.1
[[GetPrototypeOf]]
(
)
-
7.4.2
[[SetPrototypeOf]]
(
V
)
-
7.4.3
[[IsExtensible]]
(
)
-
7.4.4
[[PreventExtensions]]
(
)
-
7.4.5
[[GetOwnProperty]]
(
P
)
-
7.4.6
[[DefineOwnProperty]]
(
P
,
Desc
)
-
7.4.7
[[Get]]
(
P
,
Receiver
)
-
7.4.8
[[Set]]
(
P
,
V
,
Receiver
)
-
7.4.9
[[Delete]]
(
P
)
-
7.4.10
[[OwnPropertyKeys]]
(
)
-
7.5
Origin
-
7.5.1
Sites
-
7.5.2
Relaxing
the
same-origin
restriction
-
7.5.3
Origin
isolation
-
7.6
Sandboxing
-
7.7
Cross-origin
opener
policies
-
7.7.1
The
headers
-
7.7.2
Browsing
context
group
switches
due
to
cross-origin
opener
policy
-
7.7.3
Reporting
-
7.8
Cross-origin
embedder
policies
-
7.8.1
The
headers
-
7.8.2
Embedder
policy
checks
-
7.9
Session
history
and
navigation
-
7.9.1
Browsing
sessions
-
7.9.2
The
session
history
of
browsing
contexts
-
7.9.3
The
History
interface
-
7.9.4
Implementation
notes
for
session
history
-
7.9.5
The
Location
interface
-
7.9.5.1
[[GetPrototypeOf]]
(
)
-
7.9.5.2
[[SetPrototypeOf]]
(
V
)
-
7.9.5.3
[[IsExtensible]]
(
)
-
7.9.5.4
[[PreventExtensions]]
(
)
-
7.9.5.5
[[GetOwnProperty]]
(
P
)
-
7.9.5.6
[[DefineOwnProperty]]
(
P
,
Desc
)
-
7.9.5.7
[[Get]]
(
P
,
Receiver
)
-
7.9.5.8
[[Set]]
(
P
,
V
,
Receiver
)
-
7.9.5.9
[[Delete]]
(
P
)
-
7.9.5.10
[[OwnPropertyKeys]]
(
)
-
7.10
Browsing
the
web
-
7.10.1
Navigating
across
documents
-
7.10.2
Page
load
processing
model
for
HTML
files
-
7.10.3
Page
load
processing
model
for
XML
files
-
7.10.4
Page
load
processing
model
for
text
files
-
7.10.5
Page
load
processing
model
for
multipart/x-mixed-replace
resources
-
7.10.6
Page
load
processing
model
for
media
-
7.10.7
Page
load
processing
model
for
content
that
uses
plugins
-
7.10.8
Page
load
processing
model
for
inline
content
that
doesn't
have
a
DOM
-
7.10.9
Navigating
to
a
fragment
-
7.10.10
History
traversal
-
7.10.10.1
Persisted
history
entry
state
-
7.10.10.2
The
PopStateEvent
interface
-
7.10.10.3
The
HashChangeEvent
interface
-
7.10.10.4
The
PageTransitionEvent
interface
-
7.10.11
Loading
documents
-
7.10.12
Unloading
documents
-
7.10.12.1
The
BeforeUnloadEvent
interface
-
7.10.13
Aborting
a
document
load
-
7.10.14
The
`
X-Frame-Options
`
header
7.11
Offline
web
applications
7.11.1
Introduction
7.11.1.1
Supporting
offline
caching
for
legacy
applications
7.11.1.2
Events
summary
7.11.2
Application
caches
7.11.3
The
cache
manifest
syntax
7.11.3.1
Some
sample
manifests
7.11.3.2
Writing
cache
manifests
7.11.3.3
Parsing
cache
manifests
7.11.4
Downloading
or
updating
an
application
cache
7.11.5
The
application
cache
selection
algorithm
7.11.6
Changes
to
the
networking
model
7.11.7
Expiring
application
caches
7.11.8
Disk
space
7.11.9
Security
concerns
with
offline
applications
caches
7.11.10
Application
cache
API
7.11.11
Browser
state
-
8
Web
application
APIs
-
8.1
Scripting
-
8.1.1
Introduction
-
8.1.2
Agents
and
agent
clusters
-
8.1.2.1
Integration
with
the
JavaScript
agent
formalism
-
8.1.2.2
Integration
with
the
JavaScript
agent
cluster
formalism
-
8.1.3
Realms
and
their
counterparts
-
8.1.3.1
Environments
-
8.1.3.2
Environment
settings
objects
-
8.1.3.3
Realms,
settings
objects,
and
global
objects
-
8.1.3.3.1
Entry
-
8.1.3.3.2
Incumbent
-
8.1.3.3.3
Current
-
8.1.3.3.4
Relevant
-
8.1.3.4
Enabling
and
disabling
scripting
-
8.1.3.5
Secure
contexts
-
8.1.4
Script
processing
model
-
8.1.4.1
Scripts
-
8.1.4.2
Fetching
scripts
-
8.1.4.3
Creating
scripts
-
8.1.4.4
Calling
scripts
-
8.1.4.5
Killing
scripts
-
8.1.4.6
Runtime
script
errors
-
8.1.4.7
Unhandled
promise
rejections
-
8.1.5
JavaScript
specification
host
hooks
-
8.1.5.1
HostEnqueuePromiseJob(
job
,
realm
)
-
8.1.5.2
HostEnsureCanCompileStrings(
callerRealm
,
calleeRealm
)
-
8.1.5.3
HostPromiseRejectionTracker(
promise
,
operation
)
-
8.1.5.4
Module-related
host
hooks
-
8.1.5.4.1
HostGetImportMetaProperties(
moduleRecord
)
-
8.1.5.4.2
HostImportModuleDynamically(
referencingScriptOrModule
,
specifier
,
promiseCapability
)
-
8.1.5.4.3
HostResolveImportedModule(
referencingScriptOrModule
,
specifier
)
-
8.1.6
Event
loops
-
8.1.6.1
Definitions
-
8.1.6.2
Queuing
tasks
-
8.1.6.3
Processing
model
-
8.1.6.4
Generic
task
sources
-
8.1.6.5
Dealing
with
the
event
loop
from
other
specifications
-
8.1.7
Events
-
8.1.7.1
Event
handlers
-
8.1.7.2
Event
handlers
on
elements,
Document
objects,
and
Window
objects
-
8.1.7.2.1
IDL
definitions
-
8.1.7.3
Event
firing
-
8.2
The
WindowOrWorkerGlobalScope
mixin
-
8.3
Base64
utility
methods
-
8.4
Dynamic
markup
insertion
-
8.4.1
Opening
the
input
stream
-
8.4.2
Closing
the
input
stream
-
8.4.3
document.write()
-
8.4.4
document.writeln()
-
8.5
DOM
parsing
-
8.6
Timers
-
8.7
Microtask
queuing
-
8.8
User
prompts
-
8.8.1
Simple
dialogs
-
8.8.2
Printing
-
8.9
System
state
and
capabilities
-
8.9.1
The
Navigator
object
-
8.9.1.1
Client
identification
-
8.9.1.2
Language
preferences
-
8.9.1.3
Browser
state
-
8.9.1.4
Custom
scheme
handlers:
the
registerProtocolHandler()
method
-
8.9.1.3.1
8.9.1.4.1
Security
and
privacy
-
8.9.1.4
8.9.1.5
Cookies
-
8.9.1.5
8.9.1.6
Plugins
-
8.10
Images
-
8.11
Animation
frames
-
9
Communication
-
9.1
The
MessageEvent
interface
-
9.2
Server-sent
events
-
9.2.1
Introduction
-
9.2.2
The
EventSource
interface
-
9.2.3
Processing
model
-
9.2.4
Parsing
an
event
stream
-
9.2.5
Interpreting
an
event
stream
-
9.2.6
Authoring
notes
-
9.2.7
Connectionless
push
and
other
features
-
9.2.8
Garbage
collection
-
9.2.9
Implementation
advice
-
9.3
Web
sockets
-
9.3.1
Introduction
-
9.3.2
The
WebSocket
interface
-
9.3.3
Feedback
from
the
protocol
-
9.3.4
Ping
and
Pong
frames
-
9.3.5
The
CloseEvent
interface
-
9.3.6
Garbage
collection
-
9.4
Cross-document
messaging
-
9.4.1
Introduction
-
9.4.2
Security
-
9.4.2.1
Authors
-
9.4.2.2
User
agents
-
9.4.3
Posting
messages
-
9.5
Channel
messaging
-
9.5.1
Introduction
-
9.5.1.1
Examples
-
9.5.1.2
Ports
as
the
basis
of
an
object-capability
model
on
the
web
-
9.5.1.3
Ports
as
the
basis
of
abstracting
out
service
implementations
-
9.5.2
Message
channels
-
9.5.3
Message
ports
-
9.5.4
Broadcasting
to
many
ports
-
9.5.5
Ports
and
garbage
collection
-
9.6
Broadcasting
to
other
browsing
contexts
-
10
Web
workers
-
10.1
Introduction
-
10.1.1
Scope
-
10.1.2
Examples
-
10.1.2.1
A
background
number-crunching
worker
-
10.1.2.2
Using
a
JavaScript
module
as
a
worker
-
10.1.2.3
Shared
workers
introduction
-
10.1.2.4
Shared
state
using
a
shared
worker
-
10.1.2.5
Delegation
-
10.1.2.6
Providing
libraries
-
10.1.3
Tutorials
-
10.1.3.1
Creating
a
dedicated
worker
-
10.1.3.2
Communicating
with
a
dedicated
worker
-
10.1.3.3
Shared
workers
-
10.2
Infrastructure
-
10.2.1
The
global
scope
-
10.2.1.1
The
WorkerGlobalScope
common
interface
-
10.2.1.2
Dedicated
workers
and
the
DedicatedWorkerGlobalScope
interface
-
10.2.1.3
Shared
workers
and
the
SharedWorkerGlobalScope
interface
-
10.2.2
The
event
loop
-
10.2.3
The
worker's
lifetime
-
10.2.4
Processing
model
-
10.2.5
Runtime
script
errors
-
10.2.6
Creating
workers
-
10.2.6.1
The
AbstractWorker
mixin
-
10.2.6.2
Script
settings
for
workers
-
10.2.6.3
Dedicated
workers
and
the
Worker
interface
-
10.2.6.4
Shared
workers
and
the
SharedWorker
interface
-
10.2.7
Concurrent
hardware
capabilities
-
10.3
APIs
available
to
workers
-
10.3.1
Importing
scripts
and
libraries
-
10.3.2
The
WorkerNavigator
interface
-
10.3.3
The
WorkerLocation
interface
-
11
Worklets
-
11.1
Introduction
-
11.1.1
Motivations
-
11.1.2
Code
idempotence
-
11.1.3
Speculative
evaluation
-
11.2
Examples
-
11.2.1
Loading
scripts
-
11.2.2
Registering
a
class
and
invoking
its
methods
-
11.3
Infrastructure
-
11.3.1
The
global
scope
-
11.3.1.1
Agents
and
event
loops
-
11.3.1.2
Creation
and
termination
-
11.3.1.3
Script
settings
for
worklets
-
11.3.2
The
Worklet
class
-
11.3.3
The
worklet's
lifetime
-
12
Web
storage
-
12.1
Introduction
-
12.2
The
API
-
12.2.1
The
Storage
interface
-
12.2.2
The
sessionStorage
getter
-
12.2.3
The
localStorage
getter
-
12.2.4
The
StorageEvent
interface
-
12.3
Privacy
-
12.3.1
User
tracking
-
12.3.2
Sensitivity
of
data
-
12.4
Security
-
12.4.1
DNS
spoofing
attacks
-
12.4.2
Cross-directory
attacks
-
12.4.3
Implementation
risks
-
13
The
HTML
syntax
-
13.1
Writing
HTML
documents
-
13.1.1
The
DOCTYPE
-
13.1.2
Elements
-
13.1.2.1
Start
tags
-
13.1.2.2
End
tags
-
13.1.2.3
Attributes
-
13.1.2.4
Optional
tags
-
13.1.2.5
Restrictions
on
content
models
-
13.1.2.6
Restrictions
on
the
contents
of
raw
text
and
escapable
raw
text
elements
-
13.1.3
Text
-
13.1.3.1
Newlines
-
13.1.4
Character
references
-
13.1.5
CDATA
sections
-
13.1.6
Comments
-
13.2
Parsing
HTML
documents
-
13.2.1
Overview
of
the
parsing
model
-
13.2.2
Parse
errors
-
13.2.3
The
input
byte
stream
-
13.2.3.1
Parsing
with
a
known
character
encoding
-
13.2.3.2
Determining
the
character
encoding
-
13.2.3.3
Character
encodings
-
13.2.3.4
Changing
the
encoding
while
parsing
-
13.2.3.5
Preprocessing
the
input
stream
-
13.2.4
Parse
state
-
13.2.4.1
The
insertion
mode
-
13.2.4.2
The
stack
of
open
elements
-
13.2.4.3
The
list
of
active
formatting
elements
-
13.2.4.4
The
element
pointers
-
13.2.4.5
Other
parsing
state
flags
-
13.2.5
Tokenization
-
13.2.5.1
Data
state
-
13.2.5.2
RCDATA
state
-
13.2.5.3
RAWTEXT
state
-
13.2.5.4
Script
data
state
-
13.2.5.5
PLAINTEXT
state
-
13.2.5.6
Tag
open
state
-
13.2.5.7
End
tag
open
state
-
13.2.5.8
Tag
name
state
-
13.2.5.9
RCDATA
less-than
sign
state
-
13.2.5.10
RCDATA
end
tag
open
state
-
13.2.5.11
RCDATA
end
tag
name
state
-
13.2.5.12
RAWTEXT
less-than
sign
state
-
13.2.5.13
RAWTEXT
end
tag
open
state
-
13.2.5.14
RAWTEXT
end
tag
name
state
-
13.2.5.15
Script
data
less-than
sign
state
-
13.2.5.16
Script
data
end
tag
open
state
-
13.2.5.17
Script
data
end
tag
name
state
-
13.2.5.18
Script
data
escape
start
state
-
13.2.5.19
Script
data
escape
start
dash
state
-
13.2.5.20
Script
data
escaped
state
-
13.2.5.21
Script
data
escaped
dash
state
-
13.2.5.22
Script
data
escaped
dash
dash
state
-
13.2.5.23
Script
data
escaped
less-than
sign
state
-
13.2.5.24
Script
data
escaped
end
tag
open
state
-
13.2.5.25
Script
data
escaped
end
tag
name
state
-
13.2.5.26
Script
data
double
escape
start
state
-
13.2.5.27
Script
data
double
escaped
state
-
13.2.5.28
Script
data
double
escaped
dash
state
-
13.2.5.29
Script
data
double
escaped
dash
dash
state
-
13.2.5.30
Script
data
double
escaped
less-than
sign
state
-
13.2.5.31
Script
data
double
escape
end
state
-
13.2.5.32
Before
attribute
name
state
-
13.2.5.33
Attribute
name
state
-
13.2.5.34
After
attribute
name
state
-
13.2.5.35
Before
attribute
value
state
-
13.2.5.36
Attribute
value
(double-quoted)
state
-
13.2.5.37
Attribute
value
(single-quoted)
state
-
13.2.5.38
Attribute
value
(unquoted)
state
-
13.2.5.39
After
attribute
value
(quoted)
state
-
13.2.5.40
Self-closing
start
tag
state
-
13.2.5.41
Bogus
comment
state
-
13.2.5.42
Markup
declaration
open
state
-
13.2.5.43
Comment
start
state
-
13.2.5.44
Comment
start
dash
state
-
13.2.5.45
Comment
state
-
13.2.5.46
Comment
less-than
sign
state
-
13.2.5.47
Comment
less-than
sign
bang
state
-
13.2.5.48
Comment
less-than
sign
bang
dash
state
-
13.2.5.49
Comment
less-than
sign
bang
dash
dash
state
-
13.2.5.50
Comment
end
dash
state
-
13.2.5.51
Comment
end
state
-
13.2.5.52
Comment
end
bang
state
-
13.2.5.53
DOCTYPE
state
-
13.2.5.54
Before
DOCTYPE
name
state
-
13.2.5.55
DOCTYPE
name
state
-
13.2.5.56
After
DOCTYPE
name
state
-
13.2.5.57
After
DOCTYPE
public
keyword
state
-
13.2.5.58
Before
DOCTYPE
public
identifier
state
-
13.2.5.59
DOCTYPE
public
identifier
(double-quoted)
state
-
13.2.5.60
DOCTYPE
public
identifier
(single-quoted)
state
-
13.2.5.61
After
DOCTYPE
public
identifier
state
-
13.2.5.62
Between
DOCTYPE
public
and
system
identifiers
state
-
13.2.5.63
After
DOCTYPE
system
keyword
state
-
13.2.5.64
Before
DOCTYPE
system
identifier
state
-
13.2.5.65
DOCTYPE
system
identifier
(double-quoted)
state
-
13.2.5.66
DOCTYPE
system
identifier
(single-quoted)
state
-
13.2.5.67
After
DOCTYPE
system
identifier
state
-
13.2.5.68
Bogus
DOCTYPE
state
-
13.2.5.69
CDATA
section
state
-
13.2.5.70
CDATA
section
bracket
state
-
13.2.5.71
CDATA
section
end
state
-
13.2.5.72
Character
reference
state
-
13.2.5.73
Named
character
reference
state
-
13.2.5.74
Ambiguous
ampersand
state
-
13.2.5.75
Numeric
character
reference
state
-
13.2.5.76
Hexadecimal
character
reference
start
state
-
13.2.5.77
Decimal
character
reference
start
state
-
13.2.5.78
Hexadecimal
character
reference
state
-
13.2.5.79
Decimal
character
reference
state
-
13.2.5.80
Numeric
character
reference
end
state
-
13.2.6
Tree
construction
-
13.2.6.1
Creating
and
inserting
nodes
-
13.2.6.2
Parsing
elements
that
contain
only
text
-
13.2.6.3
Closing
elements
that
have
implied
end
tags
-
13.2.6.4
The
rules
for
parsing
tokens
in
HTML
content
-
13.2.6.4.1
The
"initial"
insertion
mode
-
13.2.6.4.2
The
"before
html"
insertion
mode
-
13.2.6.4.3
The
"before
head"
insertion
mode
-
13.2.6.4.4
The
"in
head"
insertion
mode
-
13.2.6.4.5
The
"in
head
noscript"
insertion
mode
-
13.2.6.4.6
The
"after
head"
insertion
mode
-
13.2.6.4.7
The
"in
body"
insertion
mode
-
13.2.6.4.8
The
"text"
insertion
mode
-
13.2.6.4.9
The
"in
table"
insertion
mode
-
13.2.6.4.10
The
"in
table
text"
insertion
mode
-
13.2.6.4.11
The
"in
caption"
insertion
mode
-
13.2.6.4.12
The
"in
column
group"
insertion
mode
-
13.2.6.4.13
The
"in
table
body"
insertion
mode
-
13.2.6.4.14
The
"in
row"
insertion
mode
-
13.2.6.4.15
The
"in
cell"
insertion
mode
-
13.2.6.4.16
The
"in
select"
insertion
mode
-
13.2.6.4.17
The
"in
select
in
table"
insertion
mode
-
13.2.6.4.18
The
"in
template"
insertion
mode
-
13.2.6.4.19
The
"after
body"
insertion
mode
-
13.2.6.4.20
The
"in
frameset"
insertion
mode
-
13.2.6.4.21
The
"after
frameset"
insertion
mode
-
13.2.6.4.22
The
"after
after
body"
insertion
mode
-
13.2.6.4.23
The
"after
after
frameset"
insertion
mode
-
13.2.6.5
The
rules
for
parsing
tokens
in
foreign
content
-
13.2.7
The
end
-
13.2.8
Coercing
an
HTML
DOM
into
an
infoset
-
13.2.9
An
introduction
to
error
handling
and
strange
cases
in
the
parser
-
13.2.9.1
Misnested
tags:
<b><i></b></i>
-
13.2.9.2
Misnested
tags:
<b><p></b></p>
-
13.2.9.3
Unexpected
markup
in
tables
-
13.2.9.4
Scripts
that
modify
the
page
as
it
is
being
parsed
-
13.2.9.5
The
execution
of
scripts
that
are
moving
across
multiple
documents
-
13.2.9.6
Unclosed
formatting
elements
-
13.3
Serializing
HTML
fragments
-
13.4
Parsing
HTML
fragments
-
13.5
Named
character
references
-
14
The
XML
syntax
-
14.1
Writing
documents
in
the
XML
syntax
-
14.2
Parsing
XML
documents
-
14.3
Serializing
XML
fragments
-
14.4
Parsing
XML
fragments
-
15
Rendering
-
15.1
Introduction
-
15.2
The
CSS
user
agent
style
sheet
and
presentational
hints
-
15.3
Non-replaced
elements
-
15.3.1
Hidden
elements
-
15.3.2
The
page
-
15.3.3
Flow
content
-
15.3.4
Phrasing
content
-
15.3.5
Bidirectional
text
-
15.3.6
Sections
and
headings
-
15.3.7
Lists
-
15.3.8
Tables
-
15.3.9
Margin
collapsing
quirks
-
15.3.10
Form
controls
-
15.3.11
The
hr
element
-
15.3.12
The
fieldset
and
legend
elements
-
15.4
Replaced
elements
-
15.4.1
Embedded
content
-
15.4.2
Images
-
15.4.3
Attributes
for
embedded
content
and
images
-
15.4.4
Image
maps
-
15.5
Widgets
-
15.5.1
Introduction
-
15.5.2
Button
layout
-
15.5.3
The
button
element
-
15.5.4
The
details
and
summary
elements
-
15.5.5
The
input
element
as
a
text
entry
widget
-
15.5.6
The
input
element
as
domain-specific
widgets
-
15.5.7
The
input
element
as
a
range
control
-
15.5.8
The
input
element
as
a
color
well
-
15.5.9
The
input
element
as
a
checkbox
and
radio
button
widgets
-
15.5.10
The
input
element
as
a
file
upload
control
-
15.5.11
The
input
element
as
a
button
-
15.5.12
The
marquee
element
-
15.5.13
The
meter
element
-
15.5.14
The
progress
element
-
15.5.15
The
select
element
-
15.5.16
The
textarea
element
-
15.6
Frames
and
framesets
-
15.7
Interactive
media
-
15.7.1
Links,
forms,
and
navigation
-
15.7.2
The
title
attribute
-
15.7.3
Editing
hosts
-
15.7.4
Text
rendered
in
native
user
interfaces
-
15.8
Print
media
-
15.9
Unstyled
XML
documents
-
16
Obsolete
features
-
16.1
Obsolete
but
conforming
features
-
16.1.1
Warnings
for
obsolete
but
conforming
features
-
16.2
Non-conforming
features
-
16.3
Requirements
for
implementations
-
16.3.1
The
marquee
element
-
16.3.2
Frames
-
16.3.3
Other
elements,
attributes
and
APIs
-
17
IANA
considerations
-
17.1
text/html
-
17.2
multipart/x-mixed-replace
-
17.3
application/xhtml+xml
-
17.4
text/cache-manifest
17.5
17.4
text/ping
-
17.6
17.5
application/microdata+json
-
17.7
17.6
text/event-stream
-
17.8
17.7
`
Cross-Origin-Embedder-Policy
`
-
17.9
17.8
`
Cross-Origin-Embedder-Policy-Report-Only
`
-
17.10
17.9
`
Cross-Origin-Opener-Policy
`
-
17.11
17.10
`
Cross-Origin-Opener-Policy-Report-Only
`
-
17.12
17.11
`
Origin-Isolation
`
-
17.13
17.12
`
Ping-From
`
-
17.14
17.13
`
Ping-To
`
-
17.15
17.14
`
Refresh
`
-
17.16
17.15
`
Last-Event-ID
`
-
17.17
17.16
`
X-Frame-Options
`
-
17.18
17.17
web+
scheme
prefix
-
Index
-
Elements
-
Element
content
categories
-
Attributes
-
Element
Interfaces
-
All
Interfaces
-
Events
-
MIME
Types
-
References
-
Acknowledgments
-
Intellectual
property
rights