HTML5
Содержание
- 1 Вступление
- 1.1 Что описывает эта спецификация?
- 1.2 Это HTML5?
- 1.3 Предпосылки
- 1.4 Целевая аудитория
- 1.5 Область применения
- 1.6 Предистория
- 1.7 Пояснения
- 1.7.1 Возможность последовательного выполнения скрипта
- 1.7.2 Совместимость с другими спецификациями.
- 1.8 HTML против XHTML
- 1.9 Структура данной спецификации
- 1.9.1 Как читать эту спецификацию
- 1.9.2 Типографские обозначения
- 1.10 Вопросы конфиденциальности
- 1.11 Краткое введение в HTML
- 1.11.1 Написание безопасных приложений с HTML
- 1.11.2 Стандартные ошибки, которых следует избегать при использовании скриптовых API
- 1.12 Соответствие требованиям для разработчиков
- 1.12.1 Презентационная разметка (presentational markup)
- 1.12.2 Синтаксические ошибки
- 1.12.3 Ограничения на контент-модели и на значения атрибутов
- 1.13 Рекомендуемая литература
- 2 Общая инфраструктура
- 2.1 Терминология
- 2.1.1 Ресурсы
- 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 Signed integers
- 2.5.4.2 Non-negative integers
- 2.5.4.3 Floating-point 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 Yearless dates
- 2.5.5.4 Times
- 2.5.5.5 Local dates and times
- 2.5.5.6 Time zones
- 2.5.5.7 Global dates and times
- 2.5.5.8 Weeks
- 2.5.5.9 Durations
- 2.5.5.10 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.7.5 CORS settings attributes
- 2.7.6 CORS-enabled fetch
- 2.8 Common DOM interfaces
- 2.8.1 Reflecting content attributes in IDL attributes
- 2.8.2 Collections
- 2.8.2.1 HTMLAllCollection
- 2.8.2.2 HTMLFormControlsCollection
- 2.8.2.3 HTMLOptionsCollection
- 2.8.2.4 HTMLPropertiesCollection
- 2.8.3 DOMStringMap
- 2.8.4 DOMElementMap
- 2.8.5 Transferable objects
- 2.8.6 Safe passing of structured data
- 2.8.7 DOM feature strings
- 2.8.8 Garbage collection
- 2.9 Namespaces
- 3 Semantics, structure, and APIs of HTML documents
- 3.1 Documents
- 3.1.1 The
Document object
- 3.1.2 Security
- 3.1.3 Resource metadata management
- 3.1.4 DOM tree accessors
- 3.1.5 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
translate attribute
- 3.2.3.5 The
xml:base
attribute (XML only)
- 3.2.3.6 The
dir attribute
- 3.2.3.7 The
class attribute
- 3.2.3.8 The
style attribute
- 3.2.3.9 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.1.8 Palpable 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 Interactions with XPath and XSLT
- 3.4 Dynamic markup insertion
- 3.4.1 Opening the input stream
- 3.4.2 Closing the input stream
- 3.4.3
document.write()
- 3.4.4
document.writeln()
- 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
data element
- 4.6.11 The
time element
- 4.6.12 The
code element
- 4.6.13 The
var element
- 4.6.14 The
samp element
- 4.6.15 The
kbd element
- 4.6.16 The
sub and sup elements
- 4.6.17 The
i element
- 4.6.18 The
b element
- 4.6.19 The
u element
- 4.6.20 The
mark element
- 4.6.21 The
ruby element
- 4.6.22 The
rt element
- 4.6.23 The
rp element
- 4.6.24 The
bdi element
- 4.6.25 The
bdo element
- 4.6.26 The
span element
- 4.6.27 The
br element
- 4.6.28 The
wbr element
- 4.6.29 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.7.6 Edits and tables
- 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 An image in an e-mail or private document intended for a specific person who is known to be able to view images
- 4.8.1.1.13 Guidance for markup generators
- 4.8.1.1.14 Guidance for conformance checkers
- 4.8.1.2 Adaptive images
- 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 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
AudioTrackList and VideoTrackList 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 Guidelines for exposing cues in various formats as
text track cues
- 4.8.10.12.5 Text track API
- 4.8.10.12.6 Text tracks describing chapters
- 4.8.10.12.7 Event definitions
- 4.8.10.13 User interface
- 4.8.10.14 Time ranges
- 4.8.10.15 Event definitions
- 4.8.10.16 Event summary
- 4.8.10.17 Security and privacy considerations
- 4.8.10.18 Best practices for authors using media elements
- 4.8.10.19 Best practices for implementors of media elements
- 4.8.11 The
canvas element
- 4.8.11.1 The 2D context
- 4.8.11.1.1 Resolution
- 4.8.11.1.2 The canvas state
- 4.8.11.1.3
DrawingStyle objects
- 4.8.11.1.4 Line styles
- 4.8.11.1.5 Text styles
- 4.8.11.1.6 Building paths
- 4.8.11.1.7
Path objects
- 4.8.11.1.8 Transformations
- 4.8.11.1.9 Fill and stroke styles
- 4.8.11.1.10 Drawing rectangles to the canvas
- 4.8.11.1.11 Drawing text to the canvas
- 4.8.11.1.12 Drawing paths to the canvas
- 4.8.11.1.13 Drawing images to the canvas
- 4.8.11.1.14 Hit regions
- 4.8.11.1.15 Pixel manipulation
- 4.8.11.1.16 Compositing
- 4.8.11.1.17 Image smoothing
- 4.8.11.1.18 Shadows
- 4.8.11.1.19 Drawing model
- 4.8.11.1.20 Best practices
- 4.8.11.1.21 Examples
- 4.8.11.2 Color spaces and color correction
- 4.8.11.3 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 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
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 (
type=hidden)
- 4.10.7.1.2 Text (
type=text) state and Search state (type=search)
- 4.10.7.1.3 Telephone state (
type=tel)
- 4.10.7.1.4 URL state (
type=url)
- 4.10.7.1.5 E-mail state (
type=email)
- 4.10.7.1.6 Password state (
type=password)
- 4.10.7.1.7 Date and Time state (
type=datetime)
- 4.10.7.1.8 Date state (
type=date)
- 4.10.7.1.9 Month state (
type=month)
- 4.10.7.1.10 Week state (
type=week)
- 4.10.7.1.11 Time state (
type=time)
- 4.10.7.1.12 Local Date and Time state (
type=datetime-local)
- 4.10.7.1.13 Number state (
type=number)
- 4.10.7.1.14 Range state (
type=range)
- 4.10.7.1.15 Color state (
type=color)
- 4.10.7.1.16 Checkbox state (
type=checkbox)
- 4.10.7.1.17 Radio Button state (
type=radio)
- 4.10.7.1.18 File Upload state (
type=file)
- 4.10.7.1.19 Submit Button state (
type=submit)
- 4.10.7.1.20 Image Button state (
type=image)
- 4.10.7.1.21 Reset Button state (
type=reset)
- 4.10.7.1.22 Button state (
type=button)
- 4.10.7.2 Implemention notes regarding localization of form controls
- 4.10.7.3 Common
input element attributes
- 4.10.7.3.1 The
maxlength attribute
- 4.10.7.3.2 The
size attribute
- 4.10.7.3.3 The
readonly attribute
- 4.10.7.3.4 The
required attribute
- 4.10.7.3.5 The
multiple attribute
- 4.10.7.3.6 The
pattern attribute
- 4.10.7.3.7 The
min and max attributes
- 4.10.7.3.8 The
step attribute
- 4.10.7.3.9 The
list attribute
- 4.10.7.3.10 The
placeholder attribute
- 4.10.7.4 Common
input element APIs
- 4.10.7.5 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 Form control infrastructure
- 4.10.18.1 A form control's value
- 4.10.18.2 Mutability
- 4.10.18.3 Association of controls and forms
- 4.10.19 Attributes common to form controls
- 4.10.19.1 Naming form controls: the
name attribute
- 4.10.19.2 Submitting element directionality: the
dirname attribute
- 4.10.19.3 Limiting user input length: the
maxlength attribute
- 4.10.19.4 Enabling and disabling form controls: the
disabled attribute
- 4.10.19.5 Form submission
- 4.10.19.6 Autofocusing a form control: the
autofocus attribute
- 4.10.19.7 Input modalities: the
inputmode attribute
- 4.10.19.8 Autofilling form controls: the
autocomplete attribute
- 4.10.20 APIs for the text field selections
- 4.10.21 Constraints
- 4.10.21.1 Definitions
- 4.10.21.2 Constraint validation
- 4.10.21.3 The constraint validation API
- 4.10.21.4 Security
- 4.10.22 Form submission
- 4.10.22.1 Introduction
- 4.10.22.2 Implicit submission
- 4.10.22.3 Form submission algorithm
- 4.10.22.4 Constructing the form data set
- 4.10.22.5 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
command attribute on command elements to define a command indirectly
- 4.11.5.7 Using the
accesskey attribute on a label element to define a command
- 4.11.5.8 Using the
accesskey attribute on a legend element to define a command
- 4.11.5.9 Using the
accesskey attribute to define a command on other elements
- 4.11.6 The
dialog element
- 4.11.6.1 Anchor points
- 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 Downloading resources
- 4.12.4.1 Hyperlink auditing
- 4.12.5 Link types
- 4.12.5.1 Link type "
alternate"
- 4.12.5.2 Link type "
author"
- 4.12.5.3 Link type "
bookmark"
- 4.12.5.4 Link type "
help"
- 4.12.5.5 Link type "
icon"
- 4.12.5.6 Link type "
license"
- 4.12.5.7 Link type "
nofollow"
- 4.12.5.8 Link type "
noreferrer"
- 4.12.5.9 Link type "
prefetch"
- 4.12.5.10 Link type "
search"
- 4.12.5.11 Link type "
stylesheet"
- 4.12.5.12 Link type "
tag"
- 4.12.5.13 Sequential link types
- 4.12.5.13.1 Link type "
next"
- 4.12.5.13.2 Link type "
prev"
- 4.12.5.14 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 Microdata
- 5.1 Introduction
- 5.1.1 Overview
- 5.1.2 The basic syntax
- 5.1.3 Typed items
- 5.1.4 Global identifiers for items
- 5.1.5 Selecting names when defining vocabularies
- 5.1.6 Using the microdata DOM API
- 5.2 Encoding microdata
- 5.2.1 The microdata model
- 5.2.2 Items
- 5.2.3 Names: the
itemprop attribute
- 5.2.4 Values
- 5.2.5 Associating names with items
- 5.2.6 Microdata and other namespaces
- 5.3 Microdata DOM API
- 5.4 Microdata vocabularies
- 5.4.1 vCard
- 5.4.1.1 Conversion to vCard
- 5.4.1.2 Examples
- 5.4.2 vEvent
- 5.4.2.1 Conversion to iCalendar
- 5.4.2.2 Examples
- 5.4.3 Licensing works
- 5.4.3.1 Examples
- 5.5 Converting HTML to other formats
- 5.5.1 JSON
- 6 Loading Web pages
- 6.1 Browsing contexts
- 6.1.1 Nested browsing contexts
- 6.1.1.1 Navigating nested browsing contexts in the DOM
- 6.1.2 Auxiliary browsing contexts
- 6.1.2.1 Navigating auxiliary browsing contexts in the DOM
- 6.1.3 Secondary browsing contexts
- 6.1.4 Security
- 6.1.5 Groupings of browsing contexts
- 6.1.6 Browsing context names
- 6.2 The
Window object
- 6.2.1 Security
- 6.2.2 APIs for creating and navigating browsing contexts by name
- 6.2.3 Accessing other browsing contexts
- 6.2.4 Named access on the
Window object
- 6.2.5 Garbage collection and browsing contexts
- 6.2.6 Browser interface elements
- 6.2.7 The
WindowProxy object
- 6.3 Origin
- 6.3.1 Relaxing the same-origin restriction
- 6.4 Sandboxing
- 6.5 Session history and navigation
- 6.5.1 The session history of browsing contexts
- 6.5.2 The
History interface
- 6.5.3 The
Location interface
- 6.5.3.1 Security
- 6.5.4 Implementation notes for session history
- 6.6 Browsing the Web
- 6.6.1 Navigating across documents
- 6.6.2 Page load processing model for HTML files
- 6.6.3 Page load processing model for XML files
- 6.6.4 Page load processing model for text files
- 6.6.5 Page load processing model for
multipart/x-mixed-replace resources
- 6.6.6 Page load processing model for media
- 6.6.7 Page load processing model for content that uses plugins
- 6.6.8 Page load processing model for inline content that doesn't have a DOM
- 6.6.9 Navigating to a fragment identifier
- 6.6.10 History traversal
- 6.6.10.1 Event definitions
- 6.6.11 Unloading documents
- 6.6.11.1 Event definition
- 6.6.12 Aborting a document load
- 6.7 Offline Web applications
- 6.7.1 Introduction
- 6.7.1.1 Event summary
- 6.7.2 Application caches
- 6.7.3 The cache manifest syntax
- 6.7.3.1 Some sample manifests
- 6.7.3.2 Writing cache manifests
- 6.7.3.3 Parsing cache manifests
- 6.7.4 Downloading or updating an application cache
- 6.7.5 The application cache selection algorithm
- 6.7.6 Changes to the networking model
- 6.7.7 Expiring application caches
- 6.7.8 Disk space
- 6.7.9 Application cache API
- 6.7.10 Browser state
- 7 Web application APIs
- 7.1 Scripting
- 7.1.1 Introduction
- 7.1.2 Enabling and disabling scripting
- 7.1.3 Processing model
- 7.1.3.1 Definitions
- 7.1.3.2 Calling scripts
- 7.1.3.3 Creating scripts
- 7.1.3.4 Killing scripts
- 7.1.3.5 Runtime script errors
- 7.1.3.5.1 Runtime script errors in documents
- 7.1.4 Event loops
- 7.1.4.1 Definitions
- 7.1.4.2 Processing model
- 7.1.4.3 Generic task sources
- 7.1.5 The
javascript: URL scheme
- 7.1.6 Events
- 7.1.6.1 Event handlers
- 7.1.6.2 Event handlers on elements,
Document objects, and Window objects
- 7.1.6.3 Event firing
- 7.1.6.4 Events and the
Window object
- 7.2 Base64 utility methods
- 7.3 Timers
- 7.4 User prompts
- 7.4.1 Simple dialogs
- 7.4.2 Printing
- 7.4.3 Dialogs implemented using separate documents
- 7.5 System state and capabilities
- 7.5.1 The
Navigator object
- 7.5.1.1 Client identification
- 7.5.1.2 Custom scheme and content handlers
- 7.5.1.3 Security and privacy
- 7.5.1.4 Sample user interface
- 7.5.1.5 Manually releasing the storage mutex
- 7.5.2 The
External interface
- 8 User interaction
- 8.1 The
hidden attribute
- 8.2 Inert subtrees
- 8.2.1 The
inert attribute
- 8.3 Activation
- 8.4 Focus
- 8.4.1 Sequential focus navigation and the
tabindex attribute
- 8.4.2 Focus management
- 8.4.3 Document-level focus APIs
- 8.4.4 Element-level focus APIs
- 8.5 Assigning keyboard shortcuts
- 8.5.1 Introduction
- 8.5.2 The
accesskey attribute
- 8.5.3 Processing model
- 8.6 Editing
- 8.6.1 Making document regions editable: The
contenteditable content
attribute
- 8.6.2 Making entire documents editable: The
designMode IDL attribute
- 8.6.3 Best practices for in-page editors
- 8.6.4 Editing APIs
- 8.6.5 Spelling and grammar checking
- 8.7 Drag and drop
- 8.7.1 Introduction
- 8.7.2 The drag data store
- 8.7.3 The
DataTransfer interface
- 8.7.3.1 The
DataTransferItemList interface
- 8.7.3.2 The
DataTransferItem interface
- 8.7.4 The
DragEvent interface
- 8.7.5 Drag-and-drop processing model
- 8.7.6 Events summary
- 8.7.7 The
draggable attribute
- 8.7.8 The
dropzone attribute
- 8.7.9 Security risks in the drag-and-drop model
- 9 Web workers
- 9.1 Introduction
- 9.1.1 Scope
- 9.1.2 Examples
- 9.1.2.1 A background number-crunching worker
- 9.1.2.2 Worker used for background I/O
- 9.1.2.3 Shared workers introduction
- 9.1.2.4 Shared state using a shared worker
- 9.1.2.5 Delegation
- 9.1.3 Tutorials
- 9.1.3.1 Creating a dedicated worker
- 9.1.3.2 Communicating with a dedicated worker
- 9.1.3.3 Shared workers
- 9.2 Infrastructure
- 9.2.1 The global scope
- 9.2.1.1 The
WorkerGlobalScope common interface
- 9.2.1.2 Dedicated workers and the
DedicatedWorkerGlobalScope interface
- 9.2.1.3 Shared workers and the
SharedWorkerGlobalScope interface
- 9.2.2 The event loop
- 9.2.3 The worker's lifetime
- 9.2.4 Processing model
- 9.2.5 Runtime script errors
- 9.2.6 Creating workers
- 9.2.6.1 The
AbstractWorker abstract interface
- 9.2.6.2 Dedicated workers and the
Worker interface
- 9.2.6.3 Shared workers and the
SharedWorker interface
- 9.3 APIs available to workers
- 9.3.1 Importing scripts and libraries
- 9.3.2 The
WorkerNavigator object
- 9.3.3 Interface objects and constructors
- 9.3.4 Worker locations
- 10 Communication
- 10.1 Event definitions
- 10.2 Server-sent events
- 10.2.1 Introduction
- 10.2.2 The
EventSource interface
- 10.2.3 Processing model
- 10.2.4 Parsing an event stream
- 10.2.5 Interpreting an event stream
- 10.2.6 Notes
- 10.2.7 Connectionless push and other features
- 10.2.8 Garbage collection
- 10.2.9 IANA considerations
- 10.2.9.1
text/event-stream
- 10.2.9.2
Last-Event-ID
- 10.3 Web sockets
- 10.3.1 Introduction
- 10.3.2 The
WebSocket interface
- 10.3.3 Feedback from the protocol
- 10.3.4 Ping and Pong frames
- 10.3.5 Parsing WebSocket URLs
- 10.3.6 Event definitions
- 10.3.7 Garbage collection
- 10.4 Cross-document messaging
- 10.4.1 Introduction
- 10.4.2 Security
- 10.4.2.1 Authors
- 10.4.2.2 User agents
- 10.4.3 Posting messages
- 10.5 Channel messaging
- 10.5.1 Introduction
- 10.5.1.1 Examples
- 10.5.1.2 Ports as the basis of an object-capability model on the Web
- 10.5.1.3 Ports as the basis of abstracting out service implementations
- 10.5.2 Message channels
- 10.5.3 Message ports
- 10.5.3.1 Ports and garbage collection
- 10.6 Web storage
- 10.6.1 Introduction
- 10.6.2 The API
- 10.6.2.1 The
Storage interface
- 10.6.2.2 The
sessionStorage attribute
- 10.6.2.3 The
localStorage attribute
- 10.6.2.3.1 Security
- 10.6.2.4 The
storage event
- 10.6.2.4.1 Event definition
- 10.6.2.5 Threads
- 10.6.3 Disk space
- 10.6.4 Privacy
- 10.6.4.1 User tracking
- 10.6.4.2 Sensitivity of data
- 10.6.5 Security
- 10.6.5.1 DNS spoofing attacks
- 10.6.5.2 Cross-directory attacks
- 10.6.5.3 Implementation risks
- 11 The HTML syntax
- 11.1 Writing HTML documents
- 11.1.1 The DOCTYPE
- 11.1.2 Elements
- 11.1.2.1 Start tags
- 11.1.2.2 End tags
- 11.1.2.3 Attributes
- 11.1.2.4 Optional tags
- 11.1.2.5 Restrictions on content models
- 11.1.2.6 Restrictions on the contents of raw text and RCDATA elements
- 11.1.3 Text
- 11.1.3.1 Newlines
- 11.1.4 Character references
- 11.1.5 CDATA sections
- 11.1.6 Comments
- 11.2 Parsing HTML documents
- 11.2.1 Overview of the parsing model
- 11.2.2 The input byte stream
- 11.2.2.1 Determining the character encoding
- 11.2.2.2 Character encodings
- 11.2.2.3 Changing the encoding while parsing
- 11.2.2.4 Preprocessing the input stream
- 11.2.3 Parse state
- 11.2.3.1 The insertion mode
- 11.2.3.2 The stack of open elements
- 11.2.3.3 The list of active formatting elements
- 11.2.3.4 The element pointers
- 11.2.3.5 Other parsing state flags
- 11.2.4 Tokenization
- 11.2.4.1 Data state
- 11.2.4.2 Character reference in data state
- 11.2.4.3 RCDATA state
- 11.2.4.4 Character reference in RCDATA state
- 11.2.4.5 RAWTEXT state
- 11.2.4.6 Script data state
- 11.2.4.7 PLAINTEXT state
- 11.2.4.8 Tag open state
- 11.2.4.9 End tag open state
- 11.2.4.10 Tag name state
- 11.2.4.11 RCDATA less-than sign state
- 11.2.4.12 RCDATA end tag open state
- 11.2.4.13 RCDATA end tag name state
- 11.2.4.14 RAWTEXT less-than sign state
- 11.2.4.15 RAWTEXT end tag open state
- 11.2.4.16 RAWTEXT end tag name state
- 11.2.4.17 Script data less-than sign state
- 11.2.4.18 Script data end tag open state
- 11.2.4.19 Script data end tag name state
- 11.2.4.20 Script data escape start state
- 11.2.4.21 Script data escape start dash state
- 11.2.4.22 Script data escaped state
- 11.2.4.23 Script data escaped dash state
- 11.2.4.24 Script data escaped dash dash state
- 11.2.4.25 Script data escaped less-than sign state
- 11.2.4.26 Script data escaped end tag open state
- 11.2.4.27 Script data escaped end tag name state
- 11.2.4.28 Script data double escape start state
- 11.2.4.29 Script data double escaped state
- 11.2.4.30 Script data double escaped dash state
- 11.2.4.31 Script data double escaped dash dash state
- 11.2.4.32 Script data double escaped less-than sign state
- 11.2.4.33 Script data double escape end state
- 11.2.4.34 Before attribute name state
- 11.2.4.35 Attribute name state
- 11.2.4.36 After attribute name state
- 11.2.4.37 Before attribute value state
- 11.2.4.38 Attribute value (double-quoted) state
- 11.2.4.39 Attribute value (single-quoted) state
- 11.2.4.40 Attribute value (unquoted) state
- 11.2.4.41 Character reference in attribute value state
- 11.2.4.42 After attribute value (quoted) state
- 11.2.4.43 Self-closing start tag state
- 11.2.4.44 Bogus comment state
- 11.2.4.45 Markup declaration open state
- 11.2.4.46 Comment start state
- 11.2.4.47 Comment start dash state
- 11.2.4.48 Comment state
- 11.2.4.49 Comment end dash state
- 11.2.4.50 Comment end state
- 11.2.4.51 Comment end bang state
- 11.2.4.52 DOCTYPE state
- 11.2.4.53 Before DOCTYPE name state
- 11.2.4.54 DOCTYPE name state
- 11.2.4.55 After DOCTYPE name state
- 11.2.4.56 After DOCTYPE public keyword state
- 11.2.4.57 Before DOCTYPE public identifier state
- 11.2.4.58 DOCTYPE public identifier (double-quoted) state
- 11.2.4.59 DOCTYPE public identifier (single-quoted) state
- 11.2.4.60 After DOCTYPE public identifier state
- 11.2.4.61 Between DOCTYPE public and system identifiers state
- 11.2.4.62 After DOCTYPE system keyword state
- 11.2.4.63 Before DOCTYPE system identifier state
- 11.2.4.64 DOCTYPE system identifier (double-quoted) state
- 11.2.4.65 DOCTYPE system identifier (single-quoted) state
- 11.2.4.66 After DOCTYPE system identifier state
- 11.2.4.67 Bogus DOCTYPE state
- 11.2.4.68 CDATA section state
- 11.2.4.69 Tokenizing character references
- 11.2.5 Tree construction
- 11.2.5.1 Creating and inserting elements
- 11.2.5.2 Closing elements that have implied end tags
- 11.2.5.3 Foster parenting
- 11.2.5.4 The rules for parsing tokens in HTML content
- 11.2.5.4.1 The "initial" insertion mode
- 11.2.5.4.2 The "before html" insertion mode
- 11.2.5.4.3 The "before head" insertion mode
- 11.2.5.4.4 The "in head" insertion mode
- 11.2.5.4.5 The "in head noscript" insertion mode
- 11.2.5.4.6 The "after head" insertion mode
- 11.2.5.4.7 The "in body" insertion mode
- 11.2.5.4.8 The "text" insertion mode
- 11.2.5.4.9 The "in table" insertion mode
- 11.2.5.4.10 The "in table text" insertion mode
- 11.2.5.4.11 The "in caption" insertion mode
- 11.2.5.4.12 The "in column group" insertion mode
- 11.2.5.4.13 The "in table body" insertion mode
- 11.2.5.4.14 The "in row" insertion mode
- 11.2.5.4.15 The "in cell" insertion mode
- 11.2.5.4.16 The "in select" insertion mode
- 11.2.5.4.17 The "in select in table" insertion mode
- 11.2.5.4.18 The "after body" insertion mode
- 11.2.5.4.19 The "in frameset" insertion mode
- 11.2.5.4.20 The "after frameset" insertion mode
- 11.2.5.4.21 The "after after body" insertion mode
- 11.2.5.4.22 The "after after frameset" insertion mode
- 11.2.5.5 The rules for parsing tokens in foreign content
- 11.2.6 The end
- 11.2.7 Coercing an HTML DOM into an infoset
- 11.2.8 An introduction to error handling and strange cases in the parser
- 11.2.8.1 Misnested tags: <b><i></b></i>
- 11.2.8.2 Misnested tags: <b><p></b></p>
- 11.2.8.3 Unexpected markup in tables
- 11.2.8.4 Scripts that modify the page as it is being parsed
- 11.2.8.5 The execution of scripts that are moving across multiple documents
- 11.2.8.6 Unclosed formatting elements
- 11.3 Serializing HTML fragments
- 11.4 Parsing HTML fragments
- 11.5 Named character references
- 12 The XHTML syntax
- 12.1 Writing XHTML documents
- 12.2 Parsing XHTML documents
- 12.3 Serializing XHTML fragments
- 12.4 Parsing XHTML fragments
- 13 Rendering
- 13.1 Introduction
- 13.2 The CSS user agent style sheet and presentational hints
- 13.3 Non-replaced elements
- 13.3.1 Hidden elements
- 13.3.2 The page
- 13.3.3 Flow content
- 13.3.4 Phrasing content
- 13.3.5 Bidirectional text
- 13.3.6 Quotes
- 13.3.7 Sections and headings
- 13.3.8 Lists
- 13.3.9 Tables
- 13.3.10 Form controls
- 13.3.11 The
hr element
- 13.3.12 The
fieldset element
- 13.4 Replaced elements
- 13.4.1 Embedded content
- 13.4.2 Images
- 13.4.3 Attributes for embedded content and images
- 13.4.4 Image maps
- 13.4.5 Toolbars
- 13.5 Bindings
- 13.5.1 Introduction
- 13.5.2 The
button element
- 13.5.3 The
details element
- 13.5.4 The
input element as a text entry widget
- 13.5.5 The
input element as domain-specific widgets
- 13.5.6 The
input element as a range control
- 13.5.7 The
input element as a color well
- 13.5.8 The
input element as a checkbox and radio button widgets
- 13.5.9 The
input element as a file upload control
- 13.5.10 The
input element as a button
- 13.5.11 The
marquee element
- 13.5.12 The
meter element
- 13.5.13 The
progress element
- 13.5.14 The
select element
- 13.5.15 The
textarea element
- 13.5.16 The
keygen element
- 13.6 Frames and framesets
- 13.7 Interactive media
- 13.7.1 Links, forms, and navigation
- 13.7.2 The
title attribute
- 13.7.3 Editing hosts
- 13.7.4 Text rendered in native user interfaces
- 13.8 Print media
- 14 Obsolete features
- 14.1 Obsolete but conforming features
- 14.1.1 Warnings for obsolete but conforming features
- 14.2 Non-conforming features
- 14.3 Requirements for implementations
- 14.3.1 The
applet element
- 14.3.2 The
marquee element
- 14.3.3 Frames
- 14.3.4 Other elements, attributes and APIs
- 15 IANA considerations
- 15.1
text/html
- 15.2
multipart/x-mixed-replace
- 15.3
application/xhtml+xml
- 15.4
application/x-www-form-urlencoded
- 15.5
text/cache-manifest
- 15.6
text/ping
- 15.7
application/microdata+json
- 15.8
Ping-From
- 15.9
Ping-To
- 15.10
http+aes scheme
- 15.11
https+aes scheme
- 15.12
web+ scheme prefix
- Index
- Elements
- Element content categories
- Attributes
- Interfaces
- References
- Acknowledgements