Table of contents
- 1 Introduction
- 1.1 Is this HTML5?
- 1.2 Background
- 1.3 Audience
- 1.4 Scope
- 1.5 History
- 1.6 Design notes
- 1.6.1 Compliance with other specifications
- 1.6.2 Extensibility
- 1.7 HTML vs XML syntax
- 1.8 Structure of this specification
- 1.8.1 Typographic conventions
- 1.9 Privacy concerns
- 1.9.1 Cross-site communication
- 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 Resources
- 2.1.2 XML compatibility
- 2.1.3 DOM trees
- 2.1.4 Scripting
- 2.1.5 Plugins
- 2.1.6 Character encodings
- 2.1.7 Dependencies
- 2.1.8 Extensibility
- 2.2 Case-sensitivity and string comparison
- 2.3 Common microsyntaxes
- 2.3.1 Boolean attributes
- 2.3.2 Keywords and enumerated attributes
- 2.3.3 Numbers
- 2.3.3.1 Signed integers
- 2.3.3.2 Non-negative integers
- 2.3.3.3 Floating-point numbers
- 2.3.3.4 Lists of floating-point numbers
- 2.3.4 Dates and times
- 2.3.4.1 Months
- 2.3.4.2 Dates
- 2.3.4.3 Yearless dates
- 2.3.4.4 Times
- 2.3.4.5 Local dates and times
- 2.3.4.6 Time zones
- 2.3.4.7 Global dates and times
- 2.3.4.8 Weeks
- 2.3.4.9 Durations
- 2.3.4.10 Vaguer moments in time
- 2.3.5 Colors
- 2.3.6 Space-separated tokens
- 2.3.7 Comma-separated tokens
- 2.3.8 References
- 2.3.9 Media queries
- 2.4 URLs
- 2.4.1 Terminology
- 2.4.2 CORS settings attributes
- 2.4.3 Referrer policy attributes
- 2.5 Common DOM interfaces
- 2.5.1 Reflecting content attributes in IDL attributes
- 2.5.2 Collections
- 2.5.2.1 The
HTMLAllCollection interface - 2.5.2.2 The
HTMLFormControlsCollection interface - 2.5.2.3 The
HTMLOptionsCollection interface
- 2.5.3 The
DOMStringList interface
- 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.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 The "nothing" content model
- 3.2.4.2 Kinds of content
- 3.2.4.2.1 Metadata content
- 3.2.4.2.2 Flow content
- 3.2.4.2.3 Sectioning content
- 3.2.4.2.4 Heading content
- 3.2.4.2.5 Phrasing content
- 3.2.4.2.6 Embedded content
- 3.2.4.2.7 Interactive content
- 3.2.4.2.8 Palpable content
- 3.2.4.2.9 Script-supporting elements
- 3.2.4.3 Transparent content models
- 3.2.4.4 Paragraphs
- 3.2.5 Global attributes
- 3.2.5.1 The
title attribute - 3.2.5.2 The
lang and xml:lang attributes - 3.2.5.3 The
translate attribute - 3.2.5.4 The
dir attribute - 3.2.5.5 The
style attribute - 3.2.5.6 Embedding custom non-visible data with the
data-* attributes
- 3.2.6 The
innerText IDL attribute - 3.2.7 Requirements relating to the bidirectional algorithm
- 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 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 Other pragma directives
- 4.2.5.5 Specifying the document's character encoding
- 4.2.6 The
style element
- 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 Downloading resources
- 4.6.5 Link types
- 4.6.5.1 Link type "
alternate" - 4.6.5.2 Link type "
author" - 4.6.5.3 Link type "
bookmark" - 4.6.5.4 Link type "
canonical" - 4.6.5.5 Link type "
dns-prefetch" - 4.6.5.6 Link type "
external" - 4.6.5.7 Link type "
help" - 4.6.5.8 Link type "
icon" - 4.6.5.9 Link type "
license" - 4.6.5.10 Link type "
nofollow" - 4.6.5.11 Link type "
noopener" - 4.6.5.12 Link type "
noreferrer" - 4.6.5.13 Link type "
pingback" - 4.6.5.14 Link type "
preconnect" - 4.6.5.15 Link type "
prefetch" - 4.6.5.16 Link type "
preload" - 4.6.5.17 Link type "
prerender" - 4.6.5.18 Link type "
search" - 4.6.5.19 Link
type "
serviceworker" - 4.6.5.20 Link type "
stylesheet" - 4.6.5.21 Link type "
tag" - 4.6.5.22 Sequential link types
- 4.6.5.22.1 Link type "
next" - 4.6.5.22.2 Link type "
prev"
- 4.6.5.23 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 and img elements- 4.8.4.2.1 Srcset attributes
- 4.8.4.2.2 Sizes attributes
- 4.8.4.3 Requirements for providing text to act as an alternative for images
- 4.8.4.3.1 General guidelines
- 4.8.4.3.2 A link or button containing nothing but the image
- 4.8.4.3.3 A phrase or paragraph with an alternative graphical representation: charts, diagrams, graphs, maps, illustrations
- 4.8.4.3.4 A short phrase or label with an alternative graphical representation: icons, logos
- 4.8.4.3.5 Text that has been rendered to a graphic for typographical effect
- 4.8.4.3.6 A graphical representation of some of the surrounding text
- 4.8.4.3.7 Ancillary images
- 4.8.4.3.8 A purely decorative image that doesn't add any information
- 4.8.4.3.9 A group of images that form a single larger picture with no links
- 4.8.4.3.10 A group of images that form a single larger picture with links
- 4.8.4.3.11 A key part of the content
- 4.8.4.3.12 An image not intended for the user
- 4.8.4.3.13 An image in an e-mail or private document intended for a specific person who is known to be able to view images
- 4.8.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 Text track API
- 4.8.12.11.4 Text tracks describing chapters
- 4.8.12.11.5 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 Event summary
- 4.8.12.17 Best practices for authors using media elements
- 4.8.13 The
map element - 4.8.14 The
area element - 4.8.15 Image maps
- 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 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 E-mail 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 Common
input element attributes- 4.10.5.2.1 The
maxlength and minlength attributes - 4.10.5.2.2 The
size attribute - 4.10.5.2.3 The
readonly attribute - 4.10.5.2.4 The
required attribute - 4.10.5.2.5 The
multiple attribute - 4.10.5.2.6 The
pattern attribute - 4.10.5.2.7 The
min and max attributes - 4.10.5.2.8 The
step attribute - 4.10.5.2.9 The
list attribute - 4.10.5.2.10 The
placeholder attribute
- 4.10.5.3 Common
input element APIs
- 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
- 4.10.18.6.1 Autofocusing a form control: the
autofocus attribute
- 4.10.18.7 Input modalities: the
inputmode attribute - 4.10.18.8 Autofill
- 4.10.18.8.1 Autofilling form controls: the
autocomplete attribute
- 4.10.19 APIs for the text control selections
- 4.10.20 Constraints
- 4.10.20.1 Definitions
- 4.10.20.2 The constraint validation API
- 4.10.20.3 Security
- 4.10.21 Form submission
- 4.10.21.1 URL-encoded form data
- 4.10.21.2 Multipart form data
- 4.10.21.3 Plain text form data
- 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.4 The
dialog element
- 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.2 The
noscript element - 4.12.3 The
template element - 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 Best practices
- 4.12.5.1.22 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 Serializing bitmaps to a file
- 4.13 Custom elements
- 4.13.1 Introduction
- 4.13.1.1 Creating an autonomous custom element
- 4.13.1.2 Creating a customized built-in element
- 4.13.1.3 Drawbacks of autonomous custom elements
- 4.13.1.4 Upgrading elements after their creation
- 4.13.2 Requirements for custom element constructors
- 4.13.3 Core concepts
- 4.13.4 The
CustomElementRegistry interface - 4.13.5 Upgrades
- 4.13.6 Custom element reactions
- 4.14 Common idioms without dedicated elements
- 4.14.1 The main part of the content
- 4.14.2 Bread crumb navigation
- 4.14.3 Tag clouds
- 4.14.4 Conversations
- 4.14.5 Footnotes
- 4.15 Disabled elements
- 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 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
- 6 User interaction
- 6.1 The
hidden attribute - 6.2 Inert subtrees
- 6.3 Activation
- 6.4 Focus
- 6.4.1 Introduction
- 6.4.2 Data model
- 6.4.3 The
tabindex attribute - 6.4.4 Focus management APIs
- 6.5 Assigning keyboard shortcuts
- 6.5.1 Introduction
- 6.5.2 The
accesskey attribute
- 6.6 Editing
- 6.6.1 Making document regions editable: The
contenteditable content attribute - 6.6.2 Making entire documents editable: the
designMode
IDL attribute - 6.6.3 Best practices for in-page editors
- 6.6.4 Editing APIs
- 6.6.5 Spelling and grammar checking
- 6.7 Drag and drop
- 6.7.1 Introduction
- 6.7.2 The drag data store
- 6.7.3 The
DataTransfer interface- 6.7.3.1 The
DataTransferItemList interface - 6.7.3.2 The
DataTransferItem interface
- 6.7.4 The
DragEvent interface - 6.7.5 Events summary
- 6.7.6 The
draggable attribute
- 7 Loading Web pages
- 7.1 Browsing contexts
- 7.1.1 Nested browsing contexts
- 7.1.1.1 Navigating nested browsing contexts in the DOM
- 7.1.2 Auxiliary browsing contexts
- 7.1.2.1 Navigating auxiliary browsing contexts in the DOM
- 7.1.3 Browsing context names
- 7.2 The
Window object- 7.2.1 APIs for creating and navigating browsing contexts by name
- 7.2.2 Accessing other browsing contexts
- 7.2.3 Named access on the
Window object - 7.2.4 Closing browsing contexts
- 7.2.5 Browser interface elements
- 7.3 Origin
- 7.3.1 Relaxing the same-origin restriction
- 7.4 Sandboxing
- 7.5 Session history and navigation
- 7.5.1 The session history of browsing contexts
- 7.5.2 The
History interface - 7.5.3 The
Location interface
- 7.6 Browsing the Web
- 7.6.1 History traversal
- 7.6.1.1 Persisted user state restoration
- 7.6.1.2 The
PopStateEvent interface - 7.6.1.3 The
HashChangeEvent interface - 7.6.1.4 The
PageTransitionEvent interface
- 7.6.2 Unloading documents
- 7.6.2.1 The
BeforeUnloadEvent interface
- 7.7 Offline Web applications
- 7.7.1 Introduction
- 7.7.1.1 Supporting offline caching for legacy applications
- 7.7.1.2 Event summary
- 7.7.2 The cache manifest syntax
- 7.7.2.1 Some sample manifests
- 7.7.2.2 Writing cache manifests
- 7.7.3 Security concerns with offline applications caches
- 7.7.4 Application cache API
- 7.7.5 Browser state
- 8 Web application APIs
- 8.1 Scripting
- 8.1.1 Introduction
- 8.1.1.1 Runtime script errors
- 8.1.1.2 Unhandled promise rejections
- 8.1.1.2.1 HostPromiseRejectionTracker(promise, operation)
- 8.1.1.2.2 The
PromiseRejectionEvent interface
- 8.1.1.3 HostEnsureCanCompileStrings(callerRealm, calleeRealm)
- 8.1.2 Events
- 8.1.2.1 Event handlers
- 8.1.2.2 Event handlers on elements,
Document objects, and Window objects- 8.1.2.2.1 IDL definitions
- 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 Timers
- 8.6 User prompts
- 8.6.1 Simple dialogs
- 8.6.2 Printing
- 8.7 System state and capabilities
- 8.7.1 The
Navigator object- 8.7.1.1 Client identification
- 8.7.1.2 Language preferences
- 8.7.1.3 Custom scheme and content handlers: the
registerProtocolHandler() and registerContentHandler() methods - 8.7.1.4 Cookies
- 8.7.1.5 Plugins
- 8.8 Images
- 8.9 Animation Frames
- 9 Communication
- 9.1 The
MessageEvent interfaces - 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 interfaces - 9.3.6 Garbage collection
- 9.4 Cross-document messaging
- 9.4.1 Introduction
- 9.4.2 Security
- 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 Worker used for background I/O
- 10.1.2.3 Using a JavaScript module as a worker
- 10.1.2.4 Shared workers introduction
- 10.1.2.5 Shared state using a shared worker
- 10.1.2.6 Delegation
- 10.1.2.7 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 abstract interface - 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 The
WorkerNavigator object - 10.3.2 Worker locations
- 11 Web storage
- 11.1 Introduction
- 11.2 The API
- 11.2.1 The
Storage interface - 11.2.2 The
sessionStorage attribute - 11.2.3 The
localStorage attribute - 11.2.4 The
storage event- 11.2.4.1 The
StorageEvent interface
- 11.3 Disk space
- 11.4 Privacy
- 11.4.1 User tracking
- 11.4.2 Sensitivity of data
- 11.5 Security
- 11.5.1 DNS spoofing attacks
- 11.5.2 Cross-directory attacks
- 11.5.3 Implementation risks
- 12 The HTML syntax
- 12.1 Writing HTML documents
- 12.1.1 The DOCTYPE
- 12.1.2 Elements
- 12.1.2.1 Start tags
- 12.1.2.2 End tags
- 12.1.2.3 Attributes
- 12.1.2.4 Optional tags
- 12.1.2.5 Restrictions on content models
- 12.1.2.6 Restrictions on the contents of raw text and escapable raw text elements
- 12.1.3 Text
- 12.1.3.1 Newlines
- 12.1.4 Character references
- 12.1.5 CDATA sections
- 12.1.6 Comments
- 12.2 Named character references
- 13 The XML syntax
- 14 Obsolete features
- 14.1 Obsolete but conforming features
- 14.2 Non-conforming features
- 15 IANA considerations
- 15.1
text/html - 15.2
multipart/x-mixed-replace - 15.3
application/xhtml+xml - 15.4
text/cache-manifest - 15.5
text/ping - 15.6
application/microdata+json - 15.7
text/event-stream - 15.8 `
Ping-From` - 15.9 `
Ping-To` - 15.10 `
Last-Event-ID` - 15.11
web+ scheme prefix
- Index
- Elements
- Element content categories
- Attributes
- Element Interfaces
- All Interfaces
- Events
- MIME Types
- References
- Acknowledgments