[html5] r8707 - [] (0) Updating <img>/<picture> section with upstream changes Affected topics: HTML
whatwg at whatwg.org
whatwg at whatwg.org
Tue Aug 5 11:42:04 PDT 2014
Author: ianh
Date: 2014-08-05 11:42:00 -0700 (Tue, 05 Aug 2014)
New Revision: 8707
Modified:
complete.html
index
source
Log:
[] (0) Updating <img>/<picture> section with upstream changes
Affected topics: HTML
Modified: complete.html
===================================================================
--- complete.html 2014-08-04 23:38:36 UTC (rev 8706)
+++ complete.html 2014-08-05 18:42:00 UTC (rev 8707)
@@ -291,7 +291,7 @@
</style><link rel=stylesheet href=status.css><body onload=init()>
<header id=head class="head with-buttons">
<p><a href=//www.whatwg.org/ class=logo><img src=/images/logo width=101 alt=WHATWG height=101></a></p>
- <hgroup><h1 class=allcaps>HTML</h1><h2 id=living-standard-—-last-updated-[date:-01-jan-1901] class="no-num no-toc">Living Standard — Last Updated <span class=pubdate>4 August 2014</span></h2></hgroup>
+ <hgroup><h1 class=allcaps>HTML</h1><h2 id=living-standard-—-last-updated-[date:-01-jan-1901] class="no-num no-toc">Living Standard — Last Updated <span class=pubdate>5 August 2014</span></h2></hgroup>
<nav>
<div>
@@ -328,7 +328,7 @@
<h2 id=contents class="no-num no-toc">Table of contents</h2>
<ol class=toc><li><a href=#introduction>1 Introduction</a><ol><li><a href=#abstract>1.1 Where does this specification fit?</a><li><a href=#is-this-html5?>1.2 Is this HTML5?</a><li><a href=#background>1.3 Background</a><li><a href=#audience>1.4 Audience</a><li><a href=#scope>1.5 Scope</a><li><a href=#history-2>1.6 History</a><li><a href=#design-notes>1.7 Design notes</a><ol><li><a href=#serialisability-of-script-execution>1.7.1 Serialisability of script execution</a><li><a href=#compliance-with-other-specifications>1.7.2 Compliance with other specifications</a><li><a href=#extensibility>1.7.3 Extensibility</a></ol><li><a href=#html-vs-xhtml>1.8 HTML vs XHTML</a><li><a href=#structure-of-this-specification>1.9 Structure of this specification</a><ol><li><a href=#how-to-read-this-specification>1.9.1 How to read this specification</a><li><a href=#typographic-conventions>1.9.2 Typographic conventions</a></ol><li><a href=#fingerprint>1.10 Privacy concerns</a><li><a href=#a-quick-
introduction-to-html>1.11 A quick introduction to HTML</a><ol><li><a href=#writing-secure-applications-with-html>1.11.1 Writing secure applications with HTML</a><li><a href=#common-pitfalls-to-avoid-when-using-the-scripting-apis>1.11.2 Common pitfalls to avoid when using the scripting APIs</a><li><a href=#how-to-catch-mistakes-when-writing-html:-validators-and-conformance-checkers>1.11.3 How to catch mistakes when writing HTML: validators and conformance checkers</a></ol><li><a href=#conformance-requirements-for-authors>1.12 Conformance requirements for authors</a><ol><li><a href=#presentational-markup>1.12.1 Presentational markup</a><li><a href=#syntax-errors>1.12.2 Syntax errors</a><li><a href=#restrictions-on-content-models-and-on-attribute-values>1.12.3 Restrictions on content models and on attribute values</a></ol><li><a href=#suggested-reading>1.13 Suggested reading</a></ol><li><a href=#infrastructure>2 Common infrastructure</a><ol><li><a href=#terminology>2.1 Terminol
ogy</a><ol><li><a href=#resources>2.1.1 Resources</a><li><a href=#xml>2.1.2 XML</a><li><a href=#dom-trees>2.1.3 DOM trees</a><li><a href=#scripting-2>2.1.4 Scripting</a><li><a href=#plugins>2.1.5 Plugins</a><li><a href=#encoding-terminology>2.1.6 Character encodings</a></ol><li><a href=#conformance-requirements>2.2 Conformance requirements</a><ol><li><a href=#conformance-classes>2.2.1 Conformance classes</a><li><a href=#dependencies>2.2.2 Dependencies</a><li><a href=#extensibility-2>2.2.3 Extensibility</a><li><a href=#interactions-with-xpath-and-xslt>2.2.4 Interactions with XPath and XSLT</a></ol><li><a href=#case-sensitivity-and-string-comparison>2.3 Case-sensitivity and string comparison</a><li><a href=#common-microsyntaxes>2.4 Common microsyntaxes</a><ol><li><a href=#common-parser-idioms>2.4.1 Common parser idioms</a><li><a href=#boolean-attributes>2.4.2 Boolean attributes</a><li><a href=#keywords-and-enumerated-attributes>2.4.3 Keywords and enumerated attributes</a><li><
a href=#numbers>2.4.4 Numbers</a><ol><li><a href=#signed-integers>2.4.4.1 Signed integers</a><li><a href=#non-negative-integers>2.4.4.2 Non-negative integers</a><li><a href=#floating-point-numbers>2.4.4.3 Floating-point numbers</a><li><a href=#percentages-and-dimensions>2.4.4.4 Percentages and lengths</a><li><a href=#lists-of-integers>2.4.4.5 Lists of integers</a><li><a href=#lists-of-dimensions>2.4.4.6 Lists of dimensions</a></ol><li><a href=#dates-and-times>2.4.5 Dates and times</a><ol><li><a href=#months>2.4.5.1 Months</a><li><a href=#dates>2.4.5.2 Dates</a><li><a href=#yearless-dates>2.4.5.3 Yearless dates</a><li><a href=#times>2.4.5.4 Times</a><li><a href=#local-dates-and-times>2.4.5.5 Local dates and times</a><li><a href=#time-zones>2.4.5.6 Time zones</a><li><a href=#global-dates-and-times>2.4.5.7 Global dates and times</a><li><a href=#weeks>2.4.5.8 Weeks</a><li><a href=#durations>2.4.5.9 Durations</a><li><a href=#vaguer-moments-in-time>2.4.5.10 Vaguer moments in time<
/a></ol><li><a href=#colours>2.4.6 Colours</a><li><a href=#space-separated-tokens>2.4.7 Space-separated tokens</a><li><a href=#comma-separated-tokens>2.4.8 Comma-separated tokens</a><li><a href=#syntax-references>2.4.9 References</a><li><a href=#mq>2.4.10 Media queries</a></ol><li><a href=#urls>2.5 URLs</a><ol><li><a href=#terminology-2>2.5.1 Terminology</a><li><a href=#resolving-urls>2.5.2 Resolving URLs</a><li><a href=#dynamic-changes-to-base-urls>2.5.3 Dynamic changes to base URLs</a></ol><li><a href=#fetching-resources>2.6 Fetching resources</a><ol><li><a href=#terminology-3>2.6.1 Terminology</a><li><a href=#processing-model>2.6.2 Processing model</a><li><a href=#encrypted-http-and-related-security-concerns>2.6.3 Encrypted HTTP and related security concerns</a><li><a href=#content-type-sniffing>2.6.4 Determining the type of a resource</a><li><a href=#extracting-character-encodings-from-meta-elements>2.6.5 Extracting character encodings from <code>meta</code> elements</a>
<li><a href=#cors-settings-attributes>2.6.6 CORS settings attributes</a><li><a href=#cors-enabled-fetch>2.6.7 CORS-enabled fetch</a></ol><li><a href=#common-dom-interfaces>2.7 Common DOM interfaces</a><ol><li><a href=#reflecting-content-attributes-in-idl-attributes>2.7.1 Reflecting content attributes in IDL attributes</a><li><a href=#collections-2>2.7.2 Collections</a><ol><li><a href=#htmlallcollection>2.7.2.1 HTMLAllCollection</a><li><a href=#htmlformcontrolscollection>2.7.2.2 HTMLFormControlsCollection</a><li><a href=#htmloptionscollection>2.7.2.3 HTMLOptionsCollection</a><li><a href=#htmlpropertiescollection>2.7.2.4 HTMLPropertiesCollection</a></ol><li><a href=#domstringmap>2.7.3 DOMStringMap</a><li><a href=#domelementmap>2.7.4 DOMElementMap</a><li><a href=#transferable-objects>2.7.5 Transferable objects</a><li><a href=#safe-passing-of-structured-data>2.7.6 Safe passing of structured data</a><li><a href=#callbacks>2.7.7 Callbacks</a><li><a href=#garbage-collection>2.7.8 G
arbage collection</a></ol><li><a href=#namespaces>2.8 Namespaces</a></ol><li><a href=#dom>3 Semantics, structure, and APIs of HTML documents</a><ol><li><a href=#documents>3.1 Documents</a><ol><li><a href=#the-document-object>3.1.1 The <code>Document</code> object</a><li><a href=#resource-metadata-management>3.1.2 Resource metadata management</a><li><a href=#dom-tree-accessors>3.1.3 DOM tree accessors</a><li><a href=#loading-xml-documents>3.1.4 Loading XML documents</a></ol><li><a href=#elements>3.2 Elements</a><ol><li><a href=#semantics-2>3.2.1 Semantics</a><li><a href=#elements-in-the-dom>3.2.2 Elements in the DOM</a><li><a href=#element-definitions>3.2.3 Element definitions</a><ol><li><a href=#attributes>3.2.3.1 Attributes</a></ol><li><a href=#content-models>3.2.4 Content models</a><ol><li><a href=#the-nothing-content-model>3.2.4.1 The "nothing" content model</a><li><a href=#kinds-of-content>3.2.4.2 Kinds of content</a><ol><li><a href=#metadata-content>3.2.4.2.1 Metadata c
ontent</a><li><a href=#flow-content>3.2.4.2.2 Flow content</a><li><a href=#sectioning-content>3.2.4.2.3 Sectioning content</a><li><a href=#heading-content>3.2.4.2.4 Heading content</a><li><a href=#phrasing-content>3.2.4.2.5 Phrasing content</a><li><a href=#embedded-content-2>3.2.4.2.6 Embedded content</a><li><a href=#interactive-content>3.2.4.2.7 Interactive content</a><li><a href=#palpable-content>3.2.4.2.8 Palpable content</a><li><a href=#script-supporting-elements>3.2.4.2.9 Script-supporting elements</a></ol><li><a href=#transparent-content-models>3.2.4.3 Transparent content models</a><li><a href=#paragraphs>3.2.4.4 Paragraphs</a></ol><li><a href=#global-attributes>3.2.5 Global attributes</a><ol><li><a href=#the-id-attribute>3.2.5.1 The <code>id</code> attribute</a><li><a href=#the-title-attribute>3.2.5.2 The <code>title</code> attribute</a><li><a href=#the-lang-and-xml:lang-attributes>3.2.5.3 The <code>lang</code> and <code>xml:lang</code> attributes</a><li><a href=#the-
translate-attribute>3.2.5.4 The <code>translate</code> attribute</a><li><a href=#the-xml:base-attribute-(xml-only)>3.2.5.5 The <code>xml:base</code> attribute (XML only)</a><li><a href=#the-dir-attribute>3.2.5.6 The <code>dir</code> attribute</a><li><a href=#classes>3.2.5.7 The <code>class</code> attribute</a><li><a href=#the-style-attribute>3.2.5.8 The <code>style</code> attribute</a><li><a href=#embedding-custom-non-visible-data-with-the-data-*-attributes>3.2.5.9 Embedding custom non-visible data with the <code>data-*</code> attributes</a></ol><li><a href=#requirements-relating-to-the-bidirectional-algorithm>3.2.6 Requirements relating to the bidirectional algorithm</a><ol><li><a href=#authoring-conformance-criteria-for-bidirectional-algorithm-formatting-characters>3.2.6.1 Authoring conformance criteria for bidirectional-algorithm formatting characters</a><li><a href=#user-agent-conformance-criteria>3.2.6.2 User agent conformance criteria</a></ol><li><a href=#wai-aria>3.2.
7 WAI-ARIA</a></ol></ol><li><a href=#semantics>4 The elements of HTML</a><ol><li><a href=#the-root-element>4.1 The root element</a><ol><li><a href=#the-html-element>4.1.1 The <code>html</code> element</a></ol><li><a href=#document-metadata>4.2 Document metadata</a><ol><li><a href=#the-head-element>4.2.1 The <code>head</code> element</a><li><a href=#the-title-element>4.2.2 The <code>title</code> element</a><li><a href=#the-base-element>4.2.3 The <code>base</code> element</a><li><a href=#the-link-element>4.2.4 The <code>link</code> element</a><li><a href=#the-meta-element>4.2.5 The <code>meta</code> element</a><ol><li><a href=#standard-metadata-names>4.2.5.1 Standard metadata names</a><li><a href=#other-metadata-names>4.2.5.2 Other metadata names</a><li><a href=#pragma-directives>4.2.5.3 Pragma directives</a><li><a href=#other-pragma-directives>4.2.5.4 Other pragma directives</a><li><a href=#charset>4.2.5.5 Specifying the document's character encoding</a></ol><li><a href=#the-
style-element>4.2.6 The <code>style</code> element</a><li><a href=#interactions-of-styling-and-scripting>4.2.7 Interactions of styling and scripting</a></ol><li><a href=#sections>4.3 Sections</a><ol><li><a href=#the-body-element>4.3.1 The <code>body</code> element</a><li><a href=#the-article-element>4.3.2 The <code>article</code> element</a><li><a href=#the-section-element>4.3.3 The <code>section</code> element</a><li><a href=#the-nav-element>4.3.4 The <code>nav</code> element</a><li><a href=#the-aside-element>4.3.5 The <code>aside</code> element</a><li><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>4.3.6 The <code>h1</code>, <code>h2</code>, <code>h3</code>, <code>h4</code>, <code>h5</code>, and
- <code>h6</code> elements</a><li><a href=#the-hgroup-element>4.3.7 The <code>hgroup</code> element</a><li><a href=#the-header-element>4.3.8 The <code>header</code> element</a><li><a href=#the-footer-element>4.3.9 The <code>footer</code> element</a><li><a href=#the-address-element>4.3.10 The <code>address</code> element</a><li><a href=#headings-and-sections>4.3.11 Headings and sections</a><ol><li><a href=#outlines>4.3.11.1 Creating an outline</a><li><a href=#sample-outlines>4.3.11.2 Sample outlines</a><li><a href=#exposing-outlines-to-users>4.3.11.3 Exposing outlines to users</a></ol><li><a href=#usage-summary-2>4.3.12 Usage summary</a><ol><li><a href=#article-or-section>4.3.12.1 Article or section?</a></ol></ol><li><a href=#grouping-content>4.4 Grouping content</a><ol><li><a href=#the-p-element>4.4.1 The <code>p</code> element</a><li><a href=#the-hr-element>4.4.2 The <code>hr</code> element</a><li><a href=#the-pre-element>4.4.3 The <code>pre</code> element</a><li><a href=#t
he-blockquote-element>4.4.4 The <code>blockquote</code> element</a><li><a href=#the-ol-element>4.4.5 The <code>ol</code> element</a><li><a href=#the-ul-element>4.4.6 The <code>ul</code> element</a><li><a href=#the-li-element>4.4.7 The <code>li</code> element</a><li><a href=#the-dl-element>4.4.8 The <code>dl</code> element</a><li><a href=#the-dt-element>4.4.9 The <code>dt</code> element</a><li><a href=#the-dd-element>4.4.10 The <code>dd</code> element</a><li><a href=#the-figure-element>4.4.11 The <code>figure</code> element</a><li><a href=#the-figcaption-element>4.4.12 The <code>figcaption</code> element</a><li><a href=#the-main-element>4.4.13 The <code>main</code> element</a><li><a href=#the-div-element>4.4.14 The <code>div</code> element</a></ol><li><a href=#text-level-semantics>4.5 Text-level semantics</a><ol><li><a href=#the-a-element>4.5.1 The <code>a</code> element</a><li><a href=#the-em-element>4.5.2 The <code>em</code> element</a><li><a href=#the-strong-element>4.5.3
The <code>strong</code> element</a><li><a href=#the-small-element>4.5.4 The <code>small</code> element</a><li><a href=#the-s-element>4.5.5 The <code>s</code> element</a><li><a href=#the-cite-element>4.5.6 The <code>cite</code> element</a><li><a href=#the-q-element>4.5.7 The <code>q</code> element</a><li><a href=#the-dfn-element>4.5.8 The <code>dfn</code> element</a><li><a href=#the-abbr-element>4.5.9 The <code>abbr</code> element</a><li><a href=#the-ruby-element>4.5.10 The <code>ruby</code> element</a><li><a href=#the-rt-element>4.5.11 The <code>rt</code> element</a><li><a href=#the-rp-element>4.5.12 The <code>rp</code> element</a><li><a href=#the-data-element>4.5.13 The <code>data</code> element</a><li><a href=#the-time-element>4.5.14 The <code>time</code> element</a><li><a href=#the-code-element>4.5.15 The <code>code</code> element</a><li><a href=#the-var-element>4.5.16 The <code>var</code> element</a><li><a href=#the-samp-element>4.5.17 The <code>samp</code> element</a><l
i><a href=#the-kbd-element>4.5.18 The <code>kbd</code> element</a><li><a href=#the-sub-and-sup-elements>4.5.19 The <code>sub</code> and <code>sup</code> elements</a><li><a href=#the-i-element>4.5.20 The <code>i</code> element</a><li><a href=#the-b-element>4.5.21 The <code>b</code> element</a><li><a href=#the-u-element>4.5.22 The <code>u</code> element</a><li><a href=#the-mark-element>4.5.23 The <code>mark</code> element</a><li><a href=#the-bdi-element>4.5.24 The <code>bdi</code> element</a><li><a href=#the-bdo-element>4.5.25 The <code>bdo</code> element</a><li><a href=#the-span-element>4.5.26 The <code>span</code> element</a><li><a href=#the-br-element>4.5.27 The <code>br</code> element</a><li><a href=#the-wbr-element>4.5.28 The <code>wbr</code> element</a><li><a href=#usage-summary>4.5.29 Usage summary</a></ol><li><a href=#links>4.6 Links</a><ol><li><a href=#introduction-2>4.6.1 Introduction</a><li><a href=#links-created-by-a-and-area-elements>4.6.2 Links created by <code>a
</code> and <code>area</code> elements</a><li><a href=#following-hyperlinks>4.6.3 Following hyperlinks</a><li><a href=#downloading-resources>4.6.4 Downloading resources</a><ol><li><a href=#hyperlink-auditing>4.6.4.1 Hyperlink auditing</a></ol><li><a href=#linkTypes>4.6.5 Link types</a><ol><li><a href=#rel-alternate>4.6.5.1 Link type "<code>alternate</code>"</a><li><a href=#link-type-author>4.6.5.2 Link type "<code>author</code>"</a><li><a href=#link-type-bookmark>4.6.5.3 Link type "<code>bookmark</code>"</a><li><a href=#link-type-external>4.6.5.4 Link type "<code>external</code>"</a><li><a href=#link-type-help>4.6.5.5 Link type "<code>help</code>"</a><li><a href=#rel-icon>4.6.5.6 Link type "<code>icon</code>"</a><li><a href=#link-type-license>4.6.5.7 Link type "<code>license</code>"</a><li><a href=#link-type-nofollow>4.6.5.8 Link type "<code>nofollow</code>"</a><li><a href=#link-type-noreferrer>4.6.5.9 Link type "<code>noreferrer</code>"</a><li><a href=#link-type-pingback>4.
6.5.10 Link type "<code>pingback</code>"</a><li><a href=#link-type-prefetch>4.6.5.11 Link type "<code>prefetch</code>"</a><li><a href=#link-type-search>4.6.5.12 Link type "<code>search</code>"</a><li><a href=#link-type-sidebar>4.6.5.13 Link type "<code>sidebar</code>"</a><li><a href=#link-type-stylesheet>4.6.5.14 Link type "<code>stylesheet</code>"</a><li><a href=#link-type-tag>4.6.5.15 Link type "<code>tag</code>"</a><li><a href=#sequential-link-types>4.6.5.16 Sequential link types</a><ol><li><a href=#link-type-next>4.6.5.16.1 Link type "<code>next</code>"</a><li><a href=#link-type-prev>4.6.5.16.2 Link type "<code>prev</code>"</a></ol><li><a href=#other-link-types>4.6.5.17 Other link types</a></ol></ol><li><a href=#edits>4.7 Edits</a><ol><li><a href=#the-ins-element>4.7.1 The <code>ins</code> element</a><li><a href=#the-del-element>4.7.2 The <code>del</code> element</a><li><a href=#attributes-common-to-ins-and-del-elements>4.7.3 Attributes common to <code>ins</code> and <co
de>del</code> elements</a><li><a href=#edits-and-paragraphs>4.7.4 Edits and paragraphs</a><li><a href=#edits-and-lists>4.7.5 Edits and lists</a><li><a href=#edits-and-tables>4.7.6 Edits and tables</a></ol><li><a href=#embedded-content>4.8 Embedded content</a><ol><li><a href=#introduction-3>4.8.1 Introduction</a><li><a href=#dependencies-2>4.8.2 Dependencies</a><li><a href=#the-picture-element>4.8.3 The <code>picture</code> element</a><li><a href=#the-source-element-when-used-with-the-picture-element>4.8.4 The <code>source</code> element when used with the <code>picture</code> element</a><li><a href=#the-img-element>4.8.5 The <code>img</code> element</a><ol><li><a href=#alt>4.8.5.1 Requirements for providing text to act as an alternative for images</a><ol><li><a href=#general-guidelines>4.8.5.1.1 General guidelines</a><li><a href=#a-link-or-button-containing-nothing-but-the-image>4.8.5.1.2 A link or button containing nothing but the image</a><li><a href=#a-phrase-or-paragraph
-with-an-alternative-graphical-representation:-charts,-diagrams,-graphs,-maps,-illustrations>4.8.5.1.3 A phrase or paragraph with an alternative graphical representation: charts, diagrams, graphs, maps, illustrations</a><li><a href=#a-short-phrase-or-label-with-an-alternative-graphical-representation:-icons,-logos>4.8.5.1.4 A short phrase or label with an alternative graphical representation: icons, logos</a><li><a href=#text-that-has-been-rendered-to-a-graphic-for-typographical-effect>4.8.5.1.5 Text that has been rendered to a graphic for typographical effect</a><li><a href=#a-graphical-representation-of-some-of-the-surrounding-text>4.8.5.1.6 A graphical representation of some of the surrounding text</a><li><a href="#a-purely-decorative-image-that-doesn't-add-any-information">4.8.5.1.7 A purely decorative image that doesn't add any information</a><li><a href=#a-group-of-images-that-form-a-single-larger-picture-with-no-links>4.8.5.1.8 A group of images that form a single lar
ger picture with no links</a><li><a href=#a-group-of-images-that-form-a-single-larger-picture-with-links>4.8.5.1.9 A group of images that form a single larger picture with links</a><li><a href=#a-key-part-of-the-content>4.8.5.1.10 A key part of the content</a><li><a href=#an-image-not-intended-for-the-user>4.8.5.1.11 An image not intended for the user</a><li><a href=#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.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</a><li><a href=#guidance-for-markup-generators>4.8.5.1.13 Guidance for markup generators</a><li><a href=#guidance-for-conformance-checkers>4.8.5.1.14 Guidance for conformance checkers</a></ol></ol><li><a href=#the-iframe-element>4.8.6 The <code>iframe</code> element</a><li><a href=#the-embed-element>4.8.7 The <code>embed</code> element</a><li><a href=#the-object-element>4.8.8 The <
code>object</code> element</a><li><a href=#the-param-element>4.8.9 The <code>param</code> element</a><li><a href=#the-video-element>4.8.10 The <code>video</code> element</a><li><a href=#the-audio-element>4.8.11 The <code>audio</code> element</a><li><a href=#the-source-element>4.8.12 The <code>source</code> element</a><li><a href=#the-track-element>4.8.13 The <code>track</code> element</a><li><a href=#media-elements>4.8.14 Media elements</a><ol><li><a href=#error-codes>4.8.14.1 Error codes</a><li><a href=#location-of-the-media-resource>4.8.14.2 Location of the media resource</a><li><a href=#mime-types>4.8.14.3 MIME types</a><li><a href=#network-states>4.8.14.4 Network states</a><li><a href=#loading-the-media-resource>4.8.14.5 Loading the media resource</a><li><a href=#offsets-into-the-media-resource>4.8.14.6 Offsets into the media resource</a><li><a href=#ready-states>4.8.14.7 Ready states</a><li><a href=#playing-the-media-resource>4.8.14.8 Playing the media resource</a><li><
a href=#seeking>4.8.14.9 Seeking</a><li><a href=#media-resources-with-multiple-media-tracks>4.8.14.10 Media resources with multiple media tracks</a><ol><li><a href=#audiotracklist-and-videotracklist-objects>4.8.14.10.1 <code>AudioTrackList</code> and <code>VideoTrackList</code> objects</a><li><a href=#selecting-specific-audio-and-video-tracks-declaratively>4.8.14.10.2 Selecting specific audio and video tracks declaratively</a></ol><li><a href=#synchronising-multiple-media-elements>4.8.14.11 Synchronising multiple media elements</a><ol><li><a href=#introduction-4>4.8.14.11.1 Introduction</a><li><a href=#media-controllers>4.8.14.11.2 Media controllers</a><li><a href=#assigning-a-media-controller-declaratively>4.8.14.11.3 Assigning a media controller declaratively</a></ol><li><a href=#timed-text-tracks>4.8.14.12 Timed text tracks</a><ol><li><a href=#text-track-model>4.8.14.12.1 Text track model</a><li><a href=#sourcing-in-band-text-tracks>4.8.14.12.2 Sourcing in-band text track
s</a><li><a href=#sourcing-out-of-band-text-tracks>4.8.14.12.3 Sourcing out-of-band text tracks</a><li><a href=#guidelines-for-exposing-cues-in-various-formats-as-text-track-cues>4.8.14.12.4 Guidelines for exposing cues in various formats as text track cues</a><li><a href=#text-track-api>4.8.14.12.5 Text track API</a><li><a href=#text-tracks-describing-chapters>4.8.14.12.6 Text tracks describing chapters</a><li><a href=#cue-events>4.8.14.12.7 Event handlers for objects of the text track APIs</a><li><a href=#best-practices-for-metadata-text-tracks>4.8.14.12.8 Best practices for metadata text tracks</a></ol><li><a href=#user-interface>4.8.14.13 User interface</a><li><a href=#time-ranges>4.8.14.14 Time ranges</a><li><a href=#the-trackevent-interface>4.8.14.15 The <code>TrackEvent</code> interface</a><li><a href=#mediaevents>4.8.14.16 Event summary</a><li><a href=#security-and-privacy-considerations>4.8.14.17 Security and privacy considerations</a><li><a href=#best-practices-for
-authors-using-media-elements>4.8.14.18 Best practices for authors using media elements</a><li><a href=#best-practices-for-implementors-of-media-elements>4.8.14.19 Best practices for implementors of media elements</a></ol><li><a href=#the-map-element>4.8.15 The <code>map</code> element</a><li><a href=#the-area-element>4.8.16 The <code>area</code> element</a><li><a href=#image-maps>4.8.17 Image maps</a><ol><li><a href=#authoring>4.8.17.1 Authoring</a><li><a href=#processing-model-2>4.8.17.2 Processing model</a></ol><li><a href=#mathml>4.8.18 MathML</a><li><a href=#svg>4.8.19 SVG</a><li><a href=#dimension-attributes>4.8.20 Dimension attributes</a></ol><li><a href=#tables>4.9 Tabular data</a><ol><li><a href=#the-table-element>4.9.1 The <code>table</code> element</a><ol><li><a href=#table-descriptions-techniques>4.9.1.1 Techniques for describing tables</a><li><a href=#table-layout-techniques>4.9.1.2 Techniques for table design</a></ol><li><a href=#the-caption-element>4.9.2 The <
code>caption</code> element</a><li><a href=#the-colgroup-element>4.9.3 The <code>colgroup</code> element</a><li><a href=#the-col-element>4.9.4 The <code>col</code> element</a><li><a href=#the-tbody-element>4.9.5 The <code>tbody</code> element</a><li><a href=#the-thead-element>4.9.6 The <code>thead</code> element</a><li><a href=#the-tfoot-element>4.9.7 The <code>tfoot</code> element</a><li><a href=#the-tr-element>4.9.8 The <code>tr</code> element</a><li><a href=#the-td-element>4.9.9 The <code>td</code> element</a><li><a href=#the-th-element>4.9.10 The <code>th</code> element</a><li><a href=#attributes-common-to-td-and-th-elements>4.9.11 Attributes common to <code>td</code> and <code>th</code> elements</a><li><a href=#processing-model-3>4.9.12 Processing model</a><ol><li><a href=#forming-a-table>4.9.12.1 Forming a table</a><li><a href=#header-and-data-cell-semantics>4.9.12.2 Forming relationships between data cells and header cells</a></ol><li><a href=#table-sorting-model>4.9.
13 Table sorting model</a><li><a href=#table-examples>4.9.14 Examples</a></ol><li><a href=#forms>4.10 Forms</a><ol><li><a href=#introduction-5>4.10.1 Introduction</a><ol><li><a href="#writing-a-form's-user-interface">4.10.1.1 Writing a form's user interface</a><li><a href=#implementing-the-server-side-processing-for-a-form>4.10.1.2 Implementing the server-side processing for a form</a><li><a href=#configuring-a-form-to-communicate-with-a-server>4.10.1.3 Configuring a form to communicate with a server</a><li><a href=#client-side-form-validation>4.10.1.4 Client-side form validation</a><li><a href=#enabling-client-side-automatic-filling-of-form-controls>4.10.1.5 Enabling client-side automatic filling of form controls</a><li><a href=#improving-the-user-experience-on-mobile-devices>4.10.1.6 Improving the user experience on mobile devices</a><li><a href=#the-difference-between-the-field-type,-the-autofill-field-name,-and-the-input-modality>4.10.1.7 The difference between the field
type, the autofill field name, and the input modality</a><li><a href=#input-author-notes>4.10.1.8 Date, time, and number formats</a></ol><li><a href=#categories>4.10.2 Categories</a><li><a href=#the-form-element>4.10.3 The <code>form</code> element</a><li><a href=#the-label-element>4.10.4 The <code>label</code> element</a><li><a href=#the-input-element>4.10.5 The <code>input</code> element</a><ol><li><a href=#states-of-the-type-attribute>4.10.5.1 States of the <code>type</code> attribute</a><ol><li><a href="#hidden-state-(type=hidden)">4.10.5.1.1 Hidden state (<code>type=hidden</code>)</a><li><a href="#text-(type=text)-state-and-search-state-(type=search)">4.10.5.1.2 Text (<code>type=text</code>) state and Search state (<code>type=search</code>)</a><li><a href="#telephone-state-(type=tel)">4.10.5.1.3 Telephone state (<code>type=tel</code>)</a><li><a href="#url-state-(type=url)">4.10.5.1.4 URL state (<code>type=url</code>)</a><li><a href="#e-mail-state-(type=email)">4.10.5.1
.5 E-mail state (<code>type=email</code>)</a><li><a href="#password-state-(type=password)">4.10.5.1.6 Password state (<code>type=password</code>)</a><li><a href="#date-and-time-state-(type=datetime)">4.10.5.1.7 Date and Time state (<code>type=datetime</code>)</a><li><a href="#date-state-(type=date)">4.10.5.1.8 Date state (<code>type=date</code>)</a><li><a href="#month-state-(type=month)">4.10.5.1.9 Month state (<code>type=month</code>)</a><li><a href="#week-state-(type=week)">4.10.5.1.10 Week state (<code>type=week</code>)</a><li><a href="#time-state-(type=time)">4.10.5.1.11 Time state (<code>type=time</code>)</a><li><a href="#local-date-and-time-state-(type=datetime-local)">4.10.5.1.12 Local Date and Time state (<code>type=datetime-local</code>)</a><li><a href="#number-state-(type=number)">4.10.5.1.13 Number state (<code>type=number</code>)</a><li><a href="#range-state-(type=range)">4.10.5.1.14 Range state (<code>type=range</code>)</a><li><a href="#colour-state-(type=color)
">4.10.5.1.15 Colour state (<code>type=color</code>)</a><li><a href="#checkbox-state-(type=checkbox)">4.10.5.1.16 Checkbox state (<code>type=checkbox</code>)</a><li><a href="#radio-button-state-(type=radio)">4.10.5.1.17 Radio Button state (<code>type=radio</code>)</a><li><a href="#file-upload-state-(type=file)">4.10.5.1.18 File Upload state (<code>type=file</code>)</a><li><a href="#submit-button-state-(type=submit)">4.10.5.1.19 Submit Button state (<code>type=submit</code>)</a><li><a href="#image-button-state-(type=image)">4.10.5.1.20 Image Button state (<code>type=image</code>)</a><li><a href="#reset-button-state-(type=reset)">4.10.5.1.21 Reset Button state (<code>type=reset</code>)</a><li><a href="#button-state-(type=button)">4.10.5.1.22 Button state (<code>type=button</code>)</a></ol><li><a href=#input-impl-notes>4.10.5.2 Implemention notes regarding localization of form controls</a><li><a href=#common-input-element-attributes>4.10.5.3 Common <code>input</code> element at
tributes</a><ol><li><a href=#the-maxlength-and-minlength-attributes>4.10.5.3.1 The <code>maxlength</code> and <code>minlength</code> attributes</a><li><a href=#the-size-attribute>4.10.5.3.2 The <code>size</code> attribute</a><li><a href=#the-readonly-attribute>4.10.5.3.3 The <code>readonly</code> attribute</a><li><a href=#the-required-attribute>4.10.5.3.4 The <code>required</code> attribute</a><li><a href=#the-multiple-attribute>4.10.5.3.5 The <code>multiple</code> attribute</a><li><a href=#the-pattern-attribute>4.10.5.3.6 The <code>pattern</code> attribute</a><li><a href=#the-min-and-max-attributes>4.10.5.3.7 The <code>min</code> and <code>max</code> attributes</a><li><a href=#the-step-attribute>4.10.5.3.8 The <code>step</code> attribute</a><li><a href=#the-list-attribute>4.10.5.3.9 The <code>list</code> attribute</a><li><a href=#the-placeholder-attribute>4.10.5.3.10 The <code>placeholder</code> attribute</a></ol><li><a href=#common-input-element-apis>4.10.5.4 Common <code>
input</code> element APIs</a><li><a href=#common-input-element-events>4.10.5.5 Common event behaviors</a></ol><li><a href=#the-button-element>4.10.6 The <code>button</code> element</a><li><a href=#the-select-element>4.10.7 The <code>select</code> element</a><li><a href=#the-datalist-element>4.10.8 The <code>datalist</code> element</a><li><a href=#the-optgroup-element>4.10.9 The <code>optgroup</code> element</a><li><a href=#the-option-element>4.10.10 The <code>option</code> element</a><li><a href=#the-textarea-element>4.10.11 The <code>textarea</code> element</a><li><a href=#the-keygen-element>4.10.12 The <code>keygen</code> element</a><li><a href=#the-output-element>4.10.13 The <code>output</code> element</a><li><a href=#the-progress-element>4.10.14 The <code>progress</code> element</a><li><a href=#the-meter-element>4.10.15 The <code>meter</code> element</a><li><a href=#the-fieldset-element>4.10.16 The <code>fieldset</code> element</a><li><a href=#the-legend-element>4.10.17
The <code>legend</code> element</a><li><a href=#form-control-infrastructure>4.10.18 Form control infrastructure</a><ol><li><a href="#a-form-control's-value">4.10.18.1 A form control's value</a><li><a href=#mutability>4.10.18.2 Mutability</a><li><a href=#association-of-controls-and-forms>4.10.18.3 Association of controls and forms</a></ol><li><a href=#attributes-common-to-form-controls>4.10.19 Attributes common to form controls</a><ol><li><a href=#naming-form-controls:-the-name-attribute>4.10.19.1 Naming form controls: the <code>name</code> attribute</a><li><a href=#submitting-element-directionality:-the-dirname-attribute>4.10.19.2 Submitting element directionality: the <code>dirname</code> attribute</a><li><a href=#limiting-user-input-length:-the-maxlength-attribute>4.10.19.3 Limiting user input length: the <code>maxlength</code> attribute</a><li><a href=#setting-minimum-input-length-requirements:-the-minlength-attribute>4.10.19.4 Setting minimum input length requirements: t
he <code>minlength</code> attribute</a><li><a href=#enabling-and-disabling-form-controls:-the-disabled-attribute>4.10.19.5 Enabling and disabling form controls: the <code>disabled</code> attribute</a><li><a href=#form-submission>4.10.19.6 Form submission</a><ol><li><a href=#autofocusing-a-form-control:-the-autofocus-attribute>4.10.19.6.1 Autofocusing a form control: the <code>autofocus</code> attribute</a></ol><li><a href=#input-modalities:-the-inputmode-attribute>4.10.19.7 Input modalities: the <code>inputmode</code> attribute</a><li><a href=#autofill>4.10.19.8 Autofill</a><ol><li><a href=#autofilling-form-controls:-the-autocomplete-attribute>4.10.19.8.1 Autofilling form controls: the <code>autocomplete</code> attribute</a><li><a href=#processing-model-4>4.10.19.8.2 Processing model</a><li><a href=#user-interface-for-bulk-autofill>4.10.19.8.3 User interface for bulk autofill</a><li><a href=#the-autocompleteerrorevent-interface>4.10.19.8.4 The <code>AutocompleteErrorEvent</c
ode> interface</a></ol></ol><li><a href=#textFieldSelection>4.10.20 APIs for the text field selections</a><li><a href=#constraints>4.10.21 Constraints</a><ol><li><a href=#definitions>4.10.21.1 Definitions</a><li><a href=#constraint-validation>4.10.21.2 Constraint validation</a><li><a href=#the-constraint-validation-api>4.10.21.3 The constraint validation API</a><li><a href=#security-forms>4.10.21.4 Security</a></ol><li><a href=#form-submission-2>4.10.22 Form submission</a><ol><li><a href=#introduction-6>4.10.22.1 Introduction</a><li><a href=#implicit-submission>4.10.22.2 Implicit submission</a><li><a href=#form-submission-algorithm>4.10.22.3 Form submission algorithm</a><li><a href=#constructing-form-data-set>4.10.22.4 Constructing the form data set</a><li><a href=#selecting-a-form-submission-encoding>4.10.22.5 Selecting a form submission encoding</a><li><a href=#url-encoded-form-data>4.10.22.6 URL-encoded form data</a><li><a href=#multipart-form-data>4.10.22.7 Multipart for
m data</a><li><a href=#plain-text-form-data>4.10.22.8 Plain text form data</a></ol><li><a href=#resetting-a-form>4.10.23 Resetting a form</a></ol><li><a href=#interactive-elements>4.11 Interactive elements</a><ol><li><a href=#the-details-element>4.11.1 The <code>details</code> element</a><li><a href=#the-summary-element>4.11.2 The <code>summary</code> element</a><li><a href=#the-menu-element>4.11.3 The <code>menu</code> element</a><li><a href=#the-menuitem-element>4.11.4 The <code>menuitem</code> element</a><li><a href=#context-menus>4.11.5 Context menus</a><ol><li><a href=#declaring-a-context-menu>4.11.5.1 Declaring a context menu</a><li><a href=#processing-model-5>4.11.5.2 Processing model</a><li><a href=#the-relatedevent-interfaces>4.11.5.3 The <code>RelatedEvent</code> interfaces</a></ol><li><a href=#commands>4.11.6 Commands</a><ol><li><a href=#facets-2>4.11.6.1 Facets</a><li><a href=#using-the-a-element-to-define-a-command>4.11.6.2 Using the <code>a</code> element to de
fine a command</a><li><a href=#using-the-button-element-to-define-a-command>4.11.6.3 Using the <code>button</code> element to define a command</a><li><a href=#using-the-input-element-to-define-a-command>4.11.6.4 Using the <code>input</code> element to define a command</a><li><a href=#using-the-option-element-to-define-a-command>4.11.6.5 Using the <code>option</code> element to define a command</a><li><a href=#using-the-menuitem-element-to-define-a-command>4.11.6.6 Using the <code>menuitem</code> element to define a
+ <code>h6</code> elements</a><li><a href=#the-hgroup-element>4.3.7 The <code>hgroup</code> element</a><li><a href=#the-header-element>4.3.8 The <code>header</code> element</a><li><a href=#the-footer-element>4.3.9 The <code>footer</code> element</a><li><a href=#the-address-element>4.3.10 The <code>address</code> element</a><li><a href=#headings-and-sections>4.3.11 Headings and sections</a><ol><li><a href=#outlines>4.3.11.1 Creating an outline</a><li><a href=#sample-outlines>4.3.11.2 Sample outlines</a><li><a href=#exposing-outlines-to-users>4.3.11.3 Exposing outlines to users</a></ol><li><a href=#usage-summary-2>4.3.12 Usage summary</a><ol><li><a href=#article-or-section>4.3.12.1 Article or section?</a></ol></ol><li><a href=#grouping-content>4.4 Grouping content</a><ol><li><a href=#the-p-element>4.4.1 The <code>p</code> element</a><li><a href=#the-hr-element>4.4.2 The <code>hr</code> element</a><li><a href=#the-pre-element>4.4.3 The <code>pre</code> element</a><li><a href=#t
he-blockquote-element>4.4.4 The <code>blockquote</code> element</a><li><a href=#the-ol-element>4.4.5 The <code>ol</code> element</a><li><a href=#the-ul-element>4.4.6 The <code>ul</code> element</a><li><a href=#the-li-element>4.4.7 The <code>li</code> element</a><li><a href=#the-dl-element>4.4.8 The <code>dl</code> element</a><li><a href=#the-dt-element>4.4.9 The <code>dt</code> element</a><li><a href=#the-dd-element>4.4.10 The <code>dd</code> element</a><li><a href=#the-figure-element>4.4.11 The <code>figure</code> element</a><li><a href=#the-figcaption-element>4.4.12 The <code>figcaption</code> element</a><li><a href=#the-main-element>4.4.13 The <code>main</code> element</a><li><a href=#the-div-element>4.4.14 The <code>div</code> element</a></ol><li><a href=#text-level-semantics>4.5 Text-level semantics</a><ol><li><a href=#the-a-element>4.5.1 The <code>a</code> element</a><li><a href=#the-em-element>4.5.2 The <code>em</code> element</a><li><a href=#the-strong-element>4.5.3
The <code>strong</code> element</a><li><a href=#the-small-element>4.5.4 The <code>small</code> element</a><li><a href=#the-s-element>4.5.5 The <code>s</code> element</a><li><a href=#the-cite-element>4.5.6 The <code>cite</code> element</a><li><a href=#the-q-element>4.5.7 The <code>q</code> element</a><li><a href=#the-dfn-element>4.5.8 The <code>dfn</code> element</a><li><a href=#the-abbr-element>4.5.9 The <code>abbr</code> element</a><li><a href=#the-ruby-element>4.5.10 The <code>ruby</code> element</a><li><a href=#the-rt-element>4.5.11 The <code>rt</code> element</a><li><a href=#the-rp-element>4.5.12 The <code>rp</code> element</a><li><a href=#the-data-element>4.5.13 The <code>data</code> element</a><li><a href=#the-time-element>4.5.14 The <code>time</code> element</a><li><a href=#the-code-element>4.5.15 The <code>code</code> element</a><li><a href=#the-var-element>4.5.16 The <code>var</code> element</a><li><a href=#the-samp-element>4.5.17 The <code>samp</code> element</a><l
i><a href=#the-kbd-element>4.5.18 The <code>kbd</code> element</a><li><a href=#the-sub-and-sup-elements>4.5.19 The <code>sub</code> and <code>sup</code> elements</a><li><a href=#the-i-element>4.5.20 The <code>i</code> element</a><li><a href=#the-b-element>4.5.21 The <code>b</code> element</a><li><a href=#the-u-element>4.5.22 The <code>u</code> element</a><li><a href=#the-mark-element>4.5.23 The <code>mark</code> element</a><li><a href=#the-bdi-element>4.5.24 The <code>bdi</code> element</a><li><a href=#the-bdo-element>4.5.25 The <code>bdo</code> element</a><li><a href=#the-span-element>4.5.26 The <code>span</code> element</a><li><a href=#the-br-element>4.5.27 The <code>br</code> element</a><li><a href=#the-wbr-element>4.5.28 The <code>wbr</code> element</a><li><a href=#usage-summary>4.5.29 Usage summary</a></ol><li><a href=#links>4.6 Links</a><ol><li><a href=#introduction-2>4.6.1 Introduction</a><li><a href=#links-created-by-a-and-area-elements>4.6.2 Links created by <code>a
</code> and <code>area</code> elements</a><li><a href=#following-hyperlinks>4.6.3 Following hyperlinks</a><li><a href=#downloading-resources>4.6.4 Downloading resources</a><ol><li><a href=#hyperlink-auditing>4.6.4.1 Hyperlink auditing</a></ol><li><a href=#linkTypes>4.6.5 Link types</a><ol><li><a href=#rel-alternate>4.6.5.1 Link type "<code>alternate</code>"</a><li><a href=#link-type-author>4.6.5.2 Link type "<code>author</code>"</a><li><a href=#link-type-bookmark>4.6.5.3 Link type "<code>bookmark</code>"</a><li><a href=#link-type-external>4.6.5.4 Link type "<code>external</code>"</a><li><a href=#link-type-help>4.6.5.5 Link type "<code>help</code>"</a><li><a href=#rel-icon>4.6.5.6 Link type "<code>icon</code>"</a><li><a href=#link-type-license>4.6.5.7 Link type "<code>license</code>"</a><li><a href=#link-type-nofollow>4.6.5.8 Link type "<code>nofollow</code>"</a><li><a href=#link-type-noreferrer>4.6.5.9 Link type "<code>noreferrer</code>"</a><li><a href=#link-type-pingback>4.
6.5.10 Link type "<code>pingback</code>"</a><li><a href=#link-type-prefetch>4.6.5.11 Link type "<code>prefetch</code>"</a><li><a href=#link-type-search>4.6.5.12 Link type "<code>search</code>"</a><li><a href=#link-type-sidebar>4.6.5.13 Link type "<code>sidebar</code>"</a><li><a href=#link-type-stylesheet>4.6.5.14 Link type "<code>stylesheet</code>"</a><li><a href=#link-type-tag>4.6.5.15 Link type "<code>tag</code>"</a><li><a href=#sequential-link-types>4.6.5.16 Sequential link types</a><ol><li><a href=#link-type-next>4.6.5.16.1 Link type "<code>next</code>"</a><li><a href=#link-type-prev>4.6.5.16.2 Link type "<code>prev</code>"</a></ol><li><a href=#other-link-types>4.6.5.17 Other link types</a></ol></ol><li><a href=#edits>4.7 Edits</a><ol><li><a href=#the-ins-element>4.7.1 The <code>ins</code> element</a><li><a href=#the-del-element>4.7.2 The <code>del</code> element</a><li><a href=#attributes-common-to-ins-and-del-elements>4.7.3 Attributes common to <code>ins</code> and <co
de>del</code> elements</a><li><a href=#edits-and-paragraphs>4.7.4 Edits and paragraphs</a><li><a href=#edits-and-lists>4.7.5 Edits and lists</a><li><a href=#edits-and-tables>4.7.6 Edits and tables</a></ol><li><a href=#embedded-content>4.8 Embedded content</a><ol><li><a href=#introduction-3>4.8.1 Introduction</a><ol><li><a href=#adaptive-images>4.8.1.1 Adaptive images</a></ol><li><a href=#dependencies-2>4.8.2 Dependencies</a><li><a href=#the-picture-element>4.8.3 The <code>picture</code> element</a><li><a href=#the-source-element-when-used-with-the-picture-element>4.8.4 The <code>source</code> element when used with the <code>picture</code> element</a><li><a href=#the-img-element>4.8.5 The <code>img</code> element</a><ol><li><a href=#alt>4.8.5.1 Requirements for providing text to act as an alternative for images</a><ol><li><a href=#general-guidelines>4.8.5.1.1 General guidelines</a><li><a href=#a-link-or-button-containing-nothing-but-the-image>4.8.5.1.2 A link or button conta
ining nothing but the image</a><li><a href=#a-phrase-or-paragraph-with-an-alternative-graphical-representation:-charts,-diagrams,-graphs,-maps,-illustrations>4.8.5.1.3 A phrase or paragraph with an alternative graphical representation: charts, diagrams, graphs, maps, illustrations</a><li><a href=#a-short-phrase-or-label-with-an-alternative-graphical-representation:-icons,-logos>4.8.5.1.4 A short phrase or label with an alternative graphical representation: icons, logos</a><li><a href=#text-that-has-been-rendered-to-a-graphic-for-typographical-effect>4.8.5.1.5 Text that has been rendered to a graphic for typographical effect</a><li><a href=#a-graphical-representation-of-some-of-the-surrounding-text>4.8.5.1.6 A graphical representation of some of the surrounding text</a><li><a href="#a-purely-decorative-image-that-doesn't-add-any-information">4.8.5.1.7 A purely decorative image that doesn't add any information</a><li><a href=#a-group-of-images-that-form-a-single-larger-picture
-with-no-links>4.8.5.1.8 A group of images that form a single larger picture with no links</a><li><a href=#a-group-of-images-that-form-a-single-larger-picture-with-links>4.8.5.1.9 A group of images that form a single larger picture with links</a><li><a href=#a-key-part-of-the-content>4.8.5.1.10 A key part of the content</a><li><a href=#an-image-not-intended-for-the-user>4.8.5.1.11 An image not intended for the user</a><li><a href=#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.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</a><li><a href=#guidance-for-markup-generators>4.8.5.1.13 Guidance for markup generators</a><li><a href=#guidance-for-conformance-checkers>4.8.5.1.14 Guidance for conformance checkers</a></ol></ol><li><a href=#the-iframe-element>4.8.6 The <code>iframe</code> element</a><li><a href=#the-embed-element>4.8.7 The <code>em
bed</code> element</a><li><a href=#the-object-element>4.8.8 The <code>object</code> element</a><li><a href=#the-param-element>4.8.9 The <code>param</code> element</a><li><a href=#the-video-element>4.8.10 The <code>video</code> element</a><li><a href=#the-audio-element>4.8.11 The <code>audio</code> element</a><li><a href=#the-source-element>4.8.12 The <code>source</code> element</a><li><a href=#the-track-element>4.8.13 The <code>track</code> element</a><li><a href=#media-elements>4.8.14 Media elements</a><ol><li><a href=#error-codes>4.8.14.1 Error codes</a><li><a href=#location-of-the-media-resource>4.8.14.2 Location of the media resource</a><li><a href=#mime-types>4.8.14.3 MIME types</a><li><a href=#network-states>4.8.14.4 Network states</a><li><a href=#loading-the-media-resource>4.8.14.5 Loading the media resource</a><li><a href=#offsets-into-the-media-resource>4.8.14.6 Offsets into the media resource</a><li><a href=#ready-states>4.8.14.7 Ready states</a><li><a href=#playin
g-the-media-resource>4.8.14.8 Playing the media resource</a><li><a href=#seeking>4.8.14.9 Seeking</a><li><a href=#media-resources-with-multiple-media-tracks>4.8.14.10 Media resources with multiple media tracks</a><ol><li><a href=#audiotracklist-and-videotracklist-objects>4.8.14.10.1 <code>AudioTrackList</code> and <code>VideoTrackList</code> objects</a><li><a href=#selecting-specific-audio-and-video-tracks-declaratively>4.8.14.10.2 Selecting specific audio and video tracks declaratively</a></ol><li><a href=#synchronising-multiple-media-elements>4.8.14.11 Synchronising multiple media elements</a><ol><li><a href=#introduction-4>4.8.14.11.1 Introduction</a><li><a href=#media-controllers>4.8.14.11.2 Media controllers</a><li><a href=#assigning-a-media-controller-declaratively>4.8.14.11.3 Assigning a media controller declaratively</a></ol><li><a href=#timed-text-tracks>4.8.14.12 Timed text tracks</a><ol><li><a href=#text-track-model>4.8.14.12.1 Text track model</a><li><a href=#sou
rcing-in-band-text-tracks>4.8.14.12.2 Sourcing in-band text tracks</a><li><a href=#sourcing-out-of-band-text-tracks>4.8.14.12.3 Sourcing out-of-band text tracks</a><li><a href=#guidelines-for-exposing-cues-in-various-formats-as-text-track-cues>4.8.14.12.4 Guidelines for exposing cues in various formats as text track cues</a><li><a href=#text-track-api>4.8.14.12.5 Text track API</a><li><a href=#text-tracks-describing-chapters>4.8.14.12.6 Text tracks describing chapters</a><li><a href=#cue-events>4.8.14.12.7 Event handlers for objects of the text track APIs</a><li><a href=#best-practices-for-metadata-text-tracks>4.8.14.12.8 Best practices for metadata text tracks</a></ol><li><a href=#user-interface>4.8.14.13 User interface</a><li><a href=#time-ranges>4.8.14.14 Time ranges</a><li><a href=#the-trackevent-interface>4.8.14.15 The <code>TrackEvent</code> interface</a><li><a href=#mediaevents>4.8.14.16 Event summary</a><li><a href=#security-and-privacy-considerations>4.8.14.17 Secur
ity and privacy considerations</a><li><a href=#best-practices-for-authors-using-media-elements>4.8.14.18 Best practices for authors using media elements</a><li><a href=#best-practices-for-implementors-of-media-elements>4.8.14.19 Best practices for implementors of media elements</a></ol><li><a href=#the-map-element>4.8.15 The <code>map</code> element</a><li><a href=#the-area-element>4.8.16 The <code>area</code> element</a><li><a href=#image-maps>4.8.17 Image maps</a><ol><li><a href=#authoring>4.8.17.1 Authoring</a><li><a href=#processing-model-2>4.8.17.2 Processing model</a></ol><li><a href=#mathml>4.8.18 MathML</a><li><a href=#svg>4.8.19 SVG</a><li><a href=#dimension-attributes>4.8.20 Dimension attributes</a></ol><li><a href=#tables>4.9 Tabular data</a><ol><li><a href=#the-table-element>4.9.1 The <code>table</code> element</a><ol><li><a href=#table-descriptions-techniques>4.9.1.1 Techniques for describing tables</a><li><a href=#table-layout-techniques>4.9.1.2 Techniques for
table design</a></ol><li><a href=#the-caption-element>4.9.2 The <code>caption</code> element</a><li><a href=#the-colgroup-element>4.9.3 The <code>colgroup</code> element</a><li><a href=#the-col-element>4.9.4 The <code>col</code> element</a><li><a href=#the-tbody-element>4.9.5 The <code>tbody</code> element</a><li><a href=#the-thead-element>4.9.6 The <code>thead</code> element</a><li><a href=#the-tfoot-element>4.9.7 The <code>tfoot</code> element</a><li><a href=#the-tr-element>4.9.8 The <code>tr</code> element</a><li><a href=#the-td-element>4.9.9 The <code>td</code> element</a><li><a href=#the-th-element>4.9.10 The <code>th</code> element</a><li><a href=#attributes-common-to-td-and-th-elements>4.9.11 Attributes common to <code>td</code> and <code>th</code> elements</a><li><a href=#processing-model-3>4.9.12 Processing model</a><ol><li><a href=#forming-a-table>4.9.12.1 Forming a table</a><li><a href=#header-and-data-cell-semantics>4.9.12.2 Forming relationships between data cel
ls and header cells</a></ol><li><a href=#table-sorting-model>4.9.13 Table sorting model</a><li><a href=#table-examples>4.9.14 Examples</a></ol><li><a href=#forms>4.10 Forms</a><ol><li><a href=#introduction-5>4.10.1 Introduction</a><ol><li><a href="#writing-a-form's-user-interface">4.10.1.1 Writing a form's user interface</a><li><a href=#implementing-the-server-side-processing-for-a-form>4.10.1.2 Implementing the server-side processing for a form</a><li><a href=#configuring-a-form-to-communicate-with-a-server>4.10.1.3 Configuring a form to communicate with a server</a><li><a href=#client-side-form-validation>4.10.1.4 Client-side form validation</a><li><a href=#enabling-client-side-automatic-filling-of-form-controls>4.10.1.5 Enabling client-side automatic filling of form controls</a><li><a href=#improving-the-user-experience-on-mobile-devices>4.10.1.6 Improving the user experience on mobile devices</a><li><a href=#the-difference-between-the-field-type,-the-autofill-field-name,
-and-the-input-modality>4.10.1.7 The difference between the field type, the autofill field name, and the input modality</a><li><a href=#input-author-notes>4.10.1.8 Date, time, and number formats</a></ol><li><a href=#categories>4.10.2 Categories</a><li><a href=#the-form-element>4.10.3 The <code>form</code> element</a><li><a href=#the-label-element>4.10.4 The <code>label</code> element</a><li><a href=#the-input-element>4.10.5 The <code>input</code> element</a><ol><li><a href=#states-of-the-type-attribute>4.10.5.1 States of the <code>type</code> attribute</a><ol><li><a href="#hidden-state-(type=hidden)">4.10.5.1.1 Hidden state (<code>type=hidden</code>)</a><li><a href="#text-(type=text)-state-and-search-state-(type=search)">4.10.5.1.2 Text (<code>type=text</code>) state and Search state (<code>type=search</code>)</a><li><a href="#telephone-state-(type=tel)">4.10.5.1.3 Telephone state (<code>type=tel</code>)</a><li><a href="#url-state-(type=url)">4.10.5.1.4 URL state (<code>type
=url</code>)</a><li><a href="#e-mail-state-(type=email)">4.10.5.1.5 E-mail state (<code>type=email</code>)</a><li><a href="#password-state-(type=password)">4.10.5.1.6 Password state (<code>type=password</code>)</a><li><a href="#date-and-time-state-(type=datetime)">4.10.5.1.7 Date and Time state (<code>type=datetime</code>)</a><li><a href="#date-state-(type=date)">4.10.5.1.8 Date state (<code>type=date</code>)</a><li><a href="#month-state-(type=month)">4.10.5.1.9 Month state (<code>type=month</code>)</a><li><a href="#week-state-(type=week)">4.10.5.1.10 Week state (<code>type=week</code>)</a><li><a href="#time-state-(type=time)">4.10.5.1.11 Time state (<code>type=time</code>)</a><li><a href="#local-date-and-time-state-(type=datetime-local)">4.10.5.1.12 Local Date and Time state (<code>type=datetime-local</code>)</a><li><a href="#number-state-(type=number)">4.10.5.1.13 Number state (<code>type=number</code>)</a><li><a href="#range-state-(type=range)">4.10.5.1.14 Range state (<c
ode>type=range</code>)</a><li><a href="#colour-state-(type=color)">4.10.5.1.15 Colour state (<code>type=color</code>)</a><li><a href="#checkbox-state-(type=checkbox)">4.10.5.1.16 Checkbox state (<code>type=checkbox</code>)</a><li><a href="#radio-button-state-(type=radio)">4.10.5.1.17 Radio Button state (<code>type=radio</code>)</a><li><a href="#file-upload-state-(type=file)">4.10.5.1.18 File Upload state (<code>type=file</code>)</a><li><a href="#submit-button-state-(type=submit)">4.10.5.1.19 Submit Button state (<code>type=submit</code>)</a><li><a href="#image-button-state-(type=image)">4.10.5.1.20 Image Button state (<code>type=image</code>)</a><li><a href="#reset-button-state-(type=reset)">4.10.5.1.21 Reset Button state (<code>type=reset</code>)</a><li><a href="#button-state-(type=button)">4.10.5.1.22 Button state (<code>type=button</code>)</a></ol><li><a href=#input-impl-notes>4.10.5.2 Implemention notes regarding localization of form controls</a><li><a href=#common-input
-element-attributes>4.10.5.3 Common <code>input</code> element attributes</a><ol><li><a href=#the-maxlength-and-minlength-attributes>4.10.5.3.1 The <code>maxlength</code> and <code>minlength</code> attributes</a><li><a href=#the-size-attribute>4.10.5.3.2 The <code>size</code> attribute</a><li><a href=#the-readonly-attribute>4.10.5.3.3 The <code>readonly</code> attribute</a><li><a href=#the-required-attribute>4.10.5.3.4 The <code>required</code> attribute</a><li><a href=#the-multiple-attribute>4.10.5.3.5 The <code>multiple</code> attribute</a><li><a href=#the-pattern-attribute>4.10.5.3.6 The <code>pattern</code> attribute</a><li><a href=#the-min-and-max-attributes>4.10.5.3.7 The <code>min</code> and <code>max</code> attributes</a><li><a href=#the-step-attribute>4.10.5.3.8 The <code>step</code> attribute</a><li><a href=#the-list-attribute>4.10.5.3.9 The <code>list</code> attribute</a><li><a href=#the-placeholder-attribute>4.10.5.3.10 The <code>placeholder</code> attribute</a><
/ol><li><a href=#common-input-element-apis>4.10.5.4 Common <code>input</code> element APIs</a><li><a href=#common-input-element-events>4.10.5.5 Common event behaviors</a></ol><li><a href=#the-button-element>4.10.6 The <code>button</code> element</a><li><a href=#the-select-element>4.10.7 The <code>select</code> element</a><li><a href=#the-datalist-element>4.10.8 The <code>datalist</code> element</a><li><a href=#the-optgroup-element>4.10.9 The <code>optgroup</code> element</a><li><a href=#the-option-element>4.10.10 The <code>option</code> element</a><li><a href=#the-textarea-element>4.10.11 The <code>textarea</code> element</a><li><a href=#the-keygen-element>4.10.12 The <code>keygen</code> element</a><li><a href=#the-output-element>4.10.13 The <code>output</code> element</a><li><a href=#the-progress-element>4.10.14 The <code>progress</code> element</a><li><a href=#the-meter-element>4.10.15 The <code>meter</code> element</a><li><a href=#the-fieldset-element>4.10.16 The <code>fi
eldset</code> element</a><li><a href=#the-legend-element>4.10.17 The <code>legend</code> element</a><li><a href=#form-control-infrastructure>4.10.18 Form control infrastructure</a><ol><li><a href="#a-form-control's-value">4.10.18.1 A form control's value</a><li><a href=#mutability>4.10.18.2 Mutability</a><li><a href=#association-of-controls-and-forms>4.10.18.3 Association of controls and forms</a></ol><li><a href=#attributes-common-to-form-controls>4.10.19 Attributes common to form controls</a><ol><li><a href=#naming-form-controls:-the-name-attribute>4.10.19.1 Naming form controls: the <code>name</code> attribute</a><li><a href=#submitting-element-directionality:-the-dirname-attribute>4.10.19.2 Submitting element directionality: the <code>dirname</code> attribute</a><li><a href=#limiting-user-input-length:-the-maxlength-attribute>4.10.19.3 Limiting user input length: the <code>maxlength</code> attribute</a><li><a href=#setting-minimum-input-length-requirements:-the-minlength
-attribute>4.10.19.4 Setting minimum input length requirements: the <code>minlength</code> attribute</a><li><a href=#enabling-and-disabling-form-controls:-the-disabled-attribute>4.10.19.5 Enabling and disabling form controls: the <code>disabled</code> attribute</a><li><a href=#form-submission>4.10.19.6 Form submission</a><ol><li><a href=#autofocusing-a-form-control:-the-autofocus-attribute>4.10.19.6.1 Autofocusing a form control: the <code>autofocus</code> attribute</a></ol><li><a href=#input-modalities:-the-inputmode-attribute>4.10.19.7 Input modalities: the <code>inputmode</code> attribute</a><li><a href=#autofill>4.10.19.8 Autofill</a><ol><li><a href=#autofilling-form-controls:-the-autocomplete-attribute>4.10.19.8.1 Autofilling form controls: the <code>autocomplete</code> attribute</a><li><a href=#processing-model-4>4.10.19.8.2 Processing model</a><li><a href=#user-interface-for-bulk-autofill>4.10.19.8.3 User interface for bulk autofill</a><li><a href=#the-autocompleteerr
orevent-interface>4.10.19.8.4 The <code>AutocompleteErrorEvent</code> interface</a></ol></ol><li><a href=#textFieldSelection>4.10.20 APIs for the text field selections</a><li><a href=#constraints>4.10.21 Constraints</a><ol><li><a href=#definitions>4.10.21.1 Definitions</a><li><a href=#constraint-validation>4.10.21.2 Constraint validation</a><li><a href=#the-constraint-validation-api>4.10.21.3 The constraint validation API</a><li><a href=#security-forms>4.10.21.4 Security</a></ol><li><a href=#form-submission-2>4.10.22 Form submission</a><ol><li><a href=#introduction-6>4.10.22.1 Introduction</a><li><a href=#implicit-submission>4.10.22.2 Implicit submission</a><li><a href=#form-submission-algorithm>4.10.22.3 Form submission algorithm</a><li><a href=#constructing-form-data-set>4.10.22.4 Constructing the form data set</a><li><a href=#selecting-a-form-submission-encoding>4.10.22.5 Selecting a form submission encoding</a><li><a href=#url-encoded-form-data>4.10.22.6 URL-encoded form
data</a><li><a href=#multipart-form-data>4.10.22.7 Multipart form data</a><li><a href=#plain-text-form-data>4.10.22.8 Plain text form data</a></ol><li><a href=#resetting-a-form>4.10.23 Resetting a form</a></ol><li><a href=#interactive-elements>4.11 Interactive elements</a><ol><li><a href=#the-details-element>4.11.1 The <code>details</code> element</a><li><a href=#the-summary-element>4.11.2 The <code>summary</code> element</a><li><a href=#the-menu-element>4.11.3 The <code>menu</code> element</a><li><a href=#the-menuitem-element>4.11.4 The <code>menuitem</code> element</a><li><a href=#context-menus>4.11.5 Context menus</a><ol><li><a href=#declaring-a-context-menu>4.11.5.1 Declaring a context menu</a><li><a href=#processing-model-5>4.11.5.2 Processing model</a><li><a href=#the-relatedevent-interfaces>4.11.5.3 The <code>RelatedEvent</code> interfaces</a></ol><li><a href=#commands>4.11.6 Commands</a><ol><li><a href=#facets-2>4.11.6.1 Facets</a><li><a href=#using-the-a-element-to
-define-a-command>4.11.6.2 Using the <code>a</code> element to define a command</a><li><a href=#using-the-button-element-to-define-a-command>4.11.6.3 Using the <code>button</code> element to define a command</a><li><a href=#using-the-input-element-to-define-a-command>4.11.6.4 Using the <code>input</code> element to define a command</a><li><a href=#using-the-option-element-to-define-a-command>4.11.6.5 Using the <code>option</code> element to define a command</a><li><a href=#using-the-menuitem-element-to-define-a-command>4.11.6.6 Using the <code>menuitem</code> element to define a
command</a><li><a href=#using-the-command-attribute-on-menuitem-elements-to-define-a-command-indirectly>4.11.6.7 Using the <code>command</code> attribute on <code>menuitem</code> elements to define
a command indirectly</a><li><a href=#using-the-accesskey-attribute-on-a-label-element-to-define-a-command>4.11.6.8 Using the <code>accesskey</code> attribute
on a <code>label</code> element to define a command</a><li><a href=#using-the-accesskey-attribute-on-a-legend-element-to-define-a-command>4.11.6.9 Using the <code>accesskey</code> attribute
@@ -17470,9 +17470,114 @@
</dl>
+ <h5 id=adaptive-images>4.8.1.1 Adaptive images</h5>
+
+ <p><i>This section is non-normative.</i></p>
+
+ <p>CSS and media queries can be used to construct graphical page layouts that adapt dynamically to
+ the user's environment, in particular to different viewport dimensions and pixel densities. For
+ content, however, CSS does not help; instead, we have the <code id=adaptive-images:the-img-element><a href=#the-img-element>img</a></code> element's <code id=adaptive-images:attr-img-srcset><a href=#attr-img-srcset>srcset</a></code> attribute and the <code id=adaptive-images:the-picture-element><a href=#the-picture-element>picture</a></code> element.
+ This section walks through a sample case showing how to use these features.</p>
+
+ <p>Consider a situation where on wide screens (wider than 600 CSS pixels) a 300×150 image
+ named <code>a-rectangle.png</code> is to be used, but on smaller screens (600 CSS pixels
+ and less), a smaller 100×100 image called <code>a-square.png</code> is to be used.
+ The markup for this would look like this:</p>
+
+ <pre><figure>
+ <picture>
+ <source srcset="a-square.png" media="(max-width: 600px)">
+ <img src="a-rectangle.png" alt="Barney Frank wears a suit and glasses.">
+ </picture>
+ <figcaption>Barney Frank, 2011</figcaption>
+</figure></pre>
+
+ <p class=note>For details on what to put in the <code id=adaptive-images:attr-img-alt><a href=#attr-img-alt>alt</a></code> attribute,
+ see the <a href=#alt>Requirements for providing text to act as an alternative for images</a> section.</p>
+
+ <p>The problem with this is that the user agent does not necessarily know what dimensions to use
+ for the image when the image is loading. To avoid the layout having to be reflowed multiple times
+ as the page is loading, CSS and CSS media queries can be used to provide the dimensions:</p>
+
+ <pre><figure>
+ <style scoped>
+ #a { width: 300px; height: 150px; }
+ @media (max-width: 600px) { #a { width: 100px; height: 100px; } }
+ </style>
+ <picture>
+ <source srcset="a-square.png" media="(max-width: 600px)">
+ <img src="a-rectangle.png" alt="Barney Frank wears a suit and glasses." id="a">
+ </picture>
+ <figcaption>Barney Frank, 2011</figcaption>
+</figure></pre>
+
+ <p>Alternatively, the <code id=adaptive-images:attr-dim-width><a href=#attr-dim-width>width</a></code> and <code id=adaptive-images:attr-dim-height><a href=#attr-dim-height>height</a></code> attributes can be used to provide the width for legacy user
+ agents, using CSS just for the user agents that support <code id=adaptive-images:the-picture-element-2><a href=#the-picture-element>picture</a></code>:</p>
+
+ <pre><figure>
+ <style scoped media="(max-width: 600px)">
+ #a { width: 100px; height: 100px; }
+ </style>
+ <picture>
+ <source srcset="a-square.png" media="(max-width: 600px)">
+ <img src="a-rectangle.png" width="300" height="150"
+ alt="Barney Frank wears a suit and glasses." id="a">
+ </picture>
+ <figcaption>Barney Frank, 2011</figcaption>
+</figure></pre>
+
+ <hr>
+
+ <p>The <code id=adaptive-images:the-source-element-when-used-with-the-picture-element><a href=#the-source-element-when-used-with-the-picture-element>source</a></code> element is used with the <code id=adaptive-images:attr-img-src><a href=#attr-img-src>src</a></code> attribute, which gives the URL of the image to use for legacy user
+ agents that do not support the <code id=adaptive-images:the-picture-element-3><a href=#the-picture-element>picture</a></code> element. This leads
+ to a question of which image to provide in the <code id=adaptive-images:attr-img-src-2><a href=#attr-img-src>src</a></code>
+ attribute.</p>
+
+ <p>If the author wants the biggest image in legacy user agents, the markup could be as follows:</p>
+
+ <pre><picture>
+ <source srcset="pear-mobile.jpeg" media="(max-width: 720px)">
+ <source srcset="pear-tablet.jpeg" media="(max-width: 1280px)">
+ <img src="pear-desktop.jpeg" alt="The pear is juicy.">
+</picture></pre>
+
+ <p>However, if legacy mobile user agents are more important, one can list all three images in the
+ <code id=adaptive-images:the-source-element-when-used-with-the-picture-element-2><a href=#the-source-element-when-used-with-the-picture-element>source</a></code> elements, overriding the <code id=adaptive-images:attr-img-src-3><a href=#attr-img-src>src</a></code> attribute entirely.</p>
+
+ <pre><picture>
+ <source srcset="pear-mobile.jpeg" media="(max-width: 720px)">
+ <source srcset="pear-tablet.jpeg" media="(max-width: 1280px)">
+ <source srcset="pear-desktop.jpeg">
+ <img src="pear-mobile.jpeg" alt="The pear is juicy.">
+</picture></pre>
+
+ <p>Since at this point the <code id=adaptive-images:attr-img-src-4><a href=#attr-img-src>src</a></code> attribute is actually being
+ ignored entirely by <code id=adaptive-images:the-picture-element-4><a href=#the-picture-element>picture</a></code>-supporting user agents, the <code id=adaptive-images:attr-img-src-5><a href=#attr-img-src>src</a></code> attribute can default to any image, including one that is neither
+ the smallest nor biggest:</p>
+
+ <pre><picture>
+ <source srcset="pear-mobile.jpeg" media="(max-width: 720px)">
+ <source srcset="pear-tablet.jpeg" media="(max-width: 1280px)">
+ <source srcset="pear-desktop.jpeg">
+ <img src="pear-tablet.jpeg" alt="The pear is juicy.">
+</picture></pre>
+
+ <hr>
+
+ <p>Above the <code>max-width</code> media feature is used, giving the maximum
+ (viewport) dimensions that an image is intended for.
+ It is also possible to use <code>min-width</code> instead.</p>
+
+ <pre><picture>
+ <source srcset="pear-desktop.jpeg" media="(min-width: 1281px)">
+ <source srcset="pear-tablet.jpeg" media="(min-width: 721px)">
+ <img src="pear-mobile.jpeg" alt="The pear is juicy.">
+</picture></pre>
+
+
<h4 id=dependencies-2>4.8.2 Dependencies</h4>
- <dl><dt>Media Queries <a href=#refsMQ>[MQ]</a> <span class=XXX>Correct reference is <a href=http://dev.w3.org/csswg/mediaqueries-4/>http://dev.w3.org/csswg/mediaqueries-4/</a></span><dd><dfn id=media-condition><media-condition></dfn><dt>CSS Values and Units <a href=#refsCSSVALUES>[CSSVALUES]</a><dd><dfn id=length><length></dfn><dt>CSS Syntax <a href=#refsCSSSYNTAX>[CSSSYNTAX]</a><dd><dfn id=parse-a-comma-separated-list-of-component-values>Parse a comma-separated list of component values</dfn><dd><dfn id=component-value>component value</dfn><dd><dfn id=whitespace-token><whitespace-token></dfn></dl>
+ <dl><dt>Media Queries <a href=#refsMQ>[MQ]</a> <span class=XXX>Correct reference is <a href=http://dev.w3.org/csswg/mediaqueries-4/>http://dev.w3.org/csswg/mediaqueries-4/</a></span><dd><dfn id=media-condition><media-condition></dfn><dt>CSS Values and Units <a href=#refsCSSVALUES>[CSSVALUES]</a><dd><dfn id=length><length></dfn><dt>CSS Syntax <a href=#refsCSSSYNTAX>[CSSSYNTAX]</a><dd><dfn id=parse-a-comma-separated-list-of-component-values>Parse a comma-separated list of component values</dfn><dd><dfn id=component-value>component value</dfn><dd><dfn id=whitespace-token><whitespace-token></dfn><dt>Fetch <a href=#refsFETCH>[FETCH]</a><dd><dfn id=concept-request-context>context</dfn></dl>
<h4 id=the-picture-element>4.8.3 The <dfn><code>picture</code></dfn> element</h4>
@@ -17663,8 +17768,8 @@
animated bitmaps (APNGs, animated GIFs), animated vector graphics (XML files with an SVG root
element that use declarative SMIL animation), and so forth. However, these definitions preclude
SVG files with script, multipage PDF files, interactive MNG files, HTML documents, plain text
- documents, and so forth. <a href=#refsPNG>[PNG]</a> <a href=#refsGIF>[GIF]</a> <a href=#refsJPEG>[JPEG]</a> <a href=#refsPDF>[PDF]</a> <a href=#refsXML>[XML]</a> <a href=#refsAPNG>[APNG]</a> <a href=#refsSVG>[SVG]</a>
- <a href=#refsMNG>[MNG]</a> </p>
+ documents, and so forth. <a href=#refsPNG>[PNG]</a> <a href=#refsGIF>[GIF]</a> <a href=#refsJPEG>[JPEG]</a> <a href=#refsPDF>[PDF]</a>
+ <a href=#refsXML>[XML]</a> <a href=#refsAPNG>[APNG]</a> <a href=#refsSVG>[SVG]</a> <a href=#refsMNG>[MNG]</a> </p>
<p>If the <code id=the-img-element:attr-img-srcset-3><a href=#attr-img-srcset>srcset</a></code> attribute is present,
the <dfn id=attr-img-sizes><code>sizes</code></dfn> attribute may also be present.
@@ -17679,6 +17784,10 @@
<p>A <a href=#source-size-value id=the-img-element:source-size-value-4><source-size-value></a> must not be negative.</p>
+ <p class=note>Percentages are not allowed in a <span><source-size-value</span>,
+ to avoid confusion about what it would be relative to.
+ The <code>vw</code> unit can be used for sizes relative to the viewport width.</p>
+
<p>The <code id=the-img-element:the-img-element-5><a href=#the-img-element>img</a></code> element must not be used as a layout tool. In particular, <code id=the-img-element:the-img-element-6><a href=#the-img-element>img</a></code>
elements should not be used to display transparent images, as such images rarely convey meaning and
rarely add anything useful to the document.</p>
@@ -17787,11 +17896,17 @@
given higher-layer caching semantics for the resource (e.g. the HTTP <code>Cache-Control</code>
response header) when the <a href=#ignore-higher-layer-caching id=the-img-element:ignore-higher-layer-caching-2>ignore higher-layer caching</a> is unset.</p>
- <p class=note>The user agent can also store the image data in a separatly from the <a href=#list-of-available-images id=the-img-element:list-of-available-images-3>list of available images</a>.</p>
+ <p class=note>The <a href=#list-of-available-images id=the-img-element:list-of-available-images-3>list of available images</a> is intended to enable synchronous switching
+ when changing the <code id=the-img-element:attr-img-src-5><a href=#attr-img-src>src</a></code> attribute to a URL that has previously been loaded,
+ and to avoid re-downloading images in the same document even when they don't allow caching per HTTP.
+ It is not used to avoid re-downloading the same image while the previous image is still loading,
+ but the <a href=#fetch id=the-img-element:fetch>fetch</a> algorithm allows the download to be reused in that case.</p>
+ <p class=note>The user agent can also store the image data in a separately from the <a href=#list-of-available-images id=the-img-element:list-of-available-images-4>list of available images</a>.</p>
+
<p class=example>For example, if a resource has the HTTP response header <code>Cache-Control: must-revalidate</code>,
- the user agent would remove it from the <a href=#list-of-available-images id=the-img-element:list-of-available-images-4>list of available images</a> but could keep the image data separately,
- and use that if the server responds with a <code>204 No Content</code> status.</p>
+ the user agent would remove it from the <a href=#list-of-available-images id=the-img-element:list-of-available-images-5>list of available images</a> but could keep the image data separately,
+ and use that if the server responds with a <code>304 Not Modified</code> status.</p>
<p>When the user agent is to <dfn id=update-the-image-data>update the image data</dfn> of an <code id=the-img-element:the-img-element-18><a href=#the-img-element>img</a></code> element,
optionally with the <i>restart animations</i> flag set,
@@ -17806,9 +17921,9 @@
<p>If the element does not have a <code id=the-img-element:attr-img-srcset-5><a href=#attr-img-srcset>srcset</a></code> attribute specified and
it does not have a parent or it has a parent but it is not a <code id=the-img-element:the-picture-element-6><a href=#the-picture-element>picture</a></code> element,
- and it has a <code id=the-img-element:attr-img-src-5><a href=#attr-img-src>src</a></code> attribute specified and
+ and it has a <code id=the-img-element:attr-img-src-6><a href=#attr-img-src>src</a></code> attribute specified and
its value is not the empty string, let <var>selected source</var> be the value of the
- element's <code id=the-img-element:attr-img-src-6><a href=#attr-img-src>src</a></code> attribute, and <var>selected pixel
+ element's <code id=the-img-element:attr-img-src-7><a href=#attr-img-src>src</a></code> attribute, and <var>selected pixel
density</var> be 1.0. Otherwise, let <var>selected source</var> be null and <var>selected pixel density</var> be undefined.</p>
<li><p>Let the <code id=the-img-element:the-img-element-19><a href=#the-img-element>img</a></code> element's <a href=#last-selected-source id=the-img-element:last-selected-source>last selected source</a> be <var>selected source</var>.<li>
@@ -17820,7 +17935,7 @@
abort these inner set of steps.<li><p>Let <var>key</var> be a tuple consisting of the resulting <a href=#absolute-url id=the-img-element:absolute-url-2>absolute
URL</a>, the <code id=the-img-element:the-img-element-20><a href=#the-img-element>img</a></code> element's <code id=the-img-element:attr-img-crossorigin-3><a href=#attr-img-crossorigin>crossorigin</a></code>
attribute's mode, and, if that mode is not <a href=#attr-crossorigin-none id=the-img-element:attr-crossorigin-none-2>No CORS</a>,
- the <code id=the-img-element:document-6><a href=#document>Document</a></code> object's <a href=#origin-2 id=the-img-element:origin-2-2>origin</a>.<li><p>If the <a href=#list-of-available-images id=the-img-element:list-of-available-images-5>list of available images</a> contains an entry for <var>key</var>, then
+ the <code id=the-img-element:document-6><a href=#document>Document</a></code> object's <a href=#origin-2 id=the-img-element:origin-2-2>origin</a>.<li><p>If the <a href=#list-of-available-images id=the-img-element:list-of-available-images-6>list of available images</a> contains an entry for <var>key</var>, then
set the <a href=#ignore-higher-layer-caching id=the-img-element:ignore-higher-layer-caching-3>ignore higher-layer caching</a> flag for that entry,
<a href=#abort-the-image-request id=the-img-element:abort-the-image-request-2>abort the image request</a> for the <a href=#current-request id=the-img-element:current-request-5>current request</a> and the <a href=#pending-request id=the-img-element:pending-request-4>pending request</a>,
let <a href=#pending-request id=the-img-element:pending-request-5>pending request</a> be null,
@@ -17842,7 +17957,7 @@
after this instance (even if it aborted and is no longer running), then abort these steps.</p>
<p class=note>Only the last instance takes effect, to avoid multiple requests when, for
- example, the <code id=the-img-element:attr-img-src-7><a href=#attr-img-src>src</a></code>, <code id=the-img-element:attr-img-srcset-6><a href=#attr-img-srcset>srcset</a></code>,
+ example, the <code id=the-img-element:attr-img-src-8><a href=#attr-img-src>src</a></code>, <code id=the-img-element:attr-img-srcset-6><a href=#attr-img-srcset>srcset</a></code>,
and <code id=the-img-element:attr-img-crossorigin-4><a href=#attr-img-crossorigin>crossorigin</a></code> attributes are all set in
succession.</p>
@@ -17859,7 +17974,7 @@
<ol><li><p>⌛ Set the <a href=#current-request id=the-img-element:current-request-9>current request</a> to the <a href=#img-error id=the-img-element:img-error>broken</a> state,
<a href=#abort-the-image-request id=the-img-element:abort-the-image-request-3>abort the image request</a> for the <a href=#current-request id=the-img-element:current-request-10>current request</a> and the <a href=#pending-request id=the-img-element:pending-request-6>pending request</a>,
and let <a href=#pending-request id=the-img-element:pending-request-7>pending request</a> be null.<li><p>⌛ <a href=#queue-a-task id=the-img-element:queue-a-task-2>Queue a task</a> to change the <a href=#current-request id=the-img-element:current-request-11>current request</a>'s <a href=#img-req-url id=the-img-element:img-req-url-3>current URL</a> to the empty string,
- and then, if the element has a <code id=the-img-element:attr-img-src-8><a href=#attr-img-src>src</a></code> attribute
+ and then, if the element has a <code id=the-img-element:attr-img-src-9><a href=#attr-img-src>src</a></code> attribute
or a <code id=the-img-element:attr-img-srcset-7><a href=#attr-img-srcset>srcset</a></code> attribute
or a parent that is a <code id=the-img-element:the-picture-element-7><a href=#the-picture-element>picture</a></code> element,
<a href=#fire-a-simple-event id=the-img-element:fire-a-simple-event-2>fire a simple event</a> named <code id=the-img-element:event-error><a href=#event-error>error</a></code> at the <code id=the-img-element:the-img-element-23><a href=#the-img-element>img</a></code> element.<li><p>⌛ Abort this algorithm.</ol>
@@ -17903,8 +18018,16 @@
the element's <code id=the-img-element:attr-img-crossorigin-5><a href=#attr-img-crossorigin>crossorigin</a></code> content attribute,
the <i>origin</i> being the <a href=#origin-2 id=the-img-element:origin-2-3>origin</a> of the <code id=the-img-element:the-img-element-27><a href=#the-img-element>img</a></code> element's
<code id=the-img-element:document-7><a href=#document>Document</a></code>, and the <i>default origin behaviour</i> set to <i>taint</i>.
- Let this instance of the <a href=#fetch id=the-img-element:fetch>fetching</a> algorithm be associated with <var>image request</var>.</p>
+ Let this instance of the <a href=#fetch id=the-img-element:fetch-2>fetching</a> algorithm be associated with <var>image request</var>.</p>
+ <p>If the element has a <code id=the-img-element:attr-img-srcset-8><a href=#attr-img-srcset>srcset</a></code> attribute
+ or a parent that is a <code id=the-img-element:the-picture-element-8><a href=#the-picture-element>picture</a></code> element,
+ the fetching request's <a href=#concept-request-context id=the-img-element:concept-request-context>context</a> must be set to <i>imageset</i>.
+ Otherwise it must be set to <i>image</i>. <a href=#refsFETCH>[FETCH]</a></p>
+
+ <p class=critical>This specification does not yet use the "fetch" algorithm from the WHATWG Fetch specification.
+ It will be updated to do so in due course.</p>
+
<p>The resource obtained in this fashion, if any, is <var>image request</var>'s <a href=#img-req-data id=the-img-element:img-req-data-3>image data</a>.
It can be either <a href=#cors-same-origin id=the-img-element:cors-same-origin>CORS-same-origin</a> or <a href=#cors-cross-origin id=the-img-element:cors-cross-origin>CORS-cross-origin</a>; this affects
the <a href=#origin-2 id=the-img-element:origin-2-4>origin</a> of the image itself (e.g. when used on a <code id=the-img-element:the-canvas-element-2><a href=#the-canvas-element>canvas</a></code>).</p>
@@ -17912,7 +18035,7 @@
<p>Fetching the image must <a href=#delay-the-load-event id=the-img-element:delay-the-load-event>delay the load event</a> of the element's document until the
<a href=#concept-task id=the-img-element:concept-task-2>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-6>queued</a> by the
- <a href=#networking-task-source id=the-img-element:networking-task-source>networking task source</a> once the resource has been <a href=#fetch id=the-img-element:fetch-2>fetched</a> (<a href=#img-load>defined below</a>) has been run.
+ <a href=#networking-task-source id=the-img-element:networking-task-source>networking task source</a> once the resource has been <a href=#fetch id=the-img-element:fetch-3>fetched</a> (<a href=#img-load>defined below</a>) has been run.
</p>
<p class=warning>This, unfortunately, can be used to perform a rudimentary port scan of the
@@ -17923,18 +18046,18 @@
<p>If the resource is <a href=#cors-same-origin id=the-img-element:cors-same-origin-2>CORS-same-origin</a>, each <a href=#concept-task id=the-img-element:concept-task-3>task</a>
that is <a href=#queue-a-task id=the-img-element:queue-a-task-7>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-2>networking task source</a>
- while the image is being <a href=#fetch id=the-img-element:fetch-3>fetched</a>,
+ while the image is being <a href=#fetch id=the-img-element:fetch-4>fetched</a>,
if <var>image request</var> is the <a href=#current-request id=the-img-element:current-request-17>current request</a>,
must <a href=#fire-a-progress-event id=the-img-element:fire-a-progress-event-2>fire a progress event</a> named <code id=the-img-element:event-progress><a href=#event-progress>progress</a></code> at the <code id=the-img-element:the-img-element-28><a href=#the-img-element>img</a></code> element.</p>
<li><p>End the <a href=#synchronous-section id=the-img-element:synchronous-section-4>synchronous section</a>, continuing the remaining steps asynchronously,
- but without missing any data from the <a href=#fetch id=the-img-element:fetch-4>fetch</a> algorithm.<li>
+ but without missing any data from the <a href=#fetch id=the-img-element:fetch-5>fetch</a> algorithm.<li>
<p>As soon as possible, jump to the first applicable entry from the following list:</p>
<dl class=switch><dt>If the resource type is <code id=the-img-element:multipart/x-mixed-replace><a href=#multipart/x-mixed-replace>multipart/x-mixed-replace</a></code><dd>
- <p>The next <a href=#concept-task id=the-img-element:concept-task-4>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-8>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-3>networking task source</a> while the image is being <a href=#fetch id=the-img-element:fetch-5>fetched</a> must run the following steps:</p>
+ <p>The next <a href=#concept-task id=the-img-element:concept-task-4>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-8>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-3>networking task source</a> while the image is being <a href=#fetch id=the-img-element:fetch-6>fetched</a> must run the following steps:</p>
<ol><li>
@@ -17971,7 +18094,7 @@
</ol>
- <p>Each <a href=#concept-task id=the-img-element:concept-task-5>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-9>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-4>networking task source</a> while the image is being <a href=#fetch id=the-img-element:fetch-6>fetched</a> must update the presentation of the image, but as each new body
+ <p>Each <a href=#concept-task id=the-img-element:concept-task-5>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-9>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-4>networking task source</a> while the image is being <a href=#fetch id=the-img-element:fetch-7>fetched</a> must update the presentation of the image, but as each new body
part comes in, it must replace the previous image. Once one body part has been completely
decoded, the user agent must set the <code id=the-img-element:the-img-element-29><a href=#the-img-element>img</a></code> element to the <a href=#img-all id=the-img-element:img-all-3>completely available</a> state and <a href=#queue-a-task id=the-img-element:queue-a-task-10>queue a task</a> to <a href=#fire-a-simple-event id=the-img-element:fire-a-simple-event-5>fire
a simple event</a> named <code id=the-img-element:event-load-2><a href=#event-load>load</a></code> at the <code id=the-img-element:the-img-element-30><a href=#the-img-element>img</a></code>
@@ -17982,7 +18105,7 @@
<dt>If the resource type and data corresponds to a supported image format, <a href=#img-determine-type>as described below</a><dd>
- <p>The next <a href=#concept-task id=the-img-element:concept-task-6>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-11>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-5>networking task source</a> while the image is being <a href=#fetch id=the-img-element:fetch-7>fetched</a> must run the following steps:</p>
+ <p>The next <a href=#concept-task id=the-img-element:concept-task-6>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-11>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-5>networking task source</a> while the image is being <a href=#fetch id=the-img-element:fetch-8>fetched</a> must run the following steps:</p>
<ol><li>
@@ -18025,18 +18148,18 @@
</ol>
<p id=img-load>That <a href=#concept-task id=the-img-element:concept-task-7>task</a>, and each subsequent <a href=#concept-task id=the-img-element:concept-task-8>task</a>, that is <a href=#queue-a-task id=the-img-element:queue-a-task-12>queued</a> by the
- <a href=#networking-task-source id=the-img-element:networking-task-source-6>networking task source</a> while the image is being <a href=#fetch id=the-img-element:fetch-8>fetched</a>,
+ <a href=#networking-task-source id=the-img-element:networking-task-source-6>networking task source</a> while the image is being <a href=#fetch id=the-img-element:fetch-9>fetched</a>,
if <var>image request</var> is the <a href=#current-request id=the-img-element:current-request-31>current request</a>,
must update the presentation of the image appropriately (e.g. if
the image is a progressive JPEG, each packet can improve the resolution of the image).</p>
<p>Furthermore, the last <a href=#concept-task id=the-img-element:concept-task-9>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-13>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-7>networking task source</a> once the resource has been
- <a href=#fetch id=the-img-element:fetch-9>fetched</a> must additionally run these steps:</p>
+ <a href=#fetch id=the-img-element:fetch-10>fetched</a> must additionally run these steps:</p>
<ol><li><p>Set <var>image request</var> to the <a href=#img-all id=the-img-element:img-all-4>completely
available</a> state.</p>
- <li><p>Add the image to the <a href=#list-of-available-images id=the-img-element:list-of-available-images-6>list of available images</a> using the key <var>key</var>, with the <a href=#ignore-higher-layer-caching id=the-img-element:ignore-higher-layer-caching-4>ignore higher-layer caching</a> flag set.<li><p><a href=#fire-a-progress-event-or-simple-event id=the-img-element:fire-a-progress-event-or-simple-event>Fire a progress event or simple event</a> named <code id=the-img-element:event-load-3><a href=#event-load>load</a></code>
+ <li><p>Add the image to the <a href=#list-of-available-images id=the-img-element:list-of-available-images-7>list of available images</a> using the key <var>key</var>, with the <a href=#ignore-higher-layer-caching id=the-img-element:ignore-higher-layer-caching-4>ignore higher-layer caching</a> flag set.<li><p><a href=#fire-a-progress-event-or-simple-event id=the-img-element:fire-a-progress-event-or-simple-event>Fire a progress event or simple event</a> named <code id=the-img-element:event-load-3><a href=#event-load>load</a></code>
at the <code id=the-img-element:the-img-element-37><a href=#the-img-element>img</a></code> element, depending on the resource in <var>image request</var>.<li><p><a href=#fire-a-progress-event-or-simple-event id=the-img-element:fire-a-progress-event-or-simple-event-2>Fire a progress event or simple event</a> named <code id=the-img-element:event-loadend-5><a href=#event-loadend>loadend</a></code>
at the <code id=the-img-element:the-img-element-38><a href=#the-img-element>img</a></code> element, depending on the resource in <var>image request</var>.</ol>
@@ -18056,7 +18179,7 @@
<p>To <dfn id=abort-the-image-request>abort the image request</dfn> for an <a href=#image-request id=the-img-element:image-request-10>image request</a> <var>image request</var> means to run the following steps:</p>
- <ol><li><p>Forget <var>image request</var>'s <a href=#img-req-data id=the-img-element:img-req-data-4>image data</a>, if any.<li><p>Abort any instance of the <a href=#fetch id=the-img-element:fetch-10>fetching</a> algorithm for <var>image request</var>,
+ <ol><li><p>Forget <var>image request</var>'s <a href=#img-req-data id=the-img-element:img-req-data-4>image data</a>, if any.<li><p>Abort any instance of the <a href=#fetch id=the-img-element:fetch-11>fetching</a> algorithm for <var>image request</var>,
discarding any pending tasks generated by that algorithm.</ol>
<p>To <dfn id=upgrade-the-pending-request-to-the-current-request>upgrade the pending request to the current request</dfn> for an <code id=the-img-element:the-img-element-41><a href=#the-img-element>img</a></code> element means to run the following steps:</p>
@@ -18127,7 +18250,7 @@
<p>When asked to <dfn id=update-the-source-set>update the source set</dfn> for a given <code id=the-img-element:the-img-element-52><a href=#the-img-element>img</a></code> element <var>el</var>,
user agents must do the following:</p>
- <ol><li><p>Set <var>el</var>'s <a href=#source-set id=the-img-element:source-set-4>source set</a> to an empty <a href=#source-set id=the-img-element:source-set-5>source set</a>.<li><p>If <var>el</var> has a parent node and that is a <code id=the-img-element:the-picture-element-8><a href=#the-picture-element>picture</a></code> element,
+ <ol><li><p>Set <var>el</var>'s <a href=#source-set id=the-img-element:source-set-4>source set</a> to an empty <a href=#source-set id=the-img-element:source-set-5>source set</a>.<li><p>If <var>el</var> has a parent node and that is a <code id=the-img-element:the-picture-element-9><a href=#the-picture-element>picture</a></code> element,
let <var>elements</var> be an array containing <var>el</var>'s parent node's child elements, retaining relative order.
Otherwise, let <var>elements</var> be array containing only <var>el</var>.<li>
@@ -18138,16 +18261,16 @@
<p>If <var>child</var> is <var>el</var>:</p>
- <ol><li><p>If <var>child</var> has a <code id=the-img-element:attr-img-srcset-8><a href=#attr-img-srcset>srcset</a></code> attribute,
+ <ol><li><p>If <var>child</var> has a <code id=the-img-element:attr-img-srcset-9><a href=#attr-img-srcset>srcset</a></code> attribute,
<a href=#parse-a-srcset-attribute id=the-img-element:parse-a-srcset-attribute>parse <var>child</var>'s srcset attribute</a>
and let the returned <a href=#source-set id=the-img-element:source-set-6>source set</a> be <var>source set</var>.
Otherwise, let <var>source set</var> be an empty <a href=#source-set id=the-img-element:source-set-7>source set</a>.<li><p><a href=#parse-a-sizes-attribute id=the-img-element:parse-a-sizes-attribute>Parse <var>child</var>'s sizes attribute</a> and
- let <var>source set</var>'s <a href=#source-size-2 id=the-img-element:source-size-2-3>source size</a> be the returned value.<li><p>If <var>child</var> has a <code id=the-img-element:attr-img-src-9><a href=#attr-img-src>src</a></code> attribute
+ let <var>source set</var>'s <a href=#source-size-2 id=the-img-element:source-size-2-3>source size</a> be the returned value.<li><p>If <var>child</var> has a <code id=the-img-element:attr-img-src-10><a href=#attr-img-src>src</a></code> attribute
whose value is not the empty string
and <var>source set</var> does not contain an
<a href=#image-source id=the-img-element:image-source-3>image source</a> with a density descriptor value of 1,
and no <a href=#image-source id=the-img-element:image-source-4>image source</a> with a width descriptor,
- append <var>child</var>'s <code id=the-img-element:attr-img-src-10><a href=#attr-img-src>src</a></code> attribute value to <var>source set</var>.<li><p>Let <var>el</var>'s <a href=#source-set id=the-img-element:source-set-8>source set</a> be <var>source set</var>.<li><p>Abort this algorithm.</ol>
+ append <var>child</var>'s <code id=the-img-element:attr-img-src-11><a href=#attr-img-src>src</a></code> attribute value to <var>source set</var>.<li><p>Let <var>el</var>'s <a href=#source-set id=the-img-element:source-set-8>source set</a> be <var>source set</var>.<li><p>Abort this algorithm.</ol>
<li><p>If <var>child</var> is not a <code id=the-img-element:the-source-element-when-used-with-the-picture-element-7><a href=#the-source-element-when-used-with-the-picture-element>source</a></code> element,
continue to the next child.
@@ -18168,7 +18291,7 @@
its previous sibling <code id=the-img-element:the-source-element-when-used-with-the-picture-element-9><a href=#the-source-element-when-used-with-the-picture-element>source</a></code> elements
plus the <code id=the-img-element:the-img-element-54><a href=#the-img-element>img</a></code> element itself
for selecting an <a href=#image-source id=the-img-element:image-source-6>image source</a>, ignoring any other (invalid) elements,
- including other <code id=the-img-element:the-img-element-55><a href=#the-img-element>img</a></code> elements in the same <code id=the-img-element:the-picture-element-9><a href=#the-picture-element>picture</a></code> element,
+ including other <code id=the-img-element:the-img-element-55><a href=#the-img-element>img</a></code> elements in the same <code id=the-img-element:the-picture-element-10><a href=#the-picture-element>picture</a></code> element,
or <code id=the-img-element:the-source-element-when-used-with-the-picture-element-10><a href=#the-source-element-when-used-with-the-picture-element>source</a></code> elements that are following siblings
of the relevant <code id=the-img-element:the-img-element-56><a href=#the-img-element>img</a></code> element.</p>
@@ -18367,8 +18490,8 @@
<ol><li><p>Asynchronously <a href=#await-a-stable-state id=the-img-element:await-a-stable-state-2>await a stable state</a>. The <a href=#synchronous-section id=the-img-element:synchronous-section-5>synchronous section</a>
consists of all the remaining steps of this algorithm until the algorithm says the
- <a href=#synchronous-section id=the-img-element:synchronous-section-6>synchronous section</a> has ended. (Steps in <a href=#synchronous-section id=the-img-element:synchronous-section-7>synchronous sections</a> are marked with ⌛.)<li><p>⌛ If the <code id=the-img-element:the-img-element-58><a href=#the-img-element>img</a></code> element does not have a <code id=the-img-element:attr-img-srcset-9><a href=#attr-img-srcset>srcset</a></code> attribute specified and it either has no parent
- or it is not a <code id=the-img-element:the-picture-element-10><a href=#the-picture-element>picture</a></code> element, is not in the <a href=#img-all id=the-img-element:img-all-6>completely available</a> state, has image data whose resource type is
+ <a href=#synchronous-section id=the-img-element:synchronous-section-6>synchronous section</a> has ended. (Steps in <a href=#synchronous-section id=the-img-element:synchronous-section-7>synchronous sections</a> are marked with ⌛.)<li><p>⌛ If the <code id=the-img-element:the-img-element-58><a href=#the-img-element>img</a></code> element does not have a <code id=the-img-element:attr-img-srcset-10><a href=#attr-img-srcset>srcset</a></code> attribute specified and it either has no parent
+ or it is not a <code id=the-img-element:the-picture-element-11><a href=#the-picture-element>picture</a></code> element, is not in the <a href=#img-all id=the-img-element:img-all-6>completely available</a> state, has image data whose resource type is
<code id=the-img-element:multipart/x-mixed-replace-3><a href=#multipart/x-mixed-replace>multipart/x-mixed-replace</a></code>, or if its <a href=#update-the-image-data id=the-img-element:update-the-image-data-4>update the image data</a> algorithm is
running, then abort this algorithm.<li><p>⌛ Let <var>selected source</var> and <var>selected pixel
density</var> be the URL and pixel density that results from <a href=#select-an-image-source id=the-img-element:select-an-image-source-2>selecting an image source</a>, respectively.<li><p>⌛ If <var>selected source</var> is null, then abort these steps.<li><p>⌛ If <var>selected source</var> and <var>selected pixel
@@ -18389,7 +18512,7 @@
mentioned earlier), or if the image format is unsupported (as determined by applying the <a href=http://mimesniff.spec.whatwg.org/#rules-for-sniffing-images-specifically id=the-img-element:content-type-sniffing:-image-2 data-x-internal=content-type-sniffing:-image>image sniffing rules</a>, again as mentioned earlier),
or if the resource type is <code id=the-img-element:multipart/x-mixed-replace-4><a href=#multipart/x-mixed-replace>multipart/x-mixed-replace</a></code>, then abort these steps.</p>
- <p>Otherwise, wait for the <a href=#fetch id=the-img-element:fetch-11>fetch</a> algorithm to queue its last task, and then
+ <p>Otherwise, wait for the <a href=#fetch id=the-img-element:fetch-12>fetch</a> algorithm to queue its last task, and then
continue with these steps. The data obtained in this way is used in the steps below.</p>
<li>
@@ -18416,10 +18539,10 @@
<hr>
- <p>What an <code id=the-img-element:the-img-element-66><a href=#the-img-element>img</a></code> element represents depends on the <code id=the-img-element:attr-img-src-11><a href=#attr-img-src>src</a></code> attribute and the <code id=the-img-element:attr-img-alt-3><a href=#attr-img-alt>alt</a></code>
+ <p>What an <code id=the-img-element:the-img-element-66><a href=#the-img-element>img</a></code> element represents depends on the <code id=the-img-element:attr-img-src-12><a href=#attr-img-src>src</a></code> attribute and the <code id=the-img-element:attr-img-alt-3><a href=#attr-img-alt>alt</a></code>
attribute.</p>
- <dl class=switch><dt>If the <code id=the-img-element:attr-img-src-12><a href=#attr-img-src>src</a></code> attribute is set and the <code id=the-img-element:attr-img-alt-4><a href=#attr-img-alt>alt</a></code> attribute is set to the empty string<dd>
+ <dl class=switch><dt>If the <code id=the-img-element:attr-img-src-13><a href=#attr-img-src>src</a></code> attribute is set and the <code id=the-img-element:attr-img-alt-4><a href=#attr-img-alt>alt</a></code> attribute is set to the empty string<dd>
<p>The image is either decorative or supplemental to the rest of the content, redundant with
some other information in the document.</p>
@@ -18431,7 +18554,7 @@
the rendering. User agents may provide the user with a notification that an image is present but
has been omitted from the rendering.</p>
- <dt>If the <code id=the-img-element:attr-img-src-13><a href=#attr-img-src>src</a></code> attribute is set and the <code id=the-img-element:attr-img-alt-5><a href=#attr-img-alt>alt</a></code> attribute is set to a value that isn't empty<dd>
+ <dt>If the <code id=the-img-element:attr-img-src-14><a href=#attr-img-src>src</a></code> attribute is set and the <code id=the-img-element:attr-img-alt-5><a href=#attr-img-alt>alt</a></code> attribute is set to a value that isn't empty<dd>
<p>The image is a key part of the content; the <code id=the-img-element:attr-img-alt-6><a href=#attr-img-alt>alt</a></code> attribute
gives a textual equivalent or replacement for the image.</p>
@@ -18442,7 +18565,7 @@
<p>Otherwise, the element <a href=#represents id=the-img-element:represents-4>represents</a> the text given by the <code id=the-img-element:attr-img-alt-7><a href=#attr-img-alt>alt</a></code> attribute. User agents may provide the user with a notification
that an image is present but has been omitted from the rendering.</p>
- <dt>If the <code id=the-img-element:attr-img-src-14><a href=#attr-img-src>src</a></code> attribute is set and the <code id=the-img-element:attr-img-alt-8><a href=#attr-img-alt>alt</a></code> attribute is not<dd>
+ <dt>If the <code id=the-img-element:attr-img-src-15><a href=#attr-img-src>src</a></code> attribute is set and the <code id=the-img-element:attr-img-alt-8><a href=#attr-img-alt>alt</a></code> attribute is not<dd>
<p>The image might be a key part of the content, and there is no textual equivalent of the image
available.</p>
@@ -18466,7 +18589,7 @@
than <a href=#inter-element-whitespace id=the-img-element:inter-element-whitespace>inter-element whitespace</a> and the <code id=the-img-element:the-img-element-67><a href=#the-img-element>img</a></code> element, then the contents of the first such
<code id=the-img-element:the-figcaption-element-3><a href=#the-figcaption-element>figcaption</a></code> element are the caption information; abort these steps.<li><p>There is no caption information.</ol>
- <dt>If the <code id=the-img-element:attr-img-src-15><a href=#attr-img-src>src</a></code> attribute is not set and either the <code id=the-img-element:attr-img-alt-10><a href=#attr-img-alt>alt</a></code> attribute is set to the empty string or the <code id=the-img-element:attr-img-alt-11><a href=#attr-img-alt>alt</a></code> attribute is not set at all<dd>
+ <dt>If the <code id=the-img-element:attr-img-src-16><a href=#attr-img-src>src</a></code> attribute is not set and either the <code id=the-img-element:attr-img-alt-10><a href=#attr-img-alt>alt</a></code> attribute is set to the empty string or the <code id=the-img-element:attr-img-alt-11><a href=#attr-img-alt>alt</a></code> attribute is not set at all<dd>
<p>The element <a href=#represents id=the-img-element:represents-6>represents</a> nothing.</p>
@@ -18517,7 +18640,7 @@
can result in confusing behavior when used together with
<code id=the-img-element:the-source-element-when-used-with-the-picture-element-11><a href=#the-source-element-when-used-with-the-picture-element>source</a></code> elements with the
<code id=the-img-element:attr-picture-source-media-3><a href=#attr-picture-source-media>media</a></code> attribute specified
- in a <code id=the-img-element:the-picture-element-11><a href=#the-picture-element>picture</a></code> element.</p>
+ in a <code id=the-img-element:the-picture-element-12><a href=#the-picture-element>picture</a></code> element.</p>
<p>The <code id=the-img-element:the-img-element-69><a href=#the-img-element>img</a></code> element supports <a href=#dimension-attributes id=the-img-element:dimension-attributes>dimension
attributes</a>.</p>
@@ -18591,11 +18714,11 @@
<p>The IDL attribute <dfn id=dom-img-complete><code>complete</code></dfn> must return true if
any of the following conditions is true:</p>
- <ul class=brief><li>Both the <code id=the-img-element:attr-img-src-16><a href=#attr-img-src>src</a></code> attribute and the <code id=the-img-element:attr-img-srcset-10><a href=#attr-img-srcset>srcset</a></code> attribute are omitted.
+ <ul class=brief><li>Both the <code id=the-img-element:attr-img-src-17><a href=#attr-img-src>src</a></code> attribute and the <code id=the-img-element:attr-img-srcset-11><a href=#attr-img-srcset>srcset</a></code> attribute are omitted.
- <li>The <code id=the-img-element:attr-img-srcset-11><a href=#attr-img-srcset>srcset</a></code> attribute is omitted and the <code id=the-img-element:attr-img-src-17><a href=#attr-img-src>src</a></code> attribute's value is the empty string.
+ <li>The <code id=the-img-element:attr-img-srcset-12><a href=#attr-img-srcset>srcset</a></code> attribute is omitted and the <code id=the-img-element:attr-img-src-18><a href=#attr-img-src>src</a></code> attribute's value is the empty string.
- <li>The final <a href=#concept-task id=the-img-element:concept-task-11>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-17>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-8>networking task source</a> once the resource has been <a href=#fetch id=the-img-element:fetch-12>fetched</a> has been <a href=#queue-a-task id=the-img-element:queue-a-task-18>queued</a>.
+ <li>The final <a href=#concept-task id=the-img-element:concept-task-11>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-17>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-8>networking task source</a> once the resource has been <a href=#fetch id=the-img-element:fetch-13>fetched</a> has been <a href=#queue-a-task id=the-img-element:queue-a-task-18>queued</a>.
<li>The <code id=the-img-element:the-img-element-71><a href=#the-img-element>img</a></code> element is <a href=#img-all id=the-img-element:img-all-7>completely available</a>.
@@ -19562,8 +19685,6 @@
-
-
<h4 id=the-iframe-element>4.8.6 The <dfn><code>iframe</code></dfn> element</h4>
<dl class=element><dt><a href=#concept-element-categories id=the-iframe-element:concept-element-categories>Categories</a>:<dd><a href=#flow-content-2 id=the-iframe-element:flow-content-2>Flow content</a>.<dd><a href=#phrasing-content-2 id=the-iframe-element:phrasing-content-2>Phrasing content</a>.<dd><a href=#embedded-content-category id=the-iframe-element:embedded-content-category>Embedded content</a>.<dd><a href=#interactive-content-2 id=the-iframe-element:interactive-content-2>Interactive content</a>.<dd><a href=#palpable-content-2 id=the-iframe-element:palpable-content-2>Palpable content</a>.<dt><a href=#concept-element-contexts id=the-iframe-element:concept-element-contexts>Contexts in which this element can be used</a>:<dd>Where <a href=#embedded-content-category id=the-iframe-element:embedded-content-category-2>embedded content</a> is expected.<dt><a href=#concept-element-content-model id=the-iframe-element:concept-element-content-model>Content model</a>:<dd>Text th
at conforms to <a href=#iframe-content-model>the requirements given in the prose</a>.<dt><a href=#concept-element-tag-omission id=the-iframe-element:concept-element-tag-omission>Tag omission in text/html</a>:<dd>Neither tag is omissible.<dt><a href=#concept-element-attributes id=the-iframe-element:concept-element-attributes>Content attributes</a>:<dd><a href=#global-attributes id=the-iframe-element:global-attributes>Global attributes</a><dd><code id=the-iframe-element:attr-iframe-src><a href=#attr-iframe-src>src</a></code> — Address of the resource<dd><code id=the-iframe-element:attr-iframe-srcdoc><a href=#attr-iframe-srcdoc>srcdoc</a></code> — A document to render in the <code id=the-iframe-element:the-iframe-element><a href=#the-iframe-element>iframe</a></code><dd><code id=the-iframe-element:attr-iframe-name><a href=#attr-iframe-name>name</a></code> — Name of <a href=#nested-browsing-context id=the-iframe-element:nested-browsing-context>nested browsing context</a><dd
><code id=the-iframe-element:attr-iframe-sandbox><a href=#attr-iframe-sandbox>sandbox</a></code> — Security rules for nested content<dd><code id=the-iframe-element:attr-iframe-seamless><a href=#attr-iframe-seamless>seamless</a></code> — Whether to apply the document's styles to the nested content<dd><code id=the-iframe-element:attr-iframe-allowfullscreen><a href=#attr-iframe-allowfullscreen>allowfullscreen</a></code> — Whether to allow the <code id=the-iframe-element:the-iframe-element-2><a href=#the-iframe-element>iframe</a></code>'s contents to use <code id=the-iframe-element:dom-element-requestfullscreen><a href=#dom-element-requestfullscreen>requestFullscreen()</a></code><dd><code id=the-iframe-element:attr-dim-width><a href=#attr-dim-width>width</a></code> — Horizontal dimension<dd><code id=the-iframe-element:attr-dim-height><a href=#attr-dim-height>height</a></code> — Vertical dimension<dt><a href=#concept-element-dom id=the-iframe-element:concept-element-dom
>DOM interface</a>:<dd>
@@ -83596,7 +83717,7 @@
- <dl id=ref-list><dt id=refsABNF>[ABNF]<dd><cite><a href=http://www.ietf.org/rfc/std/std68.txt>Augmented BNF for Syntax Specifications: ABNF</a></cite>, D. Crocker, P. Overell. IETF.<dt id=refsABOUT>[ABOUT]<dd><cite><a href=http://tools.ietf.org/html/rfc6694>The 'about' URI scheme</a></cite>, S. Moonesamy. IETF.<dt id=refsARIA>[ARIA]<dd><cite><a href=http://www.w3.org/WAI/PF/aria/>Accessible Rich Internet Applications (WAI-ARIA)</a></cite>, J. Craig, M. Cooper, L. Pappas, R. Schwerdtfeger, L. Seeman. W3C.<dt id=refsARIAIMPL>[ARIAIMPL]<dd><cite><a href=http://www.w3.org/WAI/PF/aria-implementation/>WAI-ARIA 1.0 User Agent Implementation Guide</a></cite>, A. Snow-Weaver, M. Cooper. W3C.<dt id=refsATAG>[ATAG]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/ATAG20/>Authoring Tool Accessibility Guidelines (ATAG) 2.0</a></cite>, J. Richards, J. Spellman, J. Treviranus. W3C.<dt id=refsATOM>[ATOM]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc4287>The Atom Syn
dication Format</a></cite>, M. Nottingham, R. Sayre. IETF.<dt id=refsBCP47>[BCP47]<dd><cite><a href=http://www.ietf.org/rfc/bcp/bcp47.txt>Tags for Identifying Languages; Matching of Language Tags</a></cite>, A. Phillips, M. Davis. IETF.<dt id=refsBECSS>[BECSS]<dd><cite><a href=http://www.w3.org/TR/becss/>Behavioral Extensions to CSS</a></cite>, I. Hickson. W3C.<dt id=refsBEZIER>[BEZIER]<dd><cite>Courbes à poles</cite>, P. de Casteljau. INPI, 1959.<dt id=refsBIDI>[BIDI]<dd><cite><a href=http://www.unicode.org/reports/tr9/>UAX #9: Unicode Bidirectional Algorithm</a></cite>, M. Davis. Unicode Consortium.<dt id=refsBOCU1>[BOCU1]<dd>(Non-normative) <cite><a href=http://www.unicode.org/notes/tn6/>UTN #6: BOCU-1: MIME-Compatible Unicode Compression</a></cite>, M. Scherer, M. Davis. Unicode Consortium.<dt id=refsCESU8>[CESU8]<dd>(Non-normative) <cite><a href=http://www.unicode.org/reports/tr26/>UTR #26: Compatibility Encoding Scheme For UTF-16: 8-BIT (CESU-8)</a></cite>, T. Phipps.
Unicode Consortium.<dt id=refsCHARMOD>[CHARMOD]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/charmod/>Character Model for the World Wide Web 1.0: Fundamentals</a></cite>, M. Dürst, F. Yergeau, R. Ishida, M. Wolf, T. Texin. W3C.<dt id=refsCLDR>[CLDR]<dd><cite><a href=http://cldr.unicode.org/>Unicode Common Locale Data Repository</a></cite>. Unicode.<dt id=refsCOMPOSITE>[COMPOSITE]<dd><cite><a href=http://dev.w3.org/fxtf/compositing/>Compositing and Blending</a></cite>. R. Cabanier, N. Andronikos. W3C.<dt id=refsCOMPUTABLE>[COMPUTABLE]<dd>(Non-normative) <cite><a href=http://www.turingarchive.org/browse.php/B/12>On computable numbers, with an application to the Entscheidungsproblem</a></cite>, A. Turing. In <cite>Proceedings of the London Mathematical Society</cite>, series 2, volume 42, pages 230-265. London Mathematical Society, 1937.<dt id=refsCOOKIES>[COOKIES]<dd><cite><a href=http://tools.ietf.org/html/rfc6265>HTTP State Management Mechanism</a></cite>, A. Bart
h. IETF.<dt id=refsCP50220>[CP50220]<dd>(Non-normative) <cite><a href=http://www.iana.org/assignments/charset-reg/CP50220>CP50220</a></cite>, Y. Naruse. IANA.<dt id=refsCSP>[CSP]<dd>(Non-normative) <cite><a href=http://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html>Content Security Policy</a></cite>, B. Sterne, A. Barth. W3C.<dt id=refsCSS>[CSS]<dd><cite><a href=http://www.w3.org/TR/CSS2/>Cascading Style Sheets Level 2 Revision 1</a></cite>, B. Bos, T. Çelik, I. Hickson, H. Lie. W3C.<dt id=refsCSSANIMATIONS>[CSSANIMATIONS]<dd>(Non-normative) <cite><a href=http://dev.w3.org/csswg/css3-animations/>CSS Animations</a></cite>, D. Jackson, D. Hyatt, C. Marrin, S. Galineau, L. Baron. W3C.<dt id=refsCSSATTR>[CSSATTR]<dd><cite><a href=http://dev.w3.org/csswg/css-style-attr/>CSS Styling Attribute Syntax</a></cite>, T. Çelik, E. Etemad. W3C.<dt id=refsCSSCOLOR>[CSSCOLOR]<dd><cite><a href=http://dev.w3.org/csswg/css3-color/>CSS Color Module Level 3</a><
/cite>, T. Çelik, C. Lilley, L. Baron. W3C.<dt id=refsCSSFONTLOAD>[CSSFONTLOAD]<dd><cite><a href=http://dev.w3.org/csswg/css-font-loading/>CSS Font Loading</a></cite>, T. Atkins, J. Daggett. W3C.<dt id=refsCSSFONTS>[CSSFONTS]<dd><cite><a href=http://dev.w3.org/csswg/css3-fonts/>CSS Fonts</a></cite>, J. Daggett. W3C.<dt id=refsCSSGC>[CSSGC]<dd><cite><a href=http://dev.w3.org/csswg/css-content>CSS Generated Content</a></cite>, H. Lie, E. Etemad, I. Hickson. W3C.<dt id=refsCSSIMAGES>[CSSIMAGES]<dd><cite><a href=http://dev.w3.org/csswg/css-images/>CSS Image Values and Replaced Content Module</a></cite>, E. Etemad, T. Atkins. W3C.<dt id=refsCSSOM>[CSSOM]<dd><cite><a href=http://dev.w3.org/csswg/cssom/>Cascading Style Sheets Object Model (CSSOM)</a></cite>, S. Pieters, G. Adams. W3C.<dt id=refsCSSOMVIEW>[CSSOMVIEW]<dd><cite><a href=http://dev.w3.org/csswg/cssom-view/>CSSOM View Module</a></cite>, S. Pieters, G. Adams. W3C.<dt id=refsCSSRUBY>[CSSRUBY]<dd><cite><a href=http://dev.w
3.org/csswg/css3-ruby/>CSS3 Ruby Module</a></cite>, R. Ishida. W3C.<dt id=refsCSSTRANSITIONS>[CSSTRANSITIONS]<dd>(Non-normative) <cite><a href=http://dev.w3.org/csswg/css3-transitions/>CSS Transitions</a></cite>, D. Jackson, D. Hyatt, C. Marrin, L. Baron. W3C.<dt id=refsCSSUI>[CSSUI]<dd><cite><a href=http://dev.w3.org/csswg/css3-ui/>CSS3 Basic User Interface Module</a></cite>, T. Çelik. W3C.<dt id=refsCSSSCOPED>[CSSSCOPED]<dd><cite><a href=http://dev.w3.org/csswg/css-scoping/>CSS Scoping</a></cite>, T. Atkins, E. Etemad. W3C.<dt id=refsCSSSYNTAX>[CSSSYNTAX]<dd><cite><a href=http://dev.w3.org/csswg/css-syntax/>CSS Syntax</a></cite>, T. Atkins, S. Sapin. W3C.<dt id=refsCSSVALUES>[CSSVALUES]<dd><cite><a href=http://dev.w3.org/csswg/css3-values/>CSS3 Values and Units</a></cite>, H. Lie, T. Atkins, E. Etemad. W3C.<dt id=refsCSSWM>[CSSWM]<dd><cite><a href=http://dev.w3.org/csswg/css-writing-modes>CSS Writing Modes</a></cite>, E. Etemad, K. Ishii. W3C.<dt id=refsDASH>[DASH]<dd><ci
te><a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=57623">Dynamic adaptive streaming over HTTP (DASH)</a></cite>. ISO.<dt id=refsDOM>[DOM]<dd><cite><a href=http://dom.spec.whatwg.org/>DOM</a></cite>, A. van Kesteren, A. Gregor, Ms2ger. WHATWG.<dt id=refsDOMEVENTS>[DOMEVENTS]<dd><cite><a href=https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html>Document Object Model (DOM) Level 3 Events Specification</a></cite>, G. Kacmarcik, T. Leithead, J. Rossi, D. Schepers, B. Höhrmann, P. Le Hégaret, T. Pixley. W3C.<dt id=refsDOMPARSING>[DOMPARSING]<dd><cite><a href=http://domparsing.spec.whatwg.org/ lang=en-US>DOM Parsing and Serialization</a></cite>, Ms2ger. WHATWG.<dt id=refsDOT>[DOT]<dd>(Non-normative) <cite><a href=http://www.graphviz.org/content/dot-language>The DOT Language</a></cite>. Graphviz.<dt id=refsE163>[E163]<dd><cite>Recommendation E.163 — Numbering Plan for The International Telephone Service</cite>, CCITT Blue
Book, Fascicle II.2, pp. 128-134, November 1988.<dt id=refsECMA262>[ECMA262]<dd><cite><a href=http://people.mozilla.org/~jorendorff/es6-draft.html>ECMAScript Language Specification</a></cite>. ECMA.<dt id=refsEDITING>[EDITING]<dd><cite><a href=http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html>HTML Editing APIs</a></cite>, A. Gregor. W3C Editing APIs CG.<dt id=refsENCODING>[ENCODING]<dd><cite><a href=http://encoding.spec.whatwg.org/>Encoding</a></cite>, A. van Kesteren, J. Bell. WHATWG.<dt id=refsFETCH>[FETCH]<dd><cite><a href=http://fetch.spec.whatwg.org/>Fetch</a></cite>, A. van Kesteren. WHATWG.<dt id=refsFILEAPI>[FILEAPI]<dd><cite><a href=http://dev.w3.org/2006/webapi/FileAPI/>File API</a></cite>, A. Ranganathan. W3C.<dt id=refsFULLSCREEN>[FULLSCREEN]<dd><cite><a href=http://fullscreen.spec.whatwg.org/>Fullscreen</a></cite>, A. van Kesteren, T. Çelik. WHATWG.<dt id=refsGIF>[GIF]<dd>(Non-normative) <cite><a href=http://www.w3.org/Graphics/GIF/spec-gif89a.txt>Graphi
cs Interchange Format</a></cite>. CompuServe.<dt id=refsGRAPHICS>[GRAPHICS]<dd>(Non-normative) <cite>Computer Graphics: Principles and Practice in C</cite>, Second Edition, J. Foley, A. van Dam, S. Feiner, J. Hughes. Addison-Wesley. ISBN 0-201-84840-6.<dt id=refsGREGORIAN>[GREGORIAN]<dd>(Non-normative) <cite>Inter Gravissimas</cite>, A. Lilius, C. Clavius. Gregory XIII Papal Bull, February 1582.<dt id=refsHTTP>[HTTP]<dd><cite><a href=http://tools.ietf.org/html/rfc7230>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7231>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7232>Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7233>Hypertext Transfer Protocol (HTTP/1.1): R
ange Requests</a></cite>, R. Fielding, Y. Lafon, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7234>Hypertext Transfer Protocol (HTTP/1.1): Caching</a></cite>, R. Fielding, M. Nottingham, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7235>Hypertext Transfer Protocol (HTTP/1.1): Authentication</a></cite>, R. Fielding, J. Reschke. IETF.<dt id=refsHTTPS>[HTTPS]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc2818>HTTP Over TLS</a></cite>, E. Rescorla. IETF.<dt id=refsIANAPERMHEADERS>[IANAPERMHEADERS]<dd><cite><a href=http://www.iana.org/assignments/message-headers/perm-headers.html>Permanent Message Header Field Names</a></cite>. IANA.<dt id=refsISO3166>[ISO3166]<dd><cite><a href=http://www.iso.org/iso/home/standards/country_codes.htm>ISO 3166: Codes for the representation of names of countries and their subdivisions</a></cite>. ISO.<dt id=refsISO8601>[ISO8601]<dd>(Non-normative) <cite><a href="http://isotc.iso.org/livelink/l
ivelink/4021199/ISO_8601_2004_E.zip?func=doc.Fetch&nodeid=4021199">ISO8601: Data elements and interchange formats — Information interchange — Representation of dates and times</a></cite>. ISO.<dt id=refsJLREQ>[JLREQ]<dd><cite><a href=http://www.w3.org/TR/jlreq/>Requirements for Japanese Text Layout</a></cite>. W3C.<dt id=refsJPEG>[JPEG]<dd><cite><a href=http://www.w3.org/Graphics/JPEG/jfif3.pdf>JPEG File Interchange Format</a></cite>, E. Hamilton.<dt id=refsJSON>[JSON]<dd><cite><a href=http://tools.ietf.org/html/rfc4627>The application/json Media Type for JavaScript Object Notation (JSON)</a></cite>, D. Crockford. IETF.<dt id=refsMAILTO>[MAILTO]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc6068>The 'mailto' URI scheme</a></cite>, M. Duerst, L. Masinter, J. Zawinski. IETF.<dt id=refsMATHML>[MATHML]<dd><cite><a href=http://www.w3.org/TR/MathML/>Mathematical Markup Language (MathML)</a></cite>, D. Carlisle, P. Ion, R. Miner, N. Poppelier. W3C.<dt id=re
fsMEDIAFRAG>[MEDIAFRAG]<dd><cite><a href=http://www.w3.org/2008/WebVideo/Fragments/WD-media-fragments-spec/>Media Fragments URI</a></cite>, R. Troncy, E. Mannens, S. Pfeiffer, D. Van Deursen. W3C.<dt id=refsMFREL>[MFREL]<dd><cite><a href=http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions>Microformats Wiki: existing rel values</a></cite>. Microformats.<dt id=refsMIMESNIFF>[MIMESNIFF]<dd><cite><a href=http://mimesniff.spec.whatwg.org/>MIME Sniffing</a></cite>, G. Hemsley. WHATWG.<dt id=refsMPEG2>[MPEG2]<dd><cite>ISO/IEC 13818-1: Information technology — Generic coding of moving pictures and associated audio information: Systems</cite>. ISO/IEC.<dt id=refsMPEG4>[MPEG4]<dd><cite>ISO/IEC 14496-12: ISO base media file format</cite>. ISO/IEC.<dt id=refsMQ>[MQ]<dd><cite><a href=http://dev.w3.org/csswg/css3-mediaqueries/>Media Queries</a></cite>, H. Lie, T. Çelik, D. Glazman, A. van Kesteren. W3C.<dt id=refsNPAPI>[NPAPI]<dd>(Non-normative) <cite><a href=h
ttps://developer.mozilla.org/en/Gecko_Plugin_API_Reference>Gecko Plugin API Reference</a></cite>. Mozilla.<dt id=refsOGGSKELETONHEADERS>[OGGSKELETONHEADERS]<dd><cite><a href=http://wiki.xiph.org/SkeletonHeaders>SkeletonHeaders</a></cite>. Xiph.Org.<dt id=refsOPENSEARCH>[OPENSEARCH]<dd><cite><a href=http://www.opensearch.org/Specifications/OpenSearch/1.1#Autodiscovery_in_HTML.2FXHTML>Autodiscovery in HTML/XHTML</a></cite>. In <cite>OpenSearch 1.1 Draft 4</cite>, Section 4.6.2. OpenSearch.org.<dt id=refsORIGIN>[ORIGIN]<dd><cite><a href=http://tools.ietf.org/html/rfc6454>The Web Origin Concept</a></cite>, A. Barth. IETF.<dt id=refsPAGEVIS>[PAGEVIS]<dd>(Non-normative) <cite><a href=https://w3c.github.io/web-performance/specs/PageVisibility/Overview.html>Page Visibility</a></cite>, J. Mann, A. Jain. W3C.<dt id=refsPDF>[PDF]<dd>(Non-normative) <cite><a href=http://www.adobe.com/devnet/acrobat/pdfs/PDF32000_2008.pdf>Document management — Portable document format — Part 1: PDF</
a></cite>. ISO.<dt id=refsPINGBACK>[PINGBACK]<dd><cite><a href=http://www.hixie.ch/specs/pingback/pingback>Pingback 1.0</a></cite>, S. Langridge, I. Hickson.<dt id=refsPNG>[PNG]<dd><cite><a href=http://www.w3.org/TR/PNG/>Portable Network Graphics (PNG) Specification</a></cite>, D. Duce. W3C.<dt id=refsPOINTERLOCK>[POINTERLOCK]<dd><cite><a href=http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html>Pointer Lock</a></cite>, V. Scheib. W3C.<dt id=refsPPUTF8>[PPUTF8]<dd>(Non-normative) <cite><a href=http://www.sw.it.aoyama.ac.jp/2012/pub/IUC11-UTF-8.pdf>The Properties and Promises of UTF-8</a></cite>, M. Dürst. University of Zürich. In <cite>Proceedings of the 11th International Unicode Conference</cite>.<dt id=refsPSL>[PSL]<dd><cite><a href=http://publicsuffix.org/>Public Suffix List</a></cite>.
+ <dl id=ref-list><dt id=refsABNF>[ABNF]<dd><cite><a href=http://www.ietf.org/rfc/std/std68.txt>Augmented BNF for Syntax Specifications: ABNF</a></cite>, D. Crocker, P. Overell. IETF.<dt id=refsABOUT>[ABOUT]<dd><cite><a href=http://tools.ietf.org/html/rfc6694>The 'about' URI scheme</a></cite>, S. Moonesamy. IETF.<dt id=refsAPNG>[APNG]<dd>(Non-normative) <cite><a href=https://wiki.mozilla.org/APNG_Specification>APNG Specification</a></cite>. S. Parmenter, V. Vukicevic, A. Smith. Mozilla.<dt id=refsARIA>[ARIA]<dd><cite><a href=http://www.w3.org/WAI/PF/aria/>Accessible Rich Internet Applications (WAI-ARIA)</a></cite>, J. Craig, M. Cooper, L. Pappas, R. Schwerdtfeger, L. Seeman. W3C.<dt id=refsARIAIMPL>[ARIAIMPL]<dd><cite><a href=http://www.w3.org/WAI/PF/aria-implementation/>WAI-ARIA 1.0 User Agent Implementation Guide</a></cite>, A. Snow-Weaver, M. Cooper. W3C.<dt id=refsATAG>[ATAG]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/ATAG20/>Authoring Tool Accessibility Guide
lines (ATAG) 2.0</a></cite>, J. Richards, J. Spellman, J. Treviranus. W3C.<dt id=refsATOM>[ATOM]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc4287>The Atom Syndication Format</a></cite>, M. Nottingham, R. Sayre. IETF.<dt id=refsBCP47>[BCP47]<dd><cite><a href=http://www.ietf.org/rfc/bcp/bcp47.txt>Tags for Identifying Languages; Matching of Language Tags</a></cite>, A. Phillips, M. Davis. IETF.<dt id=refsBECSS>[BECSS]<dd><cite><a href=http://www.w3.org/TR/becss/>Behavioral Extensions to CSS</a></cite>, I. Hickson. W3C.<dt id=refsBEZIER>[BEZIER]<dd><cite>Courbes à poles</cite>, P. de Casteljau. INPI, 1959.<dt id=refsBIDI>[BIDI]<dd><cite><a href=http://www.unicode.org/reports/tr9/>UAX #9: Unicode Bidirectional Algorithm</a></cite>, M. Davis. Unicode Consortium.<dt id=refsBOCU1>[BOCU1]<dd>(Non-normative) <cite><a href=http://www.unicode.org/notes/tn6/>UTN #6: BOCU-1: MIME-Compatible Unicode Compression</a></cite>, M. Scherer, M. Davis. Unicode Consortium.<dt id
=refsCESU8>[CESU8]<dd>(Non-normative) <cite><a href=http://www.unicode.org/reports/tr26/>UTR #26: Compatibility Encoding Scheme For UTF-16: 8-BIT (CESU-8)</a></cite>, T. Phipps. Unicode Consortium.<dt id=refsCHARMOD>[CHARMOD]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/charmod/>Character Model for the World Wide Web 1.0: Fundamentals</a></cite>, M. Dürst, F. Yergeau, R. Ishida, M. Wolf, T. Texin. W3C.<dt id=refsCLDR>[CLDR]<dd><cite><a href=http://cldr.unicode.org/>Unicode Common Locale Data Repository</a></cite>. Unicode.<dt id=refsCOMPOSITE>[COMPOSITE]<dd><cite><a href=http://dev.w3.org/fxtf/compositing/>Compositing and Blending</a></cite>. R. Cabanier, N. Andronikos. W3C.<dt id=refsCOMPUTABLE>[COMPUTABLE]<dd>(Non-normative) <cite><a href=http://www.turingarchive.org/browse.php/B/12>On computable numbers, with an application to the Entscheidungsproblem</a></cite>, A. Turing. In <cite>Proceedings of the London Mathematical Society</cite>, series 2, volume 42, page
s 230-265. London Mathematical Society, 1937.<dt id=refsCOOKIES>[COOKIES]<dd><cite><a href=http://tools.ietf.org/html/rfc6265>HTTP State Management Mechanism</a></cite>, A. Barth. IETF.<dt id=refsCP50220>[CP50220]<dd>(Non-normative) <cite><a href=http://www.iana.org/assignments/charset-reg/CP50220>CP50220</a></cite>, Y. Naruse. IANA.<dt id=refsCSP>[CSP]<dd>(Non-normative) <cite><a href=http://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html>Content Security Policy</a></cite>, B. Sterne, A. Barth. W3C.<dt id=refsCSS>[CSS]<dd><cite><a href=http://www.w3.org/TR/CSS2/>Cascading Style Sheets Level 2 Revision 1</a></cite>, B. Bos, T. Çelik, I. Hickson, H. Lie. W3C.<dt id=refsCSSANIMATIONS>[CSSANIMATIONS]<dd>(Non-normative) <cite><a href=http://dev.w3.org/csswg/css3-animations/>CSS Animations</a></cite>, D. Jackson, D. Hyatt, C. Marrin, S. Galineau, L. Baron. W3C.<dt id=refsCSSATTR>[CSSATTR]<dd><cite><a href=http://dev.w3.org/csswg/css-style-attr/>CSS
Styling Attribute Syntax</a></cite>, T. Çelik, E. Etemad. W3C.<dt id=refsCSSCOLOR>[CSSCOLOR]<dd><cite><a href=http://dev.w3.org/csswg/css3-color/>CSS Color Module Level 3</a></cite>, T. Çelik, C. Lilley, L. Baron. W3C.<dt id=refsCSSFONTLOAD>[CSSFONTLOAD]<dd><cite><a href=http://dev.w3.org/csswg/css-font-loading/>CSS Font Loading</a></cite>, T. Atkins, J. Daggett. W3C.<dt id=refsCSSFONTS>[CSSFONTS]<dd><cite><a href=http://dev.w3.org/csswg/css3-fonts/>CSS Fonts</a></cite>, J. Daggett. W3C.<dt id=refsCSSGC>[CSSGC]<dd><cite><a href=http://dev.w3.org/csswg/css-content>CSS Generated Content</a></cite>, H. Lie, E. Etemad, I. Hickson. W3C.<dt id=refsCSSIMAGES>[CSSIMAGES]<dd><cite><a href=http://dev.w3.org/csswg/css-images/>CSS Image Values and Replaced Content Module</a></cite>, E. Etemad, T. Atkins. W3C.<dt id=refsCSSOM>[CSSOM]<dd><cite><a href=http://dev.w3.org/csswg/cssom/>Cascading Style Sheets Object Model (CSSOM)</a></cite>, S. Pieters, G. Adams. W3C.<dt id=refsCSSOMVIEW>[C
SSOMVIEW]<dd><cite><a href=http://dev.w3.org/csswg/cssom-view/>CSSOM View Module</a></cite>, S. Pieters, G. Adams. W3C.<dt id=refsCSSRUBY>[CSSRUBY]<dd><cite><a href=http://dev.w3.org/csswg/css3-ruby/>CSS3 Ruby Module</a></cite>, R. Ishida. W3C.<dt id=refsCSSTRANSITIONS>[CSSTRANSITIONS]<dd>(Non-normative) <cite><a href=http://dev.w3.org/csswg/css3-transitions/>CSS Transitions</a></cite>, D. Jackson, D. Hyatt, C. Marrin, L. Baron. W3C.<dt id=refsCSSUI>[CSSUI]<dd><cite><a href=http://dev.w3.org/csswg/css3-ui/>CSS3 Basic User Interface Module</a></cite>, T. Çelik. W3C.<dt id=refsCSSSCOPED>[CSSSCOPED]<dd><cite><a href=http://dev.w3.org/csswg/css-scoping/>CSS Scoping</a></cite>, T. Atkins, E. Etemad. W3C.<dt id=refsCSSSYNTAX>[CSSSYNTAX]<dd><cite><a href=http://dev.w3.org/csswg/css-syntax/>CSS Syntax</a></cite>, T. Atkins, S. Sapin. W3C.<dt id=refsCSSVALUES>[CSSVALUES]<dd><cite><a href=http://dev.w3.org/csswg/css3-values/>CSS3 Values and Units</a></cite>, H. Lie, T. Atkins, E. Ete
mad. W3C.<dt id=refsCSSWM>[CSSWM]<dd><cite><a href=http://dev.w3.org/csswg/css-writing-modes>CSS Writing Modes</a></cite>, E. Etemad, K. Ishii. W3C.<dt id=refsDASH>[DASH]<dd><cite><a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=57623">Dynamic adaptive streaming over HTTP (DASH)</a></cite>. ISO.<dt id=refsDOM>[DOM]<dd><cite><a href=http://dom.spec.whatwg.org/>DOM</a></cite>, A. van Kesteren, A. Gregor, Ms2ger. WHATWG.<dt id=refsDOMEVENTS>[DOMEVENTS]<dd><cite><a href=https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html>Document Object Model (DOM) Level 3 Events Specification</a></cite>, G. Kacmarcik, T. Leithead, J. Rossi, D. Schepers, B. Höhrmann, P. Le Hégaret, T. Pixley. W3C.<dt id=refsDOMPARSING>[DOMPARSING]<dd><cite><a href=http://domparsing.spec.whatwg.org/ lang=en-US>DOM Parsing and Serialization</a></cite>, Ms2ger. WHATWG.<dt id=refsDOT>[DOT]<dd>(Non-normative) <cite><a href=http://www.graphviz.org/content/dot-
language>The DOT Language</a></cite>. Graphviz.<dt id=refsE163>[E163]<dd><cite>Recommendation E.163 — Numbering Plan for The International Telephone Service</cite>, CCITT Blue Book, Fascicle II.2, pp. 128-134, November 1988.<dt id=refsECMA262>[ECMA262]<dd><cite><a href=http://people.mozilla.org/~jorendorff/es6-draft.html>ECMAScript Language Specification</a></cite>. ECMA.<dt id=refsEDITING>[EDITING]<dd><cite><a href=http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html>HTML Editing APIs</a></cite>, A. Gregor. W3C Editing APIs CG.<dt id=refsENCODING>[ENCODING]<dd><cite><a href=http://encoding.spec.whatwg.org/>Encoding</a></cite>, A. van Kesteren, J. Bell. WHATWG.<dt id=refsFETCH>[FETCH]<dd><cite><a href=http://fetch.spec.whatwg.org/>Fetch</a></cite>, A. van Kesteren. WHATWG.<dt id=refsFILEAPI>[FILEAPI]<dd><cite><a href=http://dev.w3.org/2006/webapi/FileAPI/>File API</a></cite>, A. Ranganathan. W3C.<dt id=refsFULLSCREEN>[FULLSCREEN]<dd><cite><a href=http://fullscreen.spec.
whatwg.org/>Fullscreen</a></cite>, A. van Kesteren, T. Çelik. WHATWG.<dt id=refsGIF>[GIF]<dd>(Non-normative) <cite><a href=http://www.w3.org/Graphics/GIF/spec-gif89a.txt>Graphics Interchange Format</a></cite>. CompuServe.<dt id=refsGRAPHICS>[GRAPHICS]<dd>(Non-normative) <cite>Computer Graphics: Principles and Practice in C</cite>, Second Edition, J. Foley, A. van Dam, S. Feiner, J. Hughes. Addison-Wesley. ISBN 0-201-84840-6.<dt id=refsGREGORIAN>[GREGORIAN]<dd>(Non-normative) <cite>Inter Gravissimas</cite>, A. Lilius, C. Clavius. Gregory XIII Papal Bull, February 1582.<dt id=refsHTTP>[HTTP]<dd><cite><a href=http://tools.ietf.org/html/rfc7230>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7231>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7232>Hypertext Transfer P
rotocol (HTTP/1.1): Conditional Requests</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7233>Hypertext Transfer Protocol (HTTP/1.1): Range Requests</a></cite>, R. Fielding, Y. Lafon, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7234>Hypertext Transfer Protocol (HTTP/1.1): Caching</a></cite>, R. Fielding, M. Nottingham, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7235>Hypertext Transfer Protocol (HTTP/1.1): Authentication</a></cite>, R. Fielding, J. Reschke. IETF.<dt id=refsHTTPS>[HTTPS]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc2818>HTTP Over TLS</a></cite>, E. Rescorla. IETF.<dt id=refsIANAPERMHEADERS>[IANAPERMHEADERS]<dd><cite><a href=http://www.iana.org/assignments/message-headers/perm-headers.html>Permanent Message Header Field Names</a></cite>. IANA.<dt id=refsISO3166>[ISO3166]<dd><cite><a href=http://www.iso.org/iso/home/standards/country_codes.htm>ISO 3166: Codes f
or the representation of names of countries and their subdivisions</a></cite>. ISO.<dt id=refsISO8601>[ISO8601]<dd>(Non-normative) <cite><a href="http://isotc.iso.org/livelink/livelink/4021199/ISO_8601_2004_E.zip?func=doc.Fetch&nodeid=4021199">ISO8601: Data elements and interchange formats — Information interchange — Representation of dates and times</a></cite>. ISO.<dt id=refsJLREQ>[JLREQ]<dd><cite><a href=http://www.w3.org/TR/jlreq/>Requirements for Japanese Text Layout</a></cite>. W3C.<dt id=refsJPEG>[JPEG]<dd><cite><a href=http://www.w3.org/Graphics/JPEG/jfif3.pdf>JPEG File Interchange Format</a></cite>, E. Hamilton.<dt id=refsJSON>[JSON]<dd><cite><a href=http://tools.ietf.org/html/rfc4627>The application/json Media Type for JavaScript Object Notation (JSON)</a></cite>, D. Crockford. IETF.<dt id=refsMAILTO>[MAILTO]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc6068>The 'mailto' URI scheme</a></cite>, M. Duerst, L. Masinter, J. Zawinski. IETF.<dt
id=refsMATHML>[MATHML]<dd><cite><a href=http://www.w3.org/TR/MathML/>Mathematical Markup Language (MathML)</a></cite>, D. Carlisle, P. Ion, R. Miner, N. Poppelier. W3C.<dt id=refsMEDIAFRAG>[MEDIAFRAG]<dd><cite><a href=http://www.w3.org/2008/WebVideo/Fragments/WD-media-fragments-spec/>Media Fragments URI</a></cite>, R. Troncy, E. Mannens, S. Pfeiffer, D. Van Deursen. W3C.<dt id=refsMFREL>[MFREL]<dd><cite><a href=http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions>Microformats Wiki: existing rel values</a></cite>. Microformats.<dt id=refsMIMESNIFF>[MIMESNIFF]<dd><cite><a href=http://mimesniff.spec.whatwg.org/>MIME Sniffing</a></cite>, G. Hemsley. WHATWG.<dt id=refsMNG>[MNG]<dd><cite><a href=http://www.libpng.org/pub/mng/spec/>MNG (Multiple-image Network Graphics) Format</a></cite>. G. Randers-Pehrson.<dt id=refsMPEG2>[MPEG2]<dd><cite>ISO/IEC 13818-1: Information technology — Generic coding of moving pictures and associated audio information: Systems</
cite>. ISO/IEC.<dt id=refsMPEG4>[MPEG4]<dd><cite>ISO/IEC 14496-12: ISO base media file format</cite>. ISO/IEC.<dt id=refsMQ>[MQ]<dd><cite><a href=http://dev.w3.org/csswg/css3-mediaqueries/>Media Queries</a></cite>, H. Lie, T. Çelik, D. Glazman, A. van Kesteren. W3C.<dt id=refsNPAPI>[NPAPI]<dd>(Non-normative) <cite><a href=https://developer.mozilla.org/en/Gecko_Plugin_API_Reference>Gecko Plugin API Reference</a></cite>. Mozilla.<dt id=refsOGGSKELETONHEADERS>[OGGSKELETONHEADERS]<dd><cite><a href=http://wiki.xiph.org/SkeletonHeaders>SkeletonHeaders</a></cite>. Xiph.Org.<dt id=refsOPENSEARCH>[OPENSEARCH]<dd><cite><a href=http://www.opensearch.org/Specifications/OpenSearch/1.1#Autodiscovery_in_HTML.2FXHTML>Autodiscovery in HTML/XHTML</a></cite>. In <cite>OpenSearch 1.1 Draft 4</cite>, Section 4.6.2. OpenSearch.org.<dt id=refsORIGIN>[ORIGIN]<dd><cite><a href=http://tools.ietf.org/html/rfc6454>The Web Origin Concept</a></cite>, A. Barth. IETF.<dt id=refsPAGEVIS>[PAGEVIS]<dd>(Non-
normative) <cite><a href=https://w3c.github.io/web-performance/specs/PageVisibility/Overview.html>Page Visibility</a></cite>, J. Mann, A. Jain. W3C.<dt id=refsPDF>[PDF]<dd>(Non-normative) <cite><a href=http://www.adobe.com/devnet/acrobat/pdfs/PDF32000_2008.pdf>Document management — Portable document format — Part 1: PDF</a></cite>. ISO.<dt id=refsPINGBACK>[PINGBACK]<dd><cite><a href=http://www.hixie.ch/specs/pingback/pingback>Pingback 1.0</a></cite>, S. Langridge, I. Hickson.<dt id=refsPNG>[PNG]<dd><cite><a href=http://www.w3.org/TR/PNG/>Portable Network Graphics (PNG) Specification</a></cite>, D. Duce. W3C.<dt id=refsPOINTERLOCK>[POINTERLOCK]<dd><cite><a href=http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html>Pointer Lock</a></cite>, V. Scheib. W3C.<dt id=refsPPUTF8>[PPUTF8]<dd>(Non-normative) <cite><a href=http://www.sw.it.aoyama.ac.jp/2012/pub/IUC11-UTF-8.pdf>The Properties and Promises of UTF-8</a></cite>, M. Dürst. University of Zürich. In <cite>Procee
dings of the 11th International Unicode Conference</cite>.<dt id=refsPSL>[PSL]<dd><cite><a href=http://publicsuffix.org/>Public Suffix List</a></cite>.
Mozilla Foundation.<dt id=refsRFC1034>[RFC1034]<dd><cite><a href=http://tools.ietf.org/html/rfc1034>Domain Names - Concepts and Facilities</a></cite>, P. Mockapetris. IETF, November 1987.<dt id=refsRFC1123>[RFC1123]<dd><cite><a href=http://tools.ietf.org/html/rfc1123>Requirements for Internet Hosts -- Application and Support</a></cite>, R. Braden. IETF, October 1989.<dt id=refsRFC1345>[RFC1345]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1345>Character Mnemonics and Character Sets</a></cite>, K. Simonsen. IETF.<dt id=refsRFC1468>[RFC1468]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1468>Japanese Character Encoding for Internet Messages</a></cite>, J. Murai, M. Crispin, E. van der Poel. IETF.<dt id=refsRFC1554>[RFC1554]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1554>ISO-2022-JP-2: Multilingual Extension of ISO-2022-JP</a></cite>, M. Ohta, K. Handa. IETF.<dt id=refsRFC1557>[RFC1557]<dd>(Non-normative) <cite><a href=
http://tools.ietf.org/html/rfc1557>Korean Character Encoding for Internet Messages</a></cite>, U. Choi, K. Chon, H. Park. IETF.<dt id=refsRFC1842>[RFC1842]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1842>ASCII Printable Characters-Based Chinese Character Encoding for Internet Messages</a></cite>, Y. Wei, Y. Zhang, J. Li, J. Ding, Y. Jiang. IETF.<dt id=refsRFC1922>[RFC1922]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1922>Chinese Character Encoding for Internet Messages</a></cite>, HF. Zhu, DY. Hu, ZG. Wang, TC. Kao, WCH. Chang, M. Crispin. IETF.<dt id=refsRFC2046>[RFC2046]<dd><cite><a href=http://tools.ietf.org/html/rfc2046>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</a></cite>, N. Freed, N. Borenstein. IETF.<dt id=refsRFC2119>[RFC2119]<dd><cite><a href=http://tools.ietf.org/html/rfc2119>Key words for use in RFCs to Indicate Requirement Levels</a></cite>, S. Bradner. IETF.<dt id=refsRFC2237>[RFC2237]<dd>(Non-norm
ative) <cite><a href=http://tools.ietf.org/html/rfc2237>Japanese Character Encoding for Internet Messages</a></cite>, K. Tamaru. IETF.<dt id=refsRFC2313>[RFC2313]<dd><cite><a href=http://tools.ietf.org/html/rfc2313>PKCS #1: RSA Encryption</a></cite>, B. Kaliski. IETF.<dt id=refsRFC2318>[RFC2318]<dd><cite><a href=http://tools.ietf.org/html/rfc2318>The text/css Media Type</a></cite>, H. Lie, B. Bos, C. Lilley. IETF.<dt id=refsRFC2388>[RFC2388]<dd><cite><a href=http://tools.ietf.org/html/rfc2388>Returning Values from Forms: multipart/form-data</a></cite>, L. Masinter. IETF.<dt id=refsRFC2397>[RFC2397]<dd><cite><a href=http://tools.ietf.org/html/rfc2397>The "data" URL scheme</a></cite>, L. Masinter. IETF.<dt id=refsRFC2445>[RFC2445]<dd><cite><a href=http://tools.ietf.org/html/rfc2445>Internet Calendaring and Scheduling Core Object Specification (iCalendar)</a></cite>, F. Dawson, D. Stenerson. IETF.<dt id=refsRFC2483>[RFC2483]<dd><cite><a href=http://tools.ietf.org/html/rfc2483>U
RI Resolution Services Necessary for URN Resolution</a></cite>, M. Mealling, R. Daniel. IETF.<dt id=refsRFC3676>[RFC3676]<dd><cite><a href=http://tools.ietf.org/html/rfc3676>The Text/Plain Format and DelSp Parameters</a></cite>, R. Gellens. IETF.<dt id=refsRFC3023>[RFC3023]<dd><cite><a href=http://tools.ietf.org/html/rfc3023>XML Media Types</a></cite>, M. Murata, S. St. Laurent, D. Kohn. IETF.<dt id=refsRFC3279>[RFC3279]<dd><cite><a href=http://tools.ietf.org/html/rfc3279>Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</a></cite>, W. Polk, R. Housley, L. Bassham. IETF.<dt id=refsRFC3490>[RFC3490]<dd><cite><a href=http://tools.ietf.org/html/rfc3490>Internationalizing Domain Names in Applications (IDNA)</a></cite>, P. Faltstrom, P. Hoffman, A. Costello. IETF.<dt id=refsRFC3864>[RFC3864]<dd><cite><a href=http://tools.ietf.org/html/rfc3864>Registration Procedures for Message Header Fields</a></
cite>, G. Klyne, M. Nottingham, J. Mogul. IETF.<dt id=refsRFC4281>[RFC4281]<dd><cite><a href=http://tools.ietf.org/html/rfc4281>The Codecs Parameter for "Bucket" Media Types</a></cite>, R. Gellens, D. Singer, P. Frojdh. IETF.<dt id=refsRFC4329>[RFC4329]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc4329>Scripting Media Types</a></cite>, B. Höhrmann. IETF.<dt id=refsRFC4395>[RFC4395]<dd><cite><a href=http://tools.ietf.org/html/rfc4395>Guidelines and Registration Procedures for New URI Schemes</a></cite>, T. Hansen, T. Hardie, L. Masinter. IETF.<dt id=refsRFC4648>[RFC4648]<dd><cite><a href=http://tools.ietf.org/html/rfc4648>The Base16, Base32, and Base64 Data Encodings</a></cite>, S. Josefsson. IETF.<dt id=refsRFC5280>[RFC5280]<dd><cite><a href=http://tools.ietf.org/html/rfc5280>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</a></cite>, D. Cooper, S. Santesson, S. Farrell, S. Boeyen, R. Housley, W. Polk. IET
F.<dt id=refsRFC5322>[RFC5322]<dd><cite><a href=http://tools.ietf.org/html/rfc5322>Internet Message Format</a></cite>, P. Resnick. IETF.<dt id=refsSMS>[SMS]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc5724>URI Scheme for Global System for Mobile Communications (GSM) Short Message Service (SMS)</a></cite>, E. Wilde, A. Vaha-Sipila. IETF.<dt id=refsRFC6266>[RFC6266]<dd><cite><a href=http://tools.ietf.org/html/rfc6266>Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)</a></cite>, J. Reschke. IETF.<dt id=refsRFC6350>[RFC6350]<dd><cite><a href=http://tools.ietf.org/html/rfc6350>vCard Format Specification</a></cite>, S. Perreault. IETF.<dt id=refsSCSU>[SCSU]<dd>(Non-normative) <cite><a href=http://www.unicode.org/reports/tr6/>UTR #6: A Standard Compression Scheme For Unicode</a></cite>, M. Wolf, K. Whistler, C. Wicksteed, M. Davis, A. Freytag, M. Scherer. Unicode Consortium.<dt id=refsSELECTORS>[SELECTORS]<dd><cite><a href=http
://dev.w3.org/csswg/selectors/>Selectors</a></cite>, E. Etemad, T. Çelik, D. Glazman, I. Hickson, P. Linss, J. Williams. W3C.<dt id=refsSRGB>[SRGB]<dd><cite lang=en-GB><a href="http://webstore.iec.ch/webstore/webstore.nsf/artnum/025408!OpenDocument&Click=">IEC 61966-2-1: Multimedia systems and equipment — Colour measurement and management — Part 2-1: Colour management — Default RGB colour space — sRGB</a></cite>. IEC.<dt id=refsSVG>[SVG]<dd><cite><a href=http://www.w3.org/TR/SVGTiny12/>Scalable Vector Graphics (SVG) Tiny 1.2 Specification</a></cite>, O. Andersson, R. Berjon, E. Dahlström, A. Emmons, J. Ferraiolo, A. Grasso, V. Hardy, S. Hayman, D. Jackson, C. Lilley, C. McCormack, A. Neumann, C. Northway, A. Quint, N. Ramani, D. Schepers, A. Shellshear. W3C.<dt id=refsTOR>[TOR]<dd>(Non-normative) <cite><a href=https://www.torproject.org/>Tor</a></cite>.<dt id=refsTOUCH>[TOUCH]<dd><cite><a href=https://dvcs.w3.org/hg/webevents/raw-file/v1/touchevents.html>Touch
Events</a></cite>, D. Schepers, S. Moon, M. Brubeck, A. Barstow. W3C.<dt id=refsTZDATABASE>[TZDATABASE]<dd>(Non-normative) <cite><a href=http://www.iana.org/time-zones>Time Zone Database</a></cite>. IANA.<dt id=refsUAAG>[UAAG]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/UAAG20/>User Agent Accessibility Guidelines (UAAG) 2.0</a></cite>, J. Allan, K. Ford, J. Richards, J. Spellman. W3C.<dt id=refsUCA>[UCA]<dd><cite><a href=http://www.unicode.org/reports/tr10/>UTR #10: Unicode Collation Algorithm</a></cite>, M. Davis, K. Whistler. Unicode Consortium.<dt id=refsUNICODE>[UNICODE]<dd><cite><a href=http://www.unicode.org/versions/>The Unicode Standard</a></cite>. Unicode Consortium.<dt id=refsUNIVCHARDET>[UNIVCHARDET]<dd>(Non-normative) <cite><a href=http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html>A composite approach to language/encoding detection</a></cite>, S. Li, K. Momoi. Netscape. In <cite>Proceedings of the 19th International Unicode Conference<
/cite>.<dt id=refsURL>[URL]<dd><cite><a href=http://url.spec.whatwg.org/>URL</a></cite>, A. van Kesteren. WHATWG.<dt id=refsURN>[URN]<dd><cite><a href=http://tools.ietf.org/html/rfc2141>URN Syntax</a></cite>, R. Moats. IETF.<dt id=refsUTF7>[UTF7]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc2152>UTF-7: A Mail-Safe Transformation Format of Unicode</a></cite>, D. Goldsmith, M. Davis. IETF.<dt id=refsUTF8DET>[UTF8DET]<dd>(Non-normative) <cite><a href=http://www.w3.org/International/questions/qa-forms-utf-8>Multilingual form encoding</a></cite>, M. Dürst. W3C.<dt id=refsUTR36>[UTR36]<dd>(Non-normative) <cite><a href=http://www.unicode.org/reports/tr36/>UTR #36: Unicode Security Considerations</a></cite>, M. Davis, M. Suignard. Unicode Consortium.<dt id=refsWCAG>[WCAG]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/WCAG20/>Web Content Accessibility Guidelines (WCAG) 2.0</a></cite>, B. Caldwell, M. Cooper, L. Reid, G. Vanderheiden. W3C.<dt id=refsWEBGL>[W
EBGL]<dd><cite><a href=http://www.khronos.org/registry/webgl/specs/latest/>WebGL Specification</a></cite>, D. Jackson. Khronos Group.<dt id=refsWEBIDL>[WEBIDL]<dd><cite><a href=http://dev.w3.org/2006/webapi/WebIDL/>Web IDL</a></cite>, C. McCormack. W3C.<dt id=refsWEBLINK>[WEBLINK]<dd><cite><a href=http://tools.ietf.org/html/rfc5988>Web Linking</a></cite>, M. Nottingham. IETF.<dt id=refsWEBMCG>[WEBMCG]<dd><cite><a href=http://www.webmproject.org/code/specs/container/>WebM Container Guidelines</a></cite>. The WebM Project.<dt id=refsWEBVTT>[WEBVTT]<dd><cite><a href=http://dev.w3.org/html5/webvtt/>WebVTT</a></cite>, I. Hickson. W3C.<dt id=refsWHATWGWIKI>[WHATWGWIKI]<dd><cite><a href=http://wiki.whatwg.org/>The WHATWG Wiki</a></cite>. WHATWG.<dt id=refsWSP>[WSP]<dd><cite><a href=http://tools.ietf.org/html/rfc6455>The WebSocket protocol</a></cite>, I. Fette, A. Melnikov. IETF.<dt id=refsX121>[X121]<dd><cite>Recommendation X.121 — International Numbering Plan for Public Data Net
works</cite>, CCITT Blue Book, Fascicle VIII.3, pp. 317-332.<dt id=refsX690>[X690]<dd><cite><a href=http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf>Recommendation X.690 — Information Technology — ASN.1 Encoding Rules — Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER), and Distinguished Encoding Rules (DER)</a></cite>. International Telecommunication Union.<dt id=refsXFN>[XFN]<dd><cite><a href=http://gmpg.org/xfn/11>XFN 1.1 profile</a></cite>, T. Çelik, M. Mullenweg, E. Meyer. GMPG.<dt id=refsXHR>[XHR]<dd><cite><a href=http://xhr.spec.whatwg.org/><code>XMLHttpRequest</code></a></cite>, A. van Kesteren. WHATWG.<dt id=refsXML>[XML]<dd><cite><a href=http://www.w3.org/TR/xml/>Extensible Markup Language</a></cite>, T. Bray, J. Paoli, C. Sperberg-McQueen, E. Maler, F. Yergeau. W3C.<dt id=refsXMLBASE>[XMLBASE]<dd><cite><a href=http://www.w3.org/TR/xmlbase/>XML Base</a></cite>, J. Marsh, R. Tobin. W3C.<dt id=refsXMLNS>[XMLNS]<dd><
cite><a href=http://www.w3.org/TR/xml-names/>Namespaces in XML</a></cite>, T. Bray, D. Hollander, A. Layman, R. Tobin. W3C.<dt id=refsXMLSSPI>[XMLSSPI]<dd><cite><a href=http://www.w3.org/TR/xml-stylesheet/>Associating Style Sheets with XML documents</a></cite>, J. Clark, S. Pieters, H. Thompson. W3C.<dt id=refsXPATH10>[XPATH10]<dd><cite><a href=http://www.w3.org/TR/1999/REC-xpath-19991116>XML Path Language (XPath) Version 1.0</a></cite>, J. Clark, S. DeRose. W3C.<dt id=refsXSLT10>[XSLT10]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/1999/REC-xslt-19991116>XSL Transformations (XSLT) Version 1.0</a></cite>, J. Clark. W3C.</dl>
Modified: index
===================================================================
--- index 2014-08-04 23:38:36 UTC (rev 8706)
+++ index 2014-08-05 18:42:00 UTC (rev 8707)
@@ -291,7 +291,7 @@
</style><link rel=stylesheet href=status.css><body onload=init()>
<header id=head class="head with-buttons">
<p><a href=//www.whatwg.org/ class=logo><img src=/images/logo width=101 alt=WHATWG height=101></a></p>
- <hgroup><h1 class=allcaps>HTML</h1><h2 id=living-standard-—-last-updated-[date:-01-jan-1901] class="no-num no-toc">Living Standard — Last Updated <span class=pubdate>4 August 2014</span></h2></hgroup>
+ <hgroup><h1 class=allcaps>HTML</h1><h2 id=living-standard-—-last-updated-[date:-01-jan-1901] class="no-num no-toc">Living Standard — Last Updated <span class=pubdate>5 August 2014</span></h2></hgroup>
<nav>
<div>
@@ -328,7 +328,7 @@
<h2 id=contents class="no-num no-toc">Table of contents</h2>
<ol class=toc><li><a href=#introduction>1 Introduction</a><ol><li><a href=#abstract>1.1 Where does this specification fit?</a><li><a href=#is-this-html5?>1.2 Is this HTML5?</a><li><a href=#background>1.3 Background</a><li><a href=#audience>1.4 Audience</a><li><a href=#scope>1.5 Scope</a><li><a href=#history-2>1.6 History</a><li><a href=#design-notes>1.7 Design notes</a><ol><li><a href=#serialisability-of-script-execution>1.7.1 Serialisability of script execution</a><li><a href=#compliance-with-other-specifications>1.7.2 Compliance with other specifications</a><li><a href=#extensibility>1.7.3 Extensibility</a></ol><li><a href=#html-vs-xhtml>1.8 HTML vs XHTML</a><li><a href=#structure-of-this-specification>1.9 Structure of this specification</a><ol><li><a href=#how-to-read-this-specification>1.9.1 How to read this specification</a><li><a href=#typographic-conventions>1.9.2 Typographic conventions</a></ol><li><a href=#fingerprint>1.10 Privacy concerns</a><li><a href=#a-quick-
introduction-to-html>1.11 A quick introduction to HTML</a><ol><li><a href=#writing-secure-applications-with-html>1.11.1 Writing secure applications with HTML</a><li><a href=#common-pitfalls-to-avoid-when-using-the-scripting-apis>1.11.2 Common pitfalls to avoid when using the scripting APIs</a><li><a href=#how-to-catch-mistakes-when-writing-html:-validators-and-conformance-checkers>1.11.3 How to catch mistakes when writing HTML: validators and conformance checkers</a></ol><li><a href=#conformance-requirements-for-authors>1.12 Conformance requirements for authors</a><ol><li><a href=#presentational-markup>1.12.1 Presentational markup</a><li><a href=#syntax-errors>1.12.2 Syntax errors</a><li><a href=#restrictions-on-content-models-and-on-attribute-values>1.12.3 Restrictions on content models and on attribute values</a></ol><li><a href=#suggested-reading>1.13 Suggested reading</a></ol><li><a href=#infrastructure>2 Common infrastructure</a><ol><li><a href=#terminology>2.1 Terminol
ogy</a><ol><li><a href=#resources>2.1.1 Resources</a><li><a href=#xml>2.1.2 XML</a><li><a href=#dom-trees>2.1.3 DOM trees</a><li><a href=#scripting-2>2.1.4 Scripting</a><li><a href=#plugins>2.1.5 Plugins</a><li><a href=#encoding-terminology>2.1.6 Character encodings</a></ol><li><a href=#conformance-requirements>2.2 Conformance requirements</a><ol><li><a href=#conformance-classes>2.2.1 Conformance classes</a><li><a href=#dependencies>2.2.2 Dependencies</a><li><a href=#extensibility-2>2.2.3 Extensibility</a><li><a href=#interactions-with-xpath-and-xslt>2.2.4 Interactions with XPath and XSLT</a></ol><li><a href=#case-sensitivity-and-string-comparison>2.3 Case-sensitivity and string comparison</a><li><a href=#common-microsyntaxes>2.4 Common microsyntaxes</a><ol><li><a href=#common-parser-idioms>2.4.1 Common parser idioms</a><li><a href=#boolean-attributes>2.4.2 Boolean attributes</a><li><a href=#keywords-and-enumerated-attributes>2.4.3 Keywords and enumerated attributes</a><li><
a href=#numbers>2.4.4 Numbers</a><ol><li><a href=#signed-integers>2.4.4.1 Signed integers</a><li><a href=#non-negative-integers>2.4.4.2 Non-negative integers</a><li><a href=#floating-point-numbers>2.4.4.3 Floating-point numbers</a><li><a href=#percentages-and-dimensions>2.4.4.4 Percentages and lengths</a><li><a href=#lists-of-integers>2.4.4.5 Lists of integers</a><li><a href=#lists-of-dimensions>2.4.4.6 Lists of dimensions</a></ol><li><a href=#dates-and-times>2.4.5 Dates and times</a><ol><li><a href=#months>2.4.5.1 Months</a><li><a href=#dates>2.4.5.2 Dates</a><li><a href=#yearless-dates>2.4.5.3 Yearless dates</a><li><a href=#times>2.4.5.4 Times</a><li><a href=#local-dates-and-times>2.4.5.5 Local dates and times</a><li><a href=#time-zones>2.4.5.6 Time zones</a><li><a href=#global-dates-and-times>2.4.5.7 Global dates and times</a><li><a href=#weeks>2.4.5.8 Weeks</a><li><a href=#durations>2.4.5.9 Durations</a><li><a href=#vaguer-moments-in-time>2.4.5.10 Vaguer moments in time<
/a></ol><li><a href=#colours>2.4.6 Colours</a><li><a href=#space-separated-tokens>2.4.7 Space-separated tokens</a><li><a href=#comma-separated-tokens>2.4.8 Comma-separated tokens</a><li><a href=#syntax-references>2.4.9 References</a><li><a href=#mq>2.4.10 Media queries</a></ol><li><a href=#urls>2.5 URLs</a><ol><li><a href=#terminology-2>2.5.1 Terminology</a><li><a href=#resolving-urls>2.5.2 Resolving URLs</a><li><a href=#dynamic-changes-to-base-urls>2.5.3 Dynamic changes to base URLs</a></ol><li><a href=#fetching-resources>2.6 Fetching resources</a><ol><li><a href=#terminology-3>2.6.1 Terminology</a><li><a href=#processing-model>2.6.2 Processing model</a><li><a href=#encrypted-http-and-related-security-concerns>2.6.3 Encrypted HTTP and related security concerns</a><li><a href=#content-type-sniffing>2.6.4 Determining the type of a resource</a><li><a href=#extracting-character-encodings-from-meta-elements>2.6.5 Extracting character encodings from <code>meta</code> elements</a>
<li><a href=#cors-settings-attributes>2.6.6 CORS settings attributes</a><li><a href=#cors-enabled-fetch>2.6.7 CORS-enabled fetch</a></ol><li><a href=#common-dom-interfaces>2.7 Common DOM interfaces</a><ol><li><a href=#reflecting-content-attributes-in-idl-attributes>2.7.1 Reflecting content attributes in IDL attributes</a><li><a href=#collections-2>2.7.2 Collections</a><ol><li><a href=#htmlallcollection>2.7.2.1 HTMLAllCollection</a><li><a href=#htmlformcontrolscollection>2.7.2.2 HTMLFormControlsCollection</a><li><a href=#htmloptionscollection>2.7.2.3 HTMLOptionsCollection</a><li><a href=#htmlpropertiescollection>2.7.2.4 HTMLPropertiesCollection</a></ol><li><a href=#domstringmap>2.7.3 DOMStringMap</a><li><a href=#domelementmap>2.7.4 DOMElementMap</a><li><a href=#transferable-objects>2.7.5 Transferable objects</a><li><a href=#safe-passing-of-structured-data>2.7.6 Safe passing of structured data</a><li><a href=#callbacks>2.7.7 Callbacks</a><li><a href=#garbage-collection>2.7.8 G
arbage collection</a></ol><li><a href=#namespaces>2.8 Namespaces</a></ol><li><a href=#dom>3 Semantics, structure, and APIs of HTML documents</a><ol><li><a href=#documents>3.1 Documents</a><ol><li><a href=#the-document-object>3.1.1 The <code>Document</code> object</a><li><a href=#resource-metadata-management>3.1.2 Resource metadata management</a><li><a href=#dom-tree-accessors>3.1.3 DOM tree accessors</a><li><a href=#loading-xml-documents>3.1.4 Loading XML documents</a></ol><li><a href=#elements>3.2 Elements</a><ol><li><a href=#semantics-2>3.2.1 Semantics</a><li><a href=#elements-in-the-dom>3.2.2 Elements in the DOM</a><li><a href=#element-definitions>3.2.3 Element definitions</a><ol><li><a href=#attributes>3.2.3.1 Attributes</a></ol><li><a href=#content-models>3.2.4 Content models</a><ol><li><a href=#the-nothing-content-model>3.2.4.1 The "nothing" content model</a><li><a href=#kinds-of-content>3.2.4.2 Kinds of content</a><ol><li><a href=#metadata-content>3.2.4.2.1 Metadata c
ontent</a><li><a href=#flow-content>3.2.4.2.2 Flow content</a><li><a href=#sectioning-content>3.2.4.2.3 Sectioning content</a><li><a href=#heading-content>3.2.4.2.4 Heading content</a><li><a href=#phrasing-content>3.2.4.2.5 Phrasing content</a><li><a href=#embedded-content-2>3.2.4.2.6 Embedded content</a><li><a href=#interactive-content>3.2.4.2.7 Interactive content</a><li><a href=#palpable-content>3.2.4.2.8 Palpable content</a><li><a href=#script-supporting-elements>3.2.4.2.9 Script-supporting elements</a></ol><li><a href=#transparent-content-models>3.2.4.3 Transparent content models</a><li><a href=#paragraphs>3.2.4.4 Paragraphs</a></ol><li><a href=#global-attributes>3.2.5 Global attributes</a><ol><li><a href=#the-id-attribute>3.2.5.1 The <code>id</code> attribute</a><li><a href=#the-title-attribute>3.2.5.2 The <code>title</code> attribute</a><li><a href=#the-lang-and-xml:lang-attributes>3.2.5.3 The <code>lang</code> and <code>xml:lang</code> attributes</a><li><a href=#the-
translate-attribute>3.2.5.4 The <code>translate</code> attribute</a><li><a href=#the-xml:base-attribute-(xml-only)>3.2.5.5 The <code>xml:base</code> attribute (XML only)</a><li><a href=#the-dir-attribute>3.2.5.6 The <code>dir</code> attribute</a><li><a href=#classes>3.2.5.7 The <code>class</code> attribute</a><li><a href=#the-style-attribute>3.2.5.8 The <code>style</code> attribute</a><li><a href=#embedding-custom-non-visible-data-with-the-data-*-attributes>3.2.5.9 Embedding custom non-visible data with the <code>data-*</code> attributes</a></ol><li><a href=#requirements-relating-to-the-bidirectional-algorithm>3.2.6 Requirements relating to the bidirectional algorithm</a><ol><li><a href=#authoring-conformance-criteria-for-bidirectional-algorithm-formatting-characters>3.2.6.1 Authoring conformance criteria for bidirectional-algorithm formatting characters</a><li><a href=#user-agent-conformance-criteria>3.2.6.2 User agent conformance criteria</a></ol><li><a href=#wai-aria>3.2.
7 WAI-ARIA</a></ol></ol><li><a href=#semantics>4 The elements of HTML</a><ol><li><a href=#the-root-element>4.1 The root element</a><ol><li><a href=#the-html-element>4.1.1 The <code>html</code> element</a></ol><li><a href=#document-metadata>4.2 Document metadata</a><ol><li><a href=#the-head-element>4.2.1 The <code>head</code> element</a><li><a href=#the-title-element>4.2.2 The <code>title</code> element</a><li><a href=#the-base-element>4.2.3 The <code>base</code> element</a><li><a href=#the-link-element>4.2.4 The <code>link</code> element</a><li><a href=#the-meta-element>4.2.5 The <code>meta</code> element</a><ol><li><a href=#standard-metadata-names>4.2.5.1 Standard metadata names</a><li><a href=#other-metadata-names>4.2.5.2 Other metadata names</a><li><a href=#pragma-directives>4.2.5.3 Pragma directives</a><li><a href=#other-pragma-directives>4.2.5.4 Other pragma directives</a><li><a href=#charset>4.2.5.5 Specifying the document's character encoding</a></ol><li><a href=#the-
style-element>4.2.6 The <code>style</code> element</a><li><a href=#interactions-of-styling-and-scripting>4.2.7 Interactions of styling and scripting</a></ol><li><a href=#sections>4.3 Sections</a><ol><li><a href=#the-body-element>4.3.1 The <code>body</code> element</a><li><a href=#the-article-element>4.3.2 The <code>article</code> element</a><li><a href=#the-section-element>4.3.3 The <code>section</code> element</a><li><a href=#the-nav-element>4.3.4 The <code>nav</code> element</a><li><a href=#the-aside-element>4.3.5 The <code>aside</code> element</a><li><a href=#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements>4.3.6 The <code>h1</code>, <code>h2</code>, <code>h3</code>, <code>h4</code>, <code>h5</code>, and
- <code>h6</code> elements</a><li><a href=#the-hgroup-element>4.3.7 The <code>hgroup</code> element</a><li><a href=#the-header-element>4.3.8 The <code>header</code> element</a><li><a href=#the-footer-element>4.3.9 The <code>footer</code> element</a><li><a href=#the-address-element>4.3.10 The <code>address</code> element</a><li><a href=#headings-and-sections>4.3.11 Headings and sections</a><ol><li><a href=#outlines>4.3.11.1 Creating an outline</a><li><a href=#sample-outlines>4.3.11.2 Sample outlines</a><li><a href=#exposing-outlines-to-users>4.3.11.3 Exposing outlines to users</a></ol><li><a href=#usage-summary-2>4.3.12 Usage summary</a><ol><li><a href=#article-or-section>4.3.12.1 Article or section?</a></ol></ol><li><a href=#grouping-content>4.4 Grouping content</a><ol><li><a href=#the-p-element>4.4.1 The <code>p</code> element</a><li><a href=#the-hr-element>4.4.2 The <code>hr</code> element</a><li><a href=#the-pre-element>4.4.3 The <code>pre</code> element</a><li><a href=#t
he-blockquote-element>4.4.4 The <code>blockquote</code> element</a><li><a href=#the-ol-element>4.4.5 The <code>ol</code> element</a><li><a href=#the-ul-element>4.4.6 The <code>ul</code> element</a><li><a href=#the-li-element>4.4.7 The <code>li</code> element</a><li><a href=#the-dl-element>4.4.8 The <code>dl</code> element</a><li><a href=#the-dt-element>4.4.9 The <code>dt</code> element</a><li><a href=#the-dd-element>4.4.10 The <code>dd</code> element</a><li><a href=#the-figure-element>4.4.11 The <code>figure</code> element</a><li><a href=#the-figcaption-element>4.4.12 The <code>figcaption</code> element</a><li><a href=#the-main-element>4.4.13 The <code>main</code> element</a><li><a href=#the-div-element>4.4.14 The <code>div</code> element</a></ol><li><a href=#text-level-semantics>4.5 Text-level semantics</a><ol><li><a href=#the-a-element>4.5.1 The <code>a</code> element</a><li><a href=#the-em-element>4.5.2 The <code>em</code> element</a><li><a href=#the-strong-element>4.5.3
The <code>strong</code> element</a><li><a href=#the-small-element>4.5.4 The <code>small</code> element</a><li><a href=#the-s-element>4.5.5 The <code>s</code> element</a><li><a href=#the-cite-element>4.5.6 The <code>cite</code> element</a><li><a href=#the-q-element>4.5.7 The <code>q</code> element</a><li><a href=#the-dfn-element>4.5.8 The <code>dfn</code> element</a><li><a href=#the-abbr-element>4.5.9 The <code>abbr</code> element</a><li><a href=#the-ruby-element>4.5.10 The <code>ruby</code> element</a><li><a href=#the-rt-element>4.5.11 The <code>rt</code> element</a><li><a href=#the-rp-element>4.5.12 The <code>rp</code> element</a><li><a href=#the-data-element>4.5.13 The <code>data</code> element</a><li><a href=#the-time-element>4.5.14 The <code>time</code> element</a><li><a href=#the-code-element>4.5.15 The <code>code</code> element</a><li><a href=#the-var-element>4.5.16 The <code>var</code> element</a><li><a href=#the-samp-element>4.5.17 The <code>samp</code> element</a><l
i><a href=#the-kbd-element>4.5.18 The <code>kbd</code> element</a><li><a href=#the-sub-and-sup-elements>4.5.19 The <code>sub</code> and <code>sup</code> elements</a><li><a href=#the-i-element>4.5.20 The <code>i</code> element</a><li><a href=#the-b-element>4.5.21 The <code>b</code> element</a><li><a href=#the-u-element>4.5.22 The <code>u</code> element</a><li><a href=#the-mark-element>4.5.23 The <code>mark</code> element</a><li><a href=#the-bdi-element>4.5.24 The <code>bdi</code> element</a><li><a href=#the-bdo-element>4.5.25 The <code>bdo</code> element</a><li><a href=#the-span-element>4.5.26 The <code>span</code> element</a><li><a href=#the-br-element>4.5.27 The <code>br</code> element</a><li><a href=#the-wbr-element>4.5.28 The <code>wbr</code> element</a><li><a href=#usage-summary>4.5.29 Usage summary</a></ol><li><a href=#links>4.6 Links</a><ol><li><a href=#introduction-2>4.6.1 Introduction</a><li><a href=#links-created-by-a-and-area-elements>4.6.2 Links created by <code>a
</code> and <code>area</code> elements</a><li><a href=#following-hyperlinks>4.6.3 Following hyperlinks</a><li><a href=#downloading-resources>4.6.4 Downloading resources</a><ol><li><a href=#hyperlink-auditing>4.6.4.1 Hyperlink auditing</a></ol><li><a href=#linkTypes>4.6.5 Link types</a><ol><li><a href=#rel-alternate>4.6.5.1 Link type "<code>alternate</code>"</a><li><a href=#link-type-author>4.6.5.2 Link type "<code>author</code>"</a><li><a href=#link-type-bookmark>4.6.5.3 Link type "<code>bookmark</code>"</a><li><a href=#link-type-external>4.6.5.4 Link type "<code>external</code>"</a><li><a href=#link-type-help>4.6.5.5 Link type "<code>help</code>"</a><li><a href=#rel-icon>4.6.5.6 Link type "<code>icon</code>"</a><li><a href=#link-type-license>4.6.5.7 Link type "<code>license</code>"</a><li><a href=#link-type-nofollow>4.6.5.8 Link type "<code>nofollow</code>"</a><li><a href=#link-type-noreferrer>4.6.5.9 Link type "<code>noreferrer</code>"</a><li><a href=#link-type-pingback>4.
6.5.10 Link type "<code>pingback</code>"</a><li><a href=#link-type-prefetch>4.6.5.11 Link type "<code>prefetch</code>"</a><li><a href=#link-type-search>4.6.5.12 Link type "<code>search</code>"</a><li><a href=#link-type-sidebar>4.6.5.13 Link type "<code>sidebar</code>"</a><li><a href=#link-type-stylesheet>4.6.5.14 Link type "<code>stylesheet</code>"</a><li><a href=#link-type-tag>4.6.5.15 Link type "<code>tag</code>"</a><li><a href=#sequential-link-types>4.6.5.16 Sequential link types</a><ol><li><a href=#link-type-next>4.6.5.16.1 Link type "<code>next</code>"</a><li><a href=#link-type-prev>4.6.5.16.2 Link type "<code>prev</code>"</a></ol><li><a href=#other-link-types>4.6.5.17 Other link types</a></ol></ol><li><a href=#edits>4.7 Edits</a><ol><li><a href=#the-ins-element>4.7.1 The <code>ins</code> element</a><li><a href=#the-del-element>4.7.2 The <code>del</code> element</a><li><a href=#attributes-common-to-ins-and-del-elements>4.7.3 Attributes common to <code>ins</code> and <co
de>del</code> elements</a><li><a href=#edits-and-paragraphs>4.7.4 Edits and paragraphs</a><li><a href=#edits-and-lists>4.7.5 Edits and lists</a><li><a href=#edits-and-tables>4.7.6 Edits and tables</a></ol><li><a href=#embedded-content>4.8 Embedded content</a><ol><li><a href=#introduction-3>4.8.1 Introduction</a><li><a href=#dependencies-2>4.8.2 Dependencies</a><li><a href=#the-picture-element>4.8.3 The <code>picture</code> element</a><li><a href=#the-source-element-when-used-with-the-picture-element>4.8.4 The <code>source</code> element when used with the <code>picture</code> element</a><li><a href=#the-img-element>4.8.5 The <code>img</code> element</a><ol><li><a href=#alt>4.8.5.1 Requirements for providing text to act as an alternative for images</a><ol><li><a href=#general-guidelines>4.8.5.1.1 General guidelines</a><li><a href=#a-link-or-button-containing-nothing-but-the-image>4.8.5.1.2 A link or button containing nothing but the image</a><li><a href=#a-phrase-or-paragraph
-with-an-alternative-graphical-representation:-charts,-diagrams,-graphs,-maps,-illustrations>4.8.5.1.3 A phrase or paragraph with an alternative graphical representation: charts, diagrams, graphs, maps, illustrations</a><li><a href=#a-short-phrase-or-label-with-an-alternative-graphical-representation:-icons,-logos>4.8.5.1.4 A short phrase or label with an alternative graphical representation: icons, logos</a><li><a href=#text-that-has-been-rendered-to-a-graphic-for-typographical-effect>4.8.5.1.5 Text that has been rendered to a graphic for typographical effect</a><li><a href=#a-graphical-representation-of-some-of-the-surrounding-text>4.8.5.1.6 A graphical representation of some of the surrounding text</a><li><a href="#a-purely-decorative-image-that-doesn't-add-any-information">4.8.5.1.7 A purely decorative image that doesn't add any information</a><li><a href=#a-group-of-images-that-form-a-single-larger-picture-with-no-links>4.8.5.1.8 A group of images that form a single lar
ger picture with no links</a><li><a href=#a-group-of-images-that-form-a-single-larger-picture-with-links>4.8.5.1.9 A group of images that form a single larger picture with links</a><li><a href=#a-key-part-of-the-content>4.8.5.1.10 A key part of the content</a><li><a href=#an-image-not-intended-for-the-user>4.8.5.1.11 An image not intended for the user</a><li><a href=#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.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</a><li><a href=#guidance-for-markup-generators>4.8.5.1.13 Guidance for markup generators</a><li><a href=#guidance-for-conformance-checkers>4.8.5.1.14 Guidance for conformance checkers</a></ol></ol><li><a href=#the-iframe-element>4.8.6 The <code>iframe</code> element</a><li><a href=#the-embed-element>4.8.7 The <code>embed</code> element</a><li><a href=#the-object-element>4.8.8 The <
code>object</code> element</a><li><a href=#the-param-element>4.8.9 The <code>param</code> element</a><li><a href=#the-video-element>4.8.10 The <code>video</code> element</a><li><a href=#the-audio-element>4.8.11 The <code>audio</code> element</a><li><a href=#the-source-element>4.8.12 The <code>source</code> element</a><li><a href=#the-track-element>4.8.13 The <code>track</code> element</a><li><a href=#media-elements>4.8.14 Media elements</a><ol><li><a href=#error-codes>4.8.14.1 Error codes</a><li><a href=#location-of-the-media-resource>4.8.14.2 Location of the media resource</a><li><a href=#mime-types>4.8.14.3 MIME types</a><li><a href=#network-states>4.8.14.4 Network states</a><li><a href=#loading-the-media-resource>4.8.14.5 Loading the media resource</a><li><a href=#offsets-into-the-media-resource>4.8.14.6 Offsets into the media resource</a><li><a href=#ready-states>4.8.14.7 Ready states</a><li><a href=#playing-the-media-resource>4.8.14.8 Playing the media resource</a><li><
a href=#seeking>4.8.14.9 Seeking</a><li><a href=#media-resources-with-multiple-media-tracks>4.8.14.10 Media resources with multiple media tracks</a><ol><li><a href=#audiotracklist-and-videotracklist-objects>4.8.14.10.1 <code>AudioTrackList</code> and <code>VideoTrackList</code> objects</a><li><a href=#selecting-specific-audio-and-video-tracks-declaratively>4.8.14.10.2 Selecting specific audio and video tracks declaratively</a></ol><li><a href=#synchronising-multiple-media-elements>4.8.14.11 Synchronising multiple media elements</a><ol><li><a href=#introduction-4>4.8.14.11.1 Introduction</a><li><a href=#media-controllers>4.8.14.11.2 Media controllers</a><li><a href=#assigning-a-media-controller-declaratively>4.8.14.11.3 Assigning a media controller declaratively</a></ol><li><a href=#timed-text-tracks>4.8.14.12 Timed text tracks</a><ol><li><a href=#text-track-model>4.8.14.12.1 Text track model</a><li><a href=#sourcing-in-band-text-tracks>4.8.14.12.2 Sourcing in-band text track
s</a><li><a href=#sourcing-out-of-band-text-tracks>4.8.14.12.3 Sourcing out-of-band text tracks</a><li><a href=#guidelines-for-exposing-cues-in-various-formats-as-text-track-cues>4.8.14.12.4 Guidelines for exposing cues in various formats as text track cues</a><li><a href=#text-track-api>4.8.14.12.5 Text track API</a><li><a href=#text-tracks-describing-chapters>4.8.14.12.6 Text tracks describing chapters</a><li><a href=#cue-events>4.8.14.12.7 Event handlers for objects of the text track APIs</a><li><a href=#best-practices-for-metadata-text-tracks>4.8.14.12.8 Best practices for metadata text tracks</a></ol><li><a href=#user-interface>4.8.14.13 User interface</a><li><a href=#time-ranges>4.8.14.14 Time ranges</a><li><a href=#the-trackevent-interface>4.8.14.15 The <code>TrackEvent</code> interface</a><li><a href=#mediaevents>4.8.14.16 Event summary</a><li><a href=#security-and-privacy-considerations>4.8.14.17 Security and privacy considerations</a><li><a href=#best-practices-for
-authors-using-media-elements>4.8.14.18 Best practices for authors using media elements</a><li><a href=#best-practices-for-implementors-of-media-elements>4.8.14.19 Best practices for implementors of media elements</a></ol><li><a href=#the-map-element>4.8.15 The <code>map</code> element</a><li><a href=#the-area-element>4.8.16 The <code>area</code> element</a><li><a href=#image-maps>4.8.17 Image maps</a><ol><li><a href=#authoring>4.8.17.1 Authoring</a><li><a href=#processing-model-2>4.8.17.2 Processing model</a></ol><li><a href=#mathml>4.8.18 MathML</a><li><a href=#svg>4.8.19 SVG</a><li><a href=#dimension-attributes>4.8.20 Dimension attributes</a></ol><li><a href=#tables>4.9 Tabular data</a><ol><li><a href=#the-table-element>4.9.1 The <code>table</code> element</a><ol><li><a href=#table-descriptions-techniques>4.9.1.1 Techniques for describing tables</a><li><a href=#table-layout-techniques>4.9.1.2 Techniques for table design</a></ol><li><a href=#the-caption-element>4.9.2 The <
code>caption</code> element</a><li><a href=#the-colgroup-element>4.9.3 The <code>colgroup</code> element</a><li><a href=#the-col-element>4.9.4 The <code>col</code> element</a><li><a href=#the-tbody-element>4.9.5 The <code>tbody</code> element</a><li><a href=#the-thead-element>4.9.6 The <code>thead</code> element</a><li><a href=#the-tfoot-element>4.9.7 The <code>tfoot</code> element</a><li><a href=#the-tr-element>4.9.8 The <code>tr</code> element</a><li><a href=#the-td-element>4.9.9 The <code>td</code> element</a><li><a href=#the-th-element>4.9.10 The <code>th</code> element</a><li><a href=#attributes-common-to-td-and-th-elements>4.9.11 Attributes common to <code>td</code> and <code>th</code> elements</a><li><a href=#processing-model-3>4.9.12 Processing model</a><ol><li><a href=#forming-a-table>4.9.12.1 Forming a table</a><li><a href=#header-and-data-cell-semantics>4.9.12.2 Forming relationships between data cells and header cells</a></ol><li><a href=#table-sorting-model>4.9.
13 Table sorting model</a><li><a href=#table-examples>4.9.14 Examples</a></ol><li><a href=#forms>4.10 Forms</a><ol><li><a href=#introduction-5>4.10.1 Introduction</a><ol><li><a href="#writing-a-form's-user-interface">4.10.1.1 Writing a form's user interface</a><li><a href=#implementing-the-server-side-processing-for-a-form>4.10.1.2 Implementing the server-side processing for a form</a><li><a href=#configuring-a-form-to-communicate-with-a-server>4.10.1.3 Configuring a form to communicate with a server</a><li><a href=#client-side-form-validation>4.10.1.4 Client-side form validation</a><li><a href=#enabling-client-side-automatic-filling-of-form-controls>4.10.1.5 Enabling client-side automatic filling of form controls</a><li><a href=#improving-the-user-experience-on-mobile-devices>4.10.1.6 Improving the user experience on mobile devices</a><li><a href=#the-difference-between-the-field-type,-the-autofill-field-name,-and-the-input-modality>4.10.1.7 The difference between the field
type, the autofill field name, and the input modality</a><li><a href=#input-author-notes>4.10.1.8 Date, time, and number formats</a></ol><li><a href=#categories>4.10.2 Categories</a><li><a href=#the-form-element>4.10.3 The <code>form</code> element</a><li><a href=#the-label-element>4.10.4 The <code>label</code> element</a><li><a href=#the-input-element>4.10.5 The <code>input</code> element</a><ol><li><a href=#states-of-the-type-attribute>4.10.5.1 States of the <code>type</code> attribute</a><ol><li><a href="#hidden-state-(type=hidden)">4.10.5.1.1 Hidden state (<code>type=hidden</code>)</a><li><a href="#text-(type=text)-state-and-search-state-(type=search)">4.10.5.1.2 Text (<code>type=text</code>) state and Search state (<code>type=search</code>)</a><li><a href="#telephone-state-(type=tel)">4.10.5.1.3 Telephone state (<code>type=tel</code>)</a><li><a href="#url-state-(type=url)">4.10.5.1.4 URL state (<code>type=url</code>)</a><li><a href="#e-mail-state-(type=email)">4.10.5.1
.5 E-mail state (<code>type=email</code>)</a><li><a href="#password-state-(type=password)">4.10.5.1.6 Password state (<code>type=password</code>)</a><li><a href="#date-and-time-state-(type=datetime)">4.10.5.1.7 Date and Time state (<code>type=datetime</code>)</a><li><a href="#date-state-(type=date)">4.10.5.1.8 Date state (<code>type=date</code>)</a><li><a href="#month-state-(type=month)">4.10.5.1.9 Month state (<code>type=month</code>)</a><li><a href="#week-state-(type=week)">4.10.5.1.10 Week state (<code>type=week</code>)</a><li><a href="#time-state-(type=time)">4.10.5.1.11 Time state (<code>type=time</code>)</a><li><a href="#local-date-and-time-state-(type=datetime-local)">4.10.5.1.12 Local Date and Time state (<code>type=datetime-local</code>)</a><li><a href="#number-state-(type=number)">4.10.5.1.13 Number state (<code>type=number</code>)</a><li><a href="#range-state-(type=range)">4.10.5.1.14 Range state (<code>type=range</code>)</a><li><a href="#colour-state-(type=color)
">4.10.5.1.15 Colour state (<code>type=color</code>)</a><li><a href="#checkbox-state-(type=checkbox)">4.10.5.1.16 Checkbox state (<code>type=checkbox</code>)</a><li><a href="#radio-button-state-(type=radio)">4.10.5.1.17 Radio Button state (<code>type=radio</code>)</a><li><a href="#file-upload-state-(type=file)">4.10.5.1.18 File Upload state (<code>type=file</code>)</a><li><a href="#submit-button-state-(type=submit)">4.10.5.1.19 Submit Button state (<code>type=submit</code>)</a><li><a href="#image-button-state-(type=image)">4.10.5.1.20 Image Button state (<code>type=image</code>)</a><li><a href="#reset-button-state-(type=reset)">4.10.5.1.21 Reset Button state (<code>type=reset</code>)</a><li><a href="#button-state-(type=button)">4.10.5.1.22 Button state (<code>type=button</code>)</a></ol><li><a href=#input-impl-notes>4.10.5.2 Implemention notes regarding localization of form controls</a><li><a href=#common-input-element-attributes>4.10.5.3 Common <code>input</code> element at
tributes</a><ol><li><a href=#the-maxlength-and-minlength-attributes>4.10.5.3.1 The <code>maxlength</code> and <code>minlength</code> attributes</a><li><a href=#the-size-attribute>4.10.5.3.2 The <code>size</code> attribute</a><li><a href=#the-readonly-attribute>4.10.5.3.3 The <code>readonly</code> attribute</a><li><a href=#the-required-attribute>4.10.5.3.4 The <code>required</code> attribute</a><li><a href=#the-multiple-attribute>4.10.5.3.5 The <code>multiple</code> attribute</a><li><a href=#the-pattern-attribute>4.10.5.3.6 The <code>pattern</code> attribute</a><li><a href=#the-min-and-max-attributes>4.10.5.3.7 The <code>min</code> and <code>max</code> attributes</a><li><a href=#the-step-attribute>4.10.5.3.8 The <code>step</code> attribute</a><li><a href=#the-list-attribute>4.10.5.3.9 The <code>list</code> attribute</a><li><a href=#the-placeholder-attribute>4.10.5.3.10 The <code>placeholder</code> attribute</a></ol><li><a href=#common-input-element-apis>4.10.5.4 Common <code>
input</code> element APIs</a><li><a href=#common-input-element-events>4.10.5.5 Common event behaviors</a></ol><li><a href=#the-button-element>4.10.6 The <code>button</code> element</a><li><a href=#the-select-element>4.10.7 The <code>select</code> element</a><li><a href=#the-datalist-element>4.10.8 The <code>datalist</code> element</a><li><a href=#the-optgroup-element>4.10.9 The <code>optgroup</code> element</a><li><a href=#the-option-element>4.10.10 The <code>option</code> element</a><li><a href=#the-textarea-element>4.10.11 The <code>textarea</code> element</a><li><a href=#the-keygen-element>4.10.12 The <code>keygen</code> element</a><li><a href=#the-output-element>4.10.13 The <code>output</code> element</a><li><a href=#the-progress-element>4.10.14 The <code>progress</code> element</a><li><a href=#the-meter-element>4.10.15 The <code>meter</code> element</a><li><a href=#the-fieldset-element>4.10.16 The <code>fieldset</code> element</a><li><a href=#the-legend-element>4.10.17
The <code>legend</code> element</a><li><a href=#form-control-infrastructure>4.10.18 Form control infrastructure</a><ol><li><a href="#a-form-control's-value">4.10.18.1 A form control's value</a><li><a href=#mutability>4.10.18.2 Mutability</a><li><a href=#association-of-controls-and-forms>4.10.18.3 Association of controls and forms</a></ol><li><a href=#attributes-common-to-form-controls>4.10.19 Attributes common to form controls</a><ol><li><a href=#naming-form-controls:-the-name-attribute>4.10.19.1 Naming form controls: the <code>name</code> attribute</a><li><a href=#submitting-element-directionality:-the-dirname-attribute>4.10.19.2 Submitting element directionality: the <code>dirname</code> attribute</a><li><a href=#limiting-user-input-length:-the-maxlength-attribute>4.10.19.3 Limiting user input length: the <code>maxlength</code> attribute</a><li><a href=#setting-minimum-input-length-requirements:-the-minlength-attribute>4.10.19.4 Setting minimum input length requirements: t
he <code>minlength</code> attribute</a><li><a href=#enabling-and-disabling-form-controls:-the-disabled-attribute>4.10.19.5 Enabling and disabling form controls: the <code>disabled</code> attribute</a><li><a href=#form-submission>4.10.19.6 Form submission</a><ol><li><a href=#autofocusing-a-form-control:-the-autofocus-attribute>4.10.19.6.1 Autofocusing a form control: the <code>autofocus</code> attribute</a></ol><li><a href=#input-modalities:-the-inputmode-attribute>4.10.19.7 Input modalities: the <code>inputmode</code> attribute</a><li><a href=#autofill>4.10.19.8 Autofill</a><ol><li><a href=#autofilling-form-controls:-the-autocomplete-attribute>4.10.19.8.1 Autofilling form controls: the <code>autocomplete</code> attribute</a><li><a href=#processing-model-4>4.10.19.8.2 Processing model</a><li><a href=#user-interface-for-bulk-autofill>4.10.19.8.3 User interface for bulk autofill</a><li><a href=#the-autocompleteerrorevent-interface>4.10.19.8.4 The <code>AutocompleteErrorEvent</c
ode> interface</a></ol></ol><li><a href=#textFieldSelection>4.10.20 APIs for the text field selections</a><li><a href=#constraints>4.10.21 Constraints</a><ol><li><a href=#definitions>4.10.21.1 Definitions</a><li><a href=#constraint-validation>4.10.21.2 Constraint validation</a><li><a href=#the-constraint-validation-api>4.10.21.3 The constraint validation API</a><li><a href=#security-forms>4.10.21.4 Security</a></ol><li><a href=#form-submission-2>4.10.22 Form submission</a><ol><li><a href=#introduction-6>4.10.22.1 Introduction</a><li><a href=#implicit-submission>4.10.22.2 Implicit submission</a><li><a href=#form-submission-algorithm>4.10.22.3 Form submission algorithm</a><li><a href=#constructing-form-data-set>4.10.22.4 Constructing the form data set</a><li><a href=#selecting-a-form-submission-encoding>4.10.22.5 Selecting a form submission encoding</a><li><a href=#url-encoded-form-data>4.10.22.6 URL-encoded form data</a><li><a href=#multipart-form-data>4.10.22.7 Multipart for
m data</a><li><a href=#plain-text-form-data>4.10.22.8 Plain text form data</a></ol><li><a href=#resetting-a-form>4.10.23 Resetting a form</a></ol><li><a href=#interactive-elements>4.11 Interactive elements</a><ol><li><a href=#the-details-element>4.11.1 The <code>details</code> element</a><li><a href=#the-summary-element>4.11.2 The <code>summary</code> element</a><li><a href=#the-menu-element>4.11.3 The <code>menu</code> element</a><li><a href=#the-menuitem-element>4.11.4 The <code>menuitem</code> element</a><li><a href=#context-menus>4.11.5 Context menus</a><ol><li><a href=#declaring-a-context-menu>4.11.5.1 Declaring a context menu</a><li><a href=#processing-model-5>4.11.5.2 Processing model</a><li><a href=#the-relatedevent-interfaces>4.11.5.3 The <code>RelatedEvent</code> interfaces</a></ol><li><a href=#commands>4.11.6 Commands</a><ol><li><a href=#facets-2>4.11.6.1 Facets</a><li><a href=#using-the-a-element-to-define-a-command>4.11.6.2 Using the <code>a</code> element to de
fine a command</a><li><a href=#using-the-button-element-to-define-a-command>4.11.6.3 Using the <code>button</code> element to define a command</a><li><a href=#using-the-input-element-to-define-a-command>4.11.6.4 Using the <code>input</code> element to define a command</a><li><a href=#using-the-option-element-to-define-a-command>4.11.6.5 Using the <code>option</code> element to define a command</a><li><a href=#using-the-menuitem-element-to-define-a-command>4.11.6.6 Using the <code>menuitem</code> element to define a
+ <code>h6</code> elements</a><li><a href=#the-hgroup-element>4.3.7 The <code>hgroup</code> element</a><li><a href=#the-header-element>4.3.8 The <code>header</code> element</a><li><a href=#the-footer-element>4.3.9 The <code>footer</code> element</a><li><a href=#the-address-element>4.3.10 The <code>address</code> element</a><li><a href=#headings-and-sections>4.3.11 Headings and sections</a><ol><li><a href=#outlines>4.3.11.1 Creating an outline</a><li><a href=#sample-outlines>4.3.11.2 Sample outlines</a><li><a href=#exposing-outlines-to-users>4.3.11.3 Exposing outlines to users</a></ol><li><a href=#usage-summary-2>4.3.12 Usage summary</a><ol><li><a href=#article-or-section>4.3.12.1 Article or section?</a></ol></ol><li><a href=#grouping-content>4.4 Grouping content</a><ol><li><a href=#the-p-element>4.4.1 The <code>p</code> element</a><li><a href=#the-hr-element>4.4.2 The <code>hr</code> element</a><li><a href=#the-pre-element>4.4.3 The <code>pre</code> element</a><li><a href=#t
he-blockquote-element>4.4.4 The <code>blockquote</code> element</a><li><a href=#the-ol-element>4.4.5 The <code>ol</code> element</a><li><a href=#the-ul-element>4.4.6 The <code>ul</code> element</a><li><a href=#the-li-element>4.4.7 The <code>li</code> element</a><li><a href=#the-dl-element>4.4.8 The <code>dl</code> element</a><li><a href=#the-dt-element>4.4.9 The <code>dt</code> element</a><li><a href=#the-dd-element>4.4.10 The <code>dd</code> element</a><li><a href=#the-figure-element>4.4.11 The <code>figure</code> element</a><li><a href=#the-figcaption-element>4.4.12 The <code>figcaption</code> element</a><li><a href=#the-main-element>4.4.13 The <code>main</code> element</a><li><a href=#the-div-element>4.4.14 The <code>div</code> element</a></ol><li><a href=#text-level-semantics>4.5 Text-level semantics</a><ol><li><a href=#the-a-element>4.5.1 The <code>a</code> element</a><li><a href=#the-em-element>4.5.2 The <code>em</code> element</a><li><a href=#the-strong-element>4.5.3
The <code>strong</code> element</a><li><a href=#the-small-element>4.5.4 The <code>small</code> element</a><li><a href=#the-s-element>4.5.5 The <code>s</code> element</a><li><a href=#the-cite-element>4.5.6 The <code>cite</code> element</a><li><a href=#the-q-element>4.5.7 The <code>q</code> element</a><li><a href=#the-dfn-element>4.5.8 The <code>dfn</code> element</a><li><a href=#the-abbr-element>4.5.9 The <code>abbr</code> element</a><li><a href=#the-ruby-element>4.5.10 The <code>ruby</code> element</a><li><a href=#the-rt-element>4.5.11 The <code>rt</code> element</a><li><a href=#the-rp-element>4.5.12 The <code>rp</code> element</a><li><a href=#the-data-element>4.5.13 The <code>data</code> element</a><li><a href=#the-time-element>4.5.14 The <code>time</code> element</a><li><a href=#the-code-element>4.5.15 The <code>code</code> element</a><li><a href=#the-var-element>4.5.16 The <code>var</code> element</a><li><a href=#the-samp-element>4.5.17 The <code>samp</code> element</a><l
i><a href=#the-kbd-element>4.5.18 The <code>kbd</code> element</a><li><a href=#the-sub-and-sup-elements>4.5.19 The <code>sub</code> and <code>sup</code> elements</a><li><a href=#the-i-element>4.5.20 The <code>i</code> element</a><li><a href=#the-b-element>4.5.21 The <code>b</code> element</a><li><a href=#the-u-element>4.5.22 The <code>u</code> element</a><li><a href=#the-mark-element>4.5.23 The <code>mark</code> element</a><li><a href=#the-bdi-element>4.5.24 The <code>bdi</code> element</a><li><a href=#the-bdo-element>4.5.25 The <code>bdo</code> element</a><li><a href=#the-span-element>4.5.26 The <code>span</code> element</a><li><a href=#the-br-element>4.5.27 The <code>br</code> element</a><li><a href=#the-wbr-element>4.5.28 The <code>wbr</code> element</a><li><a href=#usage-summary>4.5.29 Usage summary</a></ol><li><a href=#links>4.6 Links</a><ol><li><a href=#introduction-2>4.6.1 Introduction</a><li><a href=#links-created-by-a-and-area-elements>4.6.2 Links created by <code>a
</code> and <code>area</code> elements</a><li><a href=#following-hyperlinks>4.6.3 Following hyperlinks</a><li><a href=#downloading-resources>4.6.4 Downloading resources</a><ol><li><a href=#hyperlink-auditing>4.6.4.1 Hyperlink auditing</a></ol><li><a href=#linkTypes>4.6.5 Link types</a><ol><li><a href=#rel-alternate>4.6.5.1 Link type "<code>alternate</code>"</a><li><a href=#link-type-author>4.6.5.2 Link type "<code>author</code>"</a><li><a href=#link-type-bookmark>4.6.5.3 Link type "<code>bookmark</code>"</a><li><a href=#link-type-external>4.6.5.4 Link type "<code>external</code>"</a><li><a href=#link-type-help>4.6.5.5 Link type "<code>help</code>"</a><li><a href=#rel-icon>4.6.5.6 Link type "<code>icon</code>"</a><li><a href=#link-type-license>4.6.5.7 Link type "<code>license</code>"</a><li><a href=#link-type-nofollow>4.6.5.8 Link type "<code>nofollow</code>"</a><li><a href=#link-type-noreferrer>4.6.5.9 Link type "<code>noreferrer</code>"</a><li><a href=#link-type-pingback>4.
6.5.10 Link type "<code>pingback</code>"</a><li><a href=#link-type-prefetch>4.6.5.11 Link type "<code>prefetch</code>"</a><li><a href=#link-type-search>4.6.5.12 Link type "<code>search</code>"</a><li><a href=#link-type-sidebar>4.6.5.13 Link type "<code>sidebar</code>"</a><li><a href=#link-type-stylesheet>4.6.5.14 Link type "<code>stylesheet</code>"</a><li><a href=#link-type-tag>4.6.5.15 Link type "<code>tag</code>"</a><li><a href=#sequential-link-types>4.6.5.16 Sequential link types</a><ol><li><a href=#link-type-next>4.6.5.16.1 Link type "<code>next</code>"</a><li><a href=#link-type-prev>4.6.5.16.2 Link type "<code>prev</code>"</a></ol><li><a href=#other-link-types>4.6.5.17 Other link types</a></ol></ol><li><a href=#edits>4.7 Edits</a><ol><li><a href=#the-ins-element>4.7.1 The <code>ins</code> element</a><li><a href=#the-del-element>4.7.2 The <code>del</code> element</a><li><a href=#attributes-common-to-ins-and-del-elements>4.7.3 Attributes common to <code>ins</code> and <co
de>del</code> elements</a><li><a href=#edits-and-paragraphs>4.7.4 Edits and paragraphs</a><li><a href=#edits-and-lists>4.7.5 Edits and lists</a><li><a href=#edits-and-tables>4.7.6 Edits and tables</a></ol><li><a href=#embedded-content>4.8 Embedded content</a><ol><li><a href=#introduction-3>4.8.1 Introduction</a><ol><li><a href=#adaptive-images>4.8.1.1 Adaptive images</a></ol><li><a href=#dependencies-2>4.8.2 Dependencies</a><li><a href=#the-picture-element>4.8.3 The <code>picture</code> element</a><li><a href=#the-source-element-when-used-with-the-picture-element>4.8.4 The <code>source</code> element when used with the <code>picture</code> element</a><li><a href=#the-img-element>4.8.5 The <code>img</code> element</a><ol><li><a href=#alt>4.8.5.1 Requirements for providing text to act as an alternative for images</a><ol><li><a href=#general-guidelines>4.8.5.1.1 General guidelines</a><li><a href=#a-link-or-button-containing-nothing-but-the-image>4.8.5.1.2 A link or button conta
ining nothing but the image</a><li><a href=#a-phrase-or-paragraph-with-an-alternative-graphical-representation:-charts,-diagrams,-graphs,-maps,-illustrations>4.8.5.1.3 A phrase or paragraph with an alternative graphical representation: charts, diagrams, graphs, maps, illustrations</a><li><a href=#a-short-phrase-or-label-with-an-alternative-graphical-representation:-icons,-logos>4.8.5.1.4 A short phrase or label with an alternative graphical representation: icons, logos</a><li><a href=#text-that-has-been-rendered-to-a-graphic-for-typographical-effect>4.8.5.1.5 Text that has been rendered to a graphic for typographical effect</a><li><a href=#a-graphical-representation-of-some-of-the-surrounding-text>4.8.5.1.6 A graphical representation of some of the surrounding text</a><li><a href="#a-purely-decorative-image-that-doesn't-add-any-information">4.8.5.1.7 A purely decorative image that doesn't add any information</a><li><a href=#a-group-of-images-that-form-a-single-larger-picture
-with-no-links>4.8.5.1.8 A group of images that form a single larger picture with no links</a><li><a href=#a-group-of-images-that-form-a-single-larger-picture-with-links>4.8.5.1.9 A group of images that form a single larger picture with links</a><li><a href=#a-key-part-of-the-content>4.8.5.1.10 A key part of the content</a><li><a href=#an-image-not-intended-for-the-user>4.8.5.1.11 An image not intended for the user</a><li><a href=#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.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</a><li><a href=#guidance-for-markup-generators>4.8.5.1.13 Guidance for markup generators</a><li><a href=#guidance-for-conformance-checkers>4.8.5.1.14 Guidance for conformance checkers</a></ol></ol><li><a href=#the-iframe-element>4.8.6 The <code>iframe</code> element</a><li><a href=#the-embed-element>4.8.7 The <code>em
bed</code> element</a><li><a href=#the-object-element>4.8.8 The <code>object</code> element</a><li><a href=#the-param-element>4.8.9 The <code>param</code> element</a><li><a href=#the-video-element>4.8.10 The <code>video</code> element</a><li><a href=#the-audio-element>4.8.11 The <code>audio</code> element</a><li><a href=#the-source-element>4.8.12 The <code>source</code> element</a><li><a href=#the-track-element>4.8.13 The <code>track</code> element</a><li><a href=#media-elements>4.8.14 Media elements</a><ol><li><a href=#error-codes>4.8.14.1 Error codes</a><li><a href=#location-of-the-media-resource>4.8.14.2 Location of the media resource</a><li><a href=#mime-types>4.8.14.3 MIME types</a><li><a href=#network-states>4.8.14.4 Network states</a><li><a href=#loading-the-media-resource>4.8.14.5 Loading the media resource</a><li><a href=#offsets-into-the-media-resource>4.8.14.6 Offsets into the media resource</a><li><a href=#ready-states>4.8.14.7 Ready states</a><li><a href=#playin
g-the-media-resource>4.8.14.8 Playing the media resource</a><li><a href=#seeking>4.8.14.9 Seeking</a><li><a href=#media-resources-with-multiple-media-tracks>4.8.14.10 Media resources with multiple media tracks</a><ol><li><a href=#audiotracklist-and-videotracklist-objects>4.8.14.10.1 <code>AudioTrackList</code> and <code>VideoTrackList</code> objects</a><li><a href=#selecting-specific-audio-and-video-tracks-declaratively>4.8.14.10.2 Selecting specific audio and video tracks declaratively</a></ol><li><a href=#synchronising-multiple-media-elements>4.8.14.11 Synchronising multiple media elements</a><ol><li><a href=#introduction-4>4.8.14.11.1 Introduction</a><li><a href=#media-controllers>4.8.14.11.2 Media controllers</a><li><a href=#assigning-a-media-controller-declaratively>4.8.14.11.3 Assigning a media controller declaratively</a></ol><li><a href=#timed-text-tracks>4.8.14.12 Timed text tracks</a><ol><li><a href=#text-track-model>4.8.14.12.1 Text track model</a><li><a href=#sou
rcing-in-band-text-tracks>4.8.14.12.2 Sourcing in-band text tracks</a><li><a href=#sourcing-out-of-band-text-tracks>4.8.14.12.3 Sourcing out-of-band text tracks</a><li><a href=#guidelines-for-exposing-cues-in-various-formats-as-text-track-cues>4.8.14.12.4 Guidelines for exposing cues in various formats as text track cues</a><li><a href=#text-track-api>4.8.14.12.5 Text track API</a><li><a href=#text-tracks-describing-chapters>4.8.14.12.6 Text tracks describing chapters</a><li><a href=#cue-events>4.8.14.12.7 Event handlers for objects of the text track APIs</a><li><a href=#best-practices-for-metadata-text-tracks>4.8.14.12.8 Best practices for metadata text tracks</a></ol><li><a href=#user-interface>4.8.14.13 User interface</a><li><a href=#time-ranges>4.8.14.14 Time ranges</a><li><a href=#the-trackevent-interface>4.8.14.15 The <code>TrackEvent</code> interface</a><li><a href=#mediaevents>4.8.14.16 Event summary</a><li><a href=#security-and-privacy-considerations>4.8.14.17 Secur
ity and privacy considerations</a><li><a href=#best-practices-for-authors-using-media-elements>4.8.14.18 Best practices for authors using media elements</a><li><a href=#best-practices-for-implementors-of-media-elements>4.8.14.19 Best practices for implementors of media elements</a></ol><li><a href=#the-map-element>4.8.15 The <code>map</code> element</a><li><a href=#the-area-element>4.8.16 The <code>area</code> element</a><li><a href=#image-maps>4.8.17 Image maps</a><ol><li><a href=#authoring>4.8.17.1 Authoring</a><li><a href=#processing-model-2>4.8.17.2 Processing model</a></ol><li><a href=#mathml>4.8.18 MathML</a><li><a href=#svg>4.8.19 SVG</a><li><a href=#dimension-attributes>4.8.20 Dimension attributes</a></ol><li><a href=#tables>4.9 Tabular data</a><ol><li><a href=#the-table-element>4.9.1 The <code>table</code> element</a><ol><li><a href=#table-descriptions-techniques>4.9.1.1 Techniques for describing tables</a><li><a href=#table-layout-techniques>4.9.1.2 Techniques for
table design</a></ol><li><a href=#the-caption-element>4.9.2 The <code>caption</code> element</a><li><a href=#the-colgroup-element>4.9.3 The <code>colgroup</code> element</a><li><a href=#the-col-element>4.9.4 The <code>col</code> element</a><li><a href=#the-tbody-element>4.9.5 The <code>tbody</code> element</a><li><a href=#the-thead-element>4.9.6 The <code>thead</code> element</a><li><a href=#the-tfoot-element>4.9.7 The <code>tfoot</code> element</a><li><a href=#the-tr-element>4.9.8 The <code>tr</code> element</a><li><a href=#the-td-element>4.9.9 The <code>td</code> element</a><li><a href=#the-th-element>4.9.10 The <code>th</code> element</a><li><a href=#attributes-common-to-td-and-th-elements>4.9.11 Attributes common to <code>td</code> and <code>th</code> elements</a><li><a href=#processing-model-3>4.9.12 Processing model</a><ol><li><a href=#forming-a-table>4.9.12.1 Forming a table</a><li><a href=#header-and-data-cell-semantics>4.9.12.2 Forming relationships between data cel
ls and header cells</a></ol><li><a href=#table-sorting-model>4.9.13 Table sorting model</a><li><a href=#table-examples>4.9.14 Examples</a></ol><li><a href=#forms>4.10 Forms</a><ol><li><a href=#introduction-5>4.10.1 Introduction</a><ol><li><a href="#writing-a-form's-user-interface">4.10.1.1 Writing a form's user interface</a><li><a href=#implementing-the-server-side-processing-for-a-form>4.10.1.2 Implementing the server-side processing for a form</a><li><a href=#configuring-a-form-to-communicate-with-a-server>4.10.1.3 Configuring a form to communicate with a server</a><li><a href=#client-side-form-validation>4.10.1.4 Client-side form validation</a><li><a href=#enabling-client-side-automatic-filling-of-form-controls>4.10.1.5 Enabling client-side automatic filling of form controls</a><li><a href=#improving-the-user-experience-on-mobile-devices>4.10.1.6 Improving the user experience on mobile devices</a><li><a href=#the-difference-between-the-field-type,-the-autofill-field-name,
-and-the-input-modality>4.10.1.7 The difference between the field type, the autofill field name, and the input modality</a><li><a href=#input-author-notes>4.10.1.8 Date, time, and number formats</a></ol><li><a href=#categories>4.10.2 Categories</a><li><a href=#the-form-element>4.10.3 The <code>form</code> element</a><li><a href=#the-label-element>4.10.4 The <code>label</code> element</a><li><a href=#the-input-element>4.10.5 The <code>input</code> element</a><ol><li><a href=#states-of-the-type-attribute>4.10.5.1 States of the <code>type</code> attribute</a><ol><li><a href="#hidden-state-(type=hidden)">4.10.5.1.1 Hidden state (<code>type=hidden</code>)</a><li><a href="#text-(type=text)-state-and-search-state-(type=search)">4.10.5.1.2 Text (<code>type=text</code>) state and Search state (<code>type=search</code>)</a><li><a href="#telephone-state-(type=tel)">4.10.5.1.3 Telephone state (<code>type=tel</code>)</a><li><a href="#url-state-(type=url)">4.10.5.1.4 URL state (<code>type
=url</code>)</a><li><a href="#e-mail-state-(type=email)">4.10.5.1.5 E-mail state (<code>type=email</code>)</a><li><a href="#password-state-(type=password)">4.10.5.1.6 Password state (<code>type=password</code>)</a><li><a href="#date-and-time-state-(type=datetime)">4.10.5.1.7 Date and Time state (<code>type=datetime</code>)</a><li><a href="#date-state-(type=date)">4.10.5.1.8 Date state (<code>type=date</code>)</a><li><a href="#month-state-(type=month)">4.10.5.1.9 Month state (<code>type=month</code>)</a><li><a href="#week-state-(type=week)">4.10.5.1.10 Week state (<code>type=week</code>)</a><li><a href="#time-state-(type=time)">4.10.5.1.11 Time state (<code>type=time</code>)</a><li><a href="#local-date-and-time-state-(type=datetime-local)">4.10.5.1.12 Local Date and Time state (<code>type=datetime-local</code>)</a><li><a href="#number-state-(type=number)">4.10.5.1.13 Number state (<code>type=number</code>)</a><li><a href="#range-state-(type=range)">4.10.5.1.14 Range state (<c
ode>type=range</code>)</a><li><a href="#colour-state-(type=color)">4.10.5.1.15 Colour state (<code>type=color</code>)</a><li><a href="#checkbox-state-(type=checkbox)">4.10.5.1.16 Checkbox state (<code>type=checkbox</code>)</a><li><a href="#radio-button-state-(type=radio)">4.10.5.1.17 Radio Button state (<code>type=radio</code>)</a><li><a href="#file-upload-state-(type=file)">4.10.5.1.18 File Upload state (<code>type=file</code>)</a><li><a href="#submit-button-state-(type=submit)">4.10.5.1.19 Submit Button state (<code>type=submit</code>)</a><li><a href="#image-button-state-(type=image)">4.10.5.1.20 Image Button state (<code>type=image</code>)</a><li><a href="#reset-button-state-(type=reset)">4.10.5.1.21 Reset Button state (<code>type=reset</code>)</a><li><a href="#button-state-(type=button)">4.10.5.1.22 Button state (<code>type=button</code>)</a></ol><li><a href=#input-impl-notes>4.10.5.2 Implemention notes regarding localization of form controls</a><li><a href=#common-input
-element-attributes>4.10.5.3 Common <code>input</code> element attributes</a><ol><li><a href=#the-maxlength-and-minlength-attributes>4.10.5.3.1 The <code>maxlength</code> and <code>minlength</code> attributes</a><li><a href=#the-size-attribute>4.10.5.3.2 The <code>size</code> attribute</a><li><a href=#the-readonly-attribute>4.10.5.3.3 The <code>readonly</code> attribute</a><li><a href=#the-required-attribute>4.10.5.3.4 The <code>required</code> attribute</a><li><a href=#the-multiple-attribute>4.10.5.3.5 The <code>multiple</code> attribute</a><li><a href=#the-pattern-attribute>4.10.5.3.6 The <code>pattern</code> attribute</a><li><a href=#the-min-and-max-attributes>4.10.5.3.7 The <code>min</code> and <code>max</code> attributes</a><li><a href=#the-step-attribute>4.10.5.3.8 The <code>step</code> attribute</a><li><a href=#the-list-attribute>4.10.5.3.9 The <code>list</code> attribute</a><li><a href=#the-placeholder-attribute>4.10.5.3.10 The <code>placeholder</code> attribute</a><
/ol><li><a href=#common-input-element-apis>4.10.5.4 Common <code>input</code> element APIs</a><li><a href=#common-input-element-events>4.10.5.5 Common event behaviors</a></ol><li><a href=#the-button-element>4.10.6 The <code>button</code> element</a><li><a href=#the-select-element>4.10.7 The <code>select</code> element</a><li><a href=#the-datalist-element>4.10.8 The <code>datalist</code> element</a><li><a href=#the-optgroup-element>4.10.9 The <code>optgroup</code> element</a><li><a href=#the-option-element>4.10.10 The <code>option</code> element</a><li><a href=#the-textarea-element>4.10.11 The <code>textarea</code> element</a><li><a href=#the-keygen-element>4.10.12 The <code>keygen</code> element</a><li><a href=#the-output-element>4.10.13 The <code>output</code> element</a><li><a href=#the-progress-element>4.10.14 The <code>progress</code> element</a><li><a href=#the-meter-element>4.10.15 The <code>meter</code> element</a><li><a href=#the-fieldset-element>4.10.16 The <code>fi
eldset</code> element</a><li><a href=#the-legend-element>4.10.17 The <code>legend</code> element</a><li><a href=#form-control-infrastructure>4.10.18 Form control infrastructure</a><ol><li><a href="#a-form-control's-value">4.10.18.1 A form control's value</a><li><a href=#mutability>4.10.18.2 Mutability</a><li><a href=#association-of-controls-and-forms>4.10.18.3 Association of controls and forms</a></ol><li><a href=#attributes-common-to-form-controls>4.10.19 Attributes common to form controls</a><ol><li><a href=#naming-form-controls:-the-name-attribute>4.10.19.1 Naming form controls: the <code>name</code> attribute</a><li><a href=#submitting-element-directionality:-the-dirname-attribute>4.10.19.2 Submitting element directionality: the <code>dirname</code> attribute</a><li><a href=#limiting-user-input-length:-the-maxlength-attribute>4.10.19.3 Limiting user input length: the <code>maxlength</code> attribute</a><li><a href=#setting-minimum-input-length-requirements:-the-minlength
-attribute>4.10.19.4 Setting minimum input length requirements: the <code>minlength</code> attribute</a><li><a href=#enabling-and-disabling-form-controls:-the-disabled-attribute>4.10.19.5 Enabling and disabling form controls: the <code>disabled</code> attribute</a><li><a href=#form-submission>4.10.19.6 Form submission</a><ol><li><a href=#autofocusing-a-form-control:-the-autofocus-attribute>4.10.19.6.1 Autofocusing a form control: the <code>autofocus</code> attribute</a></ol><li><a href=#input-modalities:-the-inputmode-attribute>4.10.19.7 Input modalities: the <code>inputmode</code> attribute</a><li><a href=#autofill>4.10.19.8 Autofill</a><ol><li><a href=#autofilling-form-controls:-the-autocomplete-attribute>4.10.19.8.1 Autofilling form controls: the <code>autocomplete</code> attribute</a><li><a href=#processing-model-4>4.10.19.8.2 Processing model</a><li><a href=#user-interface-for-bulk-autofill>4.10.19.8.3 User interface for bulk autofill</a><li><a href=#the-autocompleteerr
orevent-interface>4.10.19.8.4 The <code>AutocompleteErrorEvent</code> interface</a></ol></ol><li><a href=#textFieldSelection>4.10.20 APIs for the text field selections</a><li><a href=#constraints>4.10.21 Constraints</a><ol><li><a href=#definitions>4.10.21.1 Definitions</a><li><a href=#constraint-validation>4.10.21.2 Constraint validation</a><li><a href=#the-constraint-validation-api>4.10.21.3 The constraint validation API</a><li><a href=#security-forms>4.10.21.4 Security</a></ol><li><a href=#form-submission-2>4.10.22 Form submission</a><ol><li><a href=#introduction-6>4.10.22.1 Introduction</a><li><a href=#implicit-submission>4.10.22.2 Implicit submission</a><li><a href=#form-submission-algorithm>4.10.22.3 Form submission algorithm</a><li><a href=#constructing-form-data-set>4.10.22.4 Constructing the form data set</a><li><a href=#selecting-a-form-submission-encoding>4.10.22.5 Selecting a form submission encoding</a><li><a href=#url-encoded-form-data>4.10.22.6 URL-encoded form
data</a><li><a href=#multipart-form-data>4.10.22.7 Multipart form data</a><li><a href=#plain-text-form-data>4.10.22.8 Plain text form data</a></ol><li><a href=#resetting-a-form>4.10.23 Resetting a form</a></ol><li><a href=#interactive-elements>4.11 Interactive elements</a><ol><li><a href=#the-details-element>4.11.1 The <code>details</code> element</a><li><a href=#the-summary-element>4.11.2 The <code>summary</code> element</a><li><a href=#the-menu-element>4.11.3 The <code>menu</code> element</a><li><a href=#the-menuitem-element>4.11.4 The <code>menuitem</code> element</a><li><a href=#context-menus>4.11.5 Context menus</a><ol><li><a href=#declaring-a-context-menu>4.11.5.1 Declaring a context menu</a><li><a href=#processing-model-5>4.11.5.2 Processing model</a><li><a href=#the-relatedevent-interfaces>4.11.5.3 The <code>RelatedEvent</code> interfaces</a></ol><li><a href=#commands>4.11.6 Commands</a><ol><li><a href=#facets-2>4.11.6.1 Facets</a><li><a href=#using-the-a-element-to
-define-a-command>4.11.6.2 Using the <code>a</code> element to define a command</a><li><a href=#using-the-button-element-to-define-a-command>4.11.6.3 Using the <code>button</code> element to define a command</a><li><a href=#using-the-input-element-to-define-a-command>4.11.6.4 Using the <code>input</code> element to define a command</a><li><a href=#using-the-option-element-to-define-a-command>4.11.6.5 Using the <code>option</code> element to define a command</a><li><a href=#using-the-menuitem-element-to-define-a-command>4.11.6.6 Using the <code>menuitem</code> element to define a
command</a><li><a href=#using-the-command-attribute-on-menuitem-elements-to-define-a-command-indirectly>4.11.6.7 Using the <code>command</code> attribute on <code>menuitem</code> elements to define
a command indirectly</a><li><a href=#using-the-accesskey-attribute-on-a-label-element-to-define-a-command>4.11.6.8 Using the <code>accesskey</code> attribute
on a <code>label</code> element to define a command</a><li><a href=#using-the-accesskey-attribute-on-a-legend-element-to-define-a-command>4.11.6.9 Using the <code>accesskey</code> attribute
@@ -17470,9 +17470,114 @@
</dl>
+ <h5 id=adaptive-images>4.8.1.1 Adaptive images</h5>
+
+ <p><i>This section is non-normative.</i></p>
+
+ <p>CSS and media queries can be used to construct graphical page layouts that adapt dynamically to
+ the user's environment, in particular to different viewport dimensions and pixel densities. For
+ content, however, CSS does not help; instead, we have the <code id=adaptive-images:the-img-element><a href=#the-img-element>img</a></code> element's <code id=adaptive-images:attr-img-srcset><a href=#attr-img-srcset>srcset</a></code> attribute and the <code id=adaptive-images:the-picture-element><a href=#the-picture-element>picture</a></code> element.
+ This section walks through a sample case showing how to use these features.</p>
+
+ <p>Consider a situation where on wide screens (wider than 600 CSS pixels) a 300×150 image
+ named <code>a-rectangle.png</code> is to be used, but on smaller screens (600 CSS pixels
+ and less), a smaller 100×100 image called <code>a-square.png</code> is to be used.
+ The markup for this would look like this:</p>
+
+ <pre><figure>
+ <picture>
+ <source srcset="a-square.png" media="(max-width: 600px)">
+ <img src="a-rectangle.png" alt="Barney Frank wears a suit and glasses.">
+ </picture>
+ <figcaption>Barney Frank, 2011</figcaption>
+</figure></pre>
+
+ <p class=note>For details on what to put in the <code id=adaptive-images:attr-img-alt><a href=#attr-img-alt>alt</a></code> attribute,
+ see the <a href=#alt>Requirements for providing text to act as an alternative for images</a> section.</p>
+
+ <p>The problem with this is that the user agent does not necessarily know what dimensions to use
+ for the image when the image is loading. To avoid the layout having to be reflowed multiple times
+ as the page is loading, CSS and CSS media queries can be used to provide the dimensions:</p>
+
+ <pre><figure>
+ <style scoped>
+ #a { width: 300px; height: 150px; }
+ @media (max-width: 600px) { #a { width: 100px; height: 100px; } }
+ </style>
+ <picture>
+ <source srcset="a-square.png" media="(max-width: 600px)">
+ <img src="a-rectangle.png" alt="Barney Frank wears a suit and glasses." id="a">
+ </picture>
+ <figcaption>Barney Frank, 2011</figcaption>
+</figure></pre>
+
+ <p>Alternatively, the <code id=adaptive-images:attr-dim-width><a href=#attr-dim-width>width</a></code> and <code id=adaptive-images:attr-dim-height><a href=#attr-dim-height>height</a></code> attributes can be used to provide the width for legacy user
+ agents, using CSS just for the user agents that support <code id=adaptive-images:the-picture-element-2><a href=#the-picture-element>picture</a></code>:</p>
+
+ <pre><figure>
+ <style scoped media="(max-width: 600px)">
+ #a { width: 100px; height: 100px; }
+ </style>
+ <picture>
+ <source srcset="a-square.png" media="(max-width: 600px)">
+ <img src="a-rectangle.png" width="300" height="150"
+ alt="Barney Frank wears a suit and glasses." id="a">
+ </picture>
+ <figcaption>Barney Frank, 2011</figcaption>
+</figure></pre>
+
+ <hr>
+
+ <p>The <code id=adaptive-images:the-source-element-when-used-with-the-picture-element><a href=#the-source-element-when-used-with-the-picture-element>source</a></code> element is used with the <code id=adaptive-images:attr-img-src><a href=#attr-img-src>src</a></code> attribute, which gives the URL of the image to use for legacy user
+ agents that do not support the <code id=adaptive-images:the-picture-element-3><a href=#the-picture-element>picture</a></code> element. This leads
+ to a question of which image to provide in the <code id=adaptive-images:attr-img-src-2><a href=#attr-img-src>src</a></code>
+ attribute.</p>
+
+ <p>If the author wants the biggest image in legacy user agents, the markup could be as follows:</p>
+
+ <pre><picture>
+ <source srcset="pear-mobile.jpeg" media="(max-width: 720px)">
+ <source srcset="pear-tablet.jpeg" media="(max-width: 1280px)">
+ <img src="pear-desktop.jpeg" alt="The pear is juicy.">
+</picture></pre>
+
+ <p>However, if legacy mobile user agents are more important, one can list all three images in the
+ <code id=adaptive-images:the-source-element-when-used-with-the-picture-element-2><a href=#the-source-element-when-used-with-the-picture-element>source</a></code> elements, overriding the <code id=adaptive-images:attr-img-src-3><a href=#attr-img-src>src</a></code> attribute entirely.</p>
+
+ <pre><picture>
+ <source srcset="pear-mobile.jpeg" media="(max-width: 720px)">
+ <source srcset="pear-tablet.jpeg" media="(max-width: 1280px)">
+ <source srcset="pear-desktop.jpeg">
+ <img src="pear-mobile.jpeg" alt="The pear is juicy.">
+</picture></pre>
+
+ <p>Since at this point the <code id=adaptive-images:attr-img-src-4><a href=#attr-img-src>src</a></code> attribute is actually being
+ ignored entirely by <code id=adaptive-images:the-picture-element-4><a href=#the-picture-element>picture</a></code>-supporting user agents, the <code id=adaptive-images:attr-img-src-5><a href=#attr-img-src>src</a></code> attribute can default to any image, including one that is neither
+ the smallest nor biggest:</p>
+
+ <pre><picture>
+ <source srcset="pear-mobile.jpeg" media="(max-width: 720px)">
+ <source srcset="pear-tablet.jpeg" media="(max-width: 1280px)">
+ <source srcset="pear-desktop.jpeg">
+ <img src="pear-tablet.jpeg" alt="The pear is juicy.">
+</picture></pre>
+
+ <hr>
+
+ <p>Above the <code>max-width</code> media feature is used, giving the maximum
+ (viewport) dimensions that an image is intended for.
+ It is also possible to use <code>min-width</code> instead.</p>
+
+ <pre><picture>
+ <source srcset="pear-desktop.jpeg" media="(min-width: 1281px)">
+ <source srcset="pear-tablet.jpeg" media="(min-width: 721px)">
+ <img src="pear-mobile.jpeg" alt="The pear is juicy.">
+</picture></pre>
+
+
<h4 id=dependencies-2>4.8.2 Dependencies</h4>
- <dl><dt>Media Queries <a href=#refsMQ>[MQ]</a> <span class=XXX>Correct reference is <a href=http://dev.w3.org/csswg/mediaqueries-4/>http://dev.w3.org/csswg/mediaqueries-4/</a></span><dd><dfn id=media-condition><media-condition></dfn><dt>CSS Values and Units <a href=#refsCSSVALUES>[CSSVALUES]</a><dd><dfn id=length><length></dfn><dt>CSS Syntax <a href=#refsCSSSYNTAX>[CSSSYNTAX]</a><dd><dfn id=parse-a-comma-separated-list-of-component-values>Parse a comma-separated list of component values</dfn><dd><dfn id=component-value>component value</dfn><dd><dfn id=whitespace-token><whitespace-token></dfn></dl>
+ <dl><dt>Media Queries <a href=#refsMQ>[MQ]</a> <span class=XXX>Correct reference is <a href=http://dev.w3.org/csswg/mediaqueries-4/>http://dev.w3.org/csswg/mediaqueries-4/</a></span><dd><dfn id=media-condition><media-condition></dfn><dt>CSS Values and Units <a href=#refsCSSVALUES>[CSSVALUES]</a><dd><dfn id=length><length></dfn><dt>CSS Syntax <a href=#refsCSSSYNTAX>[CSSSYNTAX]</a><dd><dfn id=parse-a-comma-separated-list-of-component-values>Parse a comma-separated list of component values</dfn><dd><dfn id=component-value>component value</dfn><dd><dfn id=whitespace-token><whitespace-token></dfn><dt>Fetch <a href=#refsFETCH>[FETCH]</a><dd><dfn id=concept-request-context>context</dfn></dl>
<h4 id=the-picture-element>4.8.3 The <dfn><code>picture</code></dfn> element</h4>
@@ -17663,8 +17768,8 @@
animated bitmaps (APNGs, animated GIFs), animated vector graphics (XML files with an SVG root
element that use declarative SMIL animation), and so forth. However, these definitions preclude
SVG files with script, multipage PDF files, interactive MNG files, HTML documents, plain text
- documents, and so forth. <a href=#refsPNG>[PNG]</a> <a href=#refsGIF>[GIF]</a> <a href=#refsJPEG>[JPEG]</a> <a href=#refsPDF>[PDF]</a> <a href=#refsXML>[XML]</a> <a href=#refsAPNG>[APNG]</a> <a href=#refsSVG>[SVG]</a>
- <a href=#refsMNG>[MNG]</a> </p>
+ documents, and so forth. <a href=#refsPNG>[PNG]</a> <a href=#refsGIF>[GIF]</a> <a href=#refsJPEG>[JPEG]</a> <a href=#refsPDF>[PDF]</a>
+ <a href=#refsXML>[XML]</a> <a href=#refsAPNG>[APNG]</a> <a href=#refsSVG>[SVG]</a> <a href=#refsMNG>[MNG]</a> </p>
<p>If the <code id=the-img-element:attr-img-srcset-3><a href=#attr-img-srcset>srcset</a></code> attribute is present,
the <dfn id=attr-img-sizes><code>sizes</code></dfn> attribute may also be present.
@@ -17679,6 +17784,10 @@
<p>A <a href=#source-size-value id=the-img-element:source-size-value-4><source-size-value></a> must not be negative.</p>
+ <p class=note>Percentages are not allowed in a <span><source-size-value</span>,
+ to avoid confusion about what it would be relative to.
+ The <code>vw</code> unit can be used for sizes relative to the viewport width.</p>
+
<p>The <code id=the-img-element:the-img-element-5><a href=#the-img-element>img</a></code> element must not be used as a layout tool. In particular, <code id=the-img-element:the-img-element-6><a href=#the-img-element>img</a></code>
elements should not be used to display transparent images, as such images rarely convey meaning and
rarely add anything useful to the document.</p>
@@ -17787,11 +17896,17 @@
given higher-layer caching semantics for the resource (e.g. the HTTP <code>Cache-Control</code>
response header) when the <a href=#ignore-higher-layer-caching id=the-img-element:ignore-higher-layer-caching-2>ignore higher-layer caching</a> is unset.</p>
- <p class=note>The user agent can also store the image data in a separatly from the <a href=#list-of-available-images id=the-img-element:list-of-available-images-3>list of available images</a>.</p>
+ <p class=note>The <a href=#list-of-available-images id=the-img-element:list-of-available-images-3>list of available images</a> is intended to enable synchronous switching
+ when changing the <code id=the-img-element:attr-img-src-5><a href=#attr-img-src>src</a></code> attribute to a URL that has previously been loaded,
+ and to avoid re-downloading images in the same document even when they don't allow caching per HTTP.
+ It is not used to avoid re-downloading the same image while the previous image is still loading,
+ but the <a href=#fetch id=the-img-element:fetch>fetch</a> algorithm allows the download to be reused in that case.</p>
+ <p class=note>The user agent can also store the image data in a separately from the <a href=#list-of-available-images id=the-img-element:list-of-available-images-4>list of available images</a>.</p>
+
<p class=example>For example, if a resource has the HTTP response header <code>Cache-Control: must-revalidate</code>,
- the user agent would remove it from the <a href=#list-of-available-images id=the-img-element:list-of-available-images-4>list of available images</a> but could keep the image data separately,
- and use that if the server responds with a <code>204 No Content</code> status.</p>
+ the user agent would remove it from the <a href=#list-of-available-images id=the-img-element:list-of-available-images-5>list of available images</a> but could keep the image data separately,
+ and use that if the server responds with a <code>304 Not Modified</code> status.</p>
<p>When the user agent is to <dfn id=update-the-image-data>update the image data</dfn> of an <code id=the-img-element:the-img-element-18><a href=#the-img-element>img</a></code> element,
optionally with the <i>restart animations</i> flag set,
@@ -17806,9 +17921,9 @@
<p>If the element does not have a <code id=the-img-element:attr-img-srcset-5><a href=#attr-img-srcset>srcset</a></code> attribute specified and
it does not have a parent or it has a parent but it is not a <code id=the-img-element:the-picture-element-6><a href=#the-picture-element>picture</a></code> element,
- and it has a <code id=the-img-element:attr-img-src-5><a href=#attr-img-src>src</a></code> attribute specified and
+ and it has a <code id=the-img-element:attr-img-src-6><a href=#attr-img-src>src</a></code> attribute specified and
its value is not the empty string, let <var>selected source</var> be the value of the
- element's <code id=the-img-element:attr-img-src-6><a href=#attr-img-src>src</a></code> attribute, and <var>selected pixel
+ element's <code id=the-img-element:attr-img-src-7><a href=#attr-img-src>src</a></code> attribute, and <var>selected pixel
density</var> be 1.0. Otherwise, let <var>selected source</var> be null and <var>selected pixel density</var> be undefined.</p>
<li><p>Let the <code id=the-img-element:the-img-element-19><a href=#the-img-element>img</a></code> element's <a href=#last-selected-source id=the-img-element:last-selected-source>last selected source</a> be <var>selected source</var>.<li>
@@ -17820,7 +17935,7 @@
abort these inner set of steps.<li><p>Let <var>key</var> be a tuple consisting of the resulting <a href=#absolute-url id=the-img-element:absolute-url-2>absolute
URL</a>, the <code id=the-img-element:the-img-element-20><a href=#the-img-element>img</a></code> element's <code id=the-img-element:attr-img-crossorigin-3><a href=#attr-img-crossorigin>crossorigin</a></code>
attribute's mode, and, if that mode is not <a href=#attr-crossorigin-none id=the-img-element:attr-crossorigin-none-2>No CORS</a>,
- the <code id=the-img-element:document-6><a href=#document>Document</a></code> object's <a href=#origin-2 id=the-img-element:origin-2-2>origin</a>.<li><p>If the <a href=#list-of-available-images id=the-img-element:list-of-available-images-5>list of available images</a> contains an entry for <var>key</var>, then
+ the <code id=the-img-element:document-6><a href=#document>Document</a></code> object's <a href=#origin-2 id=the-img-element:origin-2-2>origin</a>.<li><p>If the <a href=#list-of-available-images id=the-img-element:list-of-available-images-6>list of available images</a> contains an entry for <var>key</var>, then
set the <a href=#ignore-higher-layer-caching id=the-img-element:ignore-higher-layer-caching-3>ignore higher-layer caching</a> flag for that entry,
<a href=#abort-the-image-request id=the-img-element:abort-the-image-request-2>abort the image request</a> for the <a href=#current-request id=the-img-element:current-request-5>current request</a> and the <a href=#pending-request id=the-img-element:pending-request-4>pending request</a>,
let <a href=#pending-request id=the-img-element:pending-request-5>pending request</a> be null,
@@ -17842,7 +17957,7 @@
after this instance (even if it aborted and is no longer running), then abort these steps.</p>
<p class=note>Only the last instance takes effect, to avoid multiple requests when, for
- example, the <code id=the-img-element:attr-img-src-7><a href=#attr-img-src>src</a></code>, <code id=the-img-element:attr-img-srcset-6><a href=#attr-img-srcset>srcset</a></code>,
+ example, the <code id=the-img-element:attr-img-src-8><a href=#attr-img-src>src</a></code>, <code id=the-img-element:attr-img-srcset-6><a href=#attr-img-srcset>srcset</a></code>,
and <code id=the-img-element:attr-img-crossorigin-4><a href=#attr-img-crossorigin>crossorigin</a></code> attributes are all set in
succession.</p>
@@ -17859,7 +17974,7 @@
<ol><li><p>⌛ Set the <a href=#current-request id=the-img-element:current-request-9>current request</a> to the <a href=#img-error id=the-img-element:img-error>broken</a> state,
<a href=#abort-the-image-request id=the-img-element:abort-the-image-request-3>abort the image request</a> for the <a href=#current-request id=the-img-element:current-request-10>current request</a> and the <a href=#pending-request id=the-img-element:pending-request-6>pending request</a>,
and let <a href=#pending-request id=the-img-element:pending-request-7>pending request</a> be null.<li><p>⌛ <a href=#queue-a-task id=the-img-element:queue-a-task-2>Queue a task</a> to change the <a href=#current-request id=the-img-element:current-request-11>current request</a>'s <a href=#img-req-url id=the-img-element:img-req-url-3>current URL</a> to the empty string,
- and then, if the element has a <code id=the-img-element:attr-img-src-8><a href=#attr-img-src>src</a></code> attribute
+ and then, if the element has a <code id=the-img-element:attr-img-src-9><a href=#attr-img-src>src</a></code> attribute
or a <code id=the-img-element:attr-img-srcset-7><a href=#attr-img-srcset>srcset</a></code> attribute
or a parent that is a <code id=the-img-element:the-picture-element-7><a href=#the-picture-element>picture</a></code> element,
<a href=#fire-a-simple-event id=the-img-element:fire-a-simple-event-2>fire a simple event</a> named <code id=the-img-element:event-error><a href=#event-error>error</a></code> at the <code id=the-img-element:the-img-element-23><a href=#the-img-element>img</a></code> element.<li><p>⌛ Abort this algorithm.</ol>
@@ -17903,8 +18018,16 @@
the element's <code id=the-img-element:attr-img-crossorigin-5><a href=#attr-img-crossorigin>crossorigin</a></code> content attribute,
the <i>origin</i> being the <a href=#origin-2 id=the-img-element:origin-2-3>origin</a> of the <code id=the-img-element:the-img-element-27><a href=#the-img-element>img</a></code> element's
<code id=the-img-element:document-7><a href=#document>Document</a></code>, and the <i>default origin behaviour</i> set to <i>taint</i>.
- Let this instance of the <a href=#fetch id=the-img-element:fetch>fetching</a> algorithm be associated with <var>image request</var>.</p>
+ Let this instance of the <a href=#fetch id=the-img-element:fetch-2>fetching</a> algorithm be associated with <var>image request</var>.</p>
+ <p>If the element has a <code id=the-img-element:attr-img-srcset-8><a href=#attr-img-srcset>srcset</a></code> attribute
+ or a parent that is a <code id=the-img-element:the-picture-element-8><a href=#the-picture-element>picture</a></code> element,
+ the fetching request's <a href=#concept-request-context id=the-img-element:concept-request-context>context</a> must be set to <i>imageset</i>.
+ Otherwise it must be set to <i>image</i>. <a href=#refsFETCH>[FETCH]</a></p>
+
+ <p class=critical>This specification does not yet use the "fetch" algorithm from the WHATWG Fetch specification.
+ It will be updated to do so in due course.</p>
+
<p>The resource obtained in this fashion, if any, is <var>image request</var>'s <a href=#img-req-data id=the-img-element:img-req-data-3>image data</a>.
It can be either <a href=#cors-same-origin id=the-img-element:cors-same-origin>CORS-same-origin</a> or <a href=#cors-cross-origin id=the-img-element:cors-cross-origin>CORS-cross-origin</a>; this affects
the <a href=#origin-2 id=the-img-element:origin-2-4>origin</a> of the image itself (e.g. when used on a <code id=the-img-element:the-canvas-element-2><a href=#the-canvas-element>canvas</a></code>).</p>
@@ -17912,7 +18035,7 @@
<p>Fetching the image must <a href=#delay-the-load-event id=the-img-element:delay-the-load-event>delay the load event</a> of the element's document until the
<a href=#concept-task id=the-img-element:concept-task-2>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-6>queued</a> by the
- <a href=#networking-task-source id=the-img-element:networking-task-source>networking task source</a> once the resource has been <a href=#fetch id=the-img-element:fetch-2>fetched</a> (<a href=#img-load>defined below</a>) has been run.
+ <a href=#networking-task-source id=the-img-element:networking-task-source>networking task source</a> once the resource has been <a href=#fetch id=the-img-element:fetch-3>fetched</a> (<a href=#img-load>defined below</a>) has been run.
</p>
<p class=warning>This, unfortunately, can be used to perform a rudimentary port scan of the
@@ -17923,18 +18046,18 @@
<p>If the resource is <a href=#cors-same-origin id=the-img-element:cors-same-origin-2>CORS-same-origin</a>, each <a href=#concept-task id=the-img-element:concept-task-3>task</a>
that is <a href=#queue-a-task id=the-img-element:queue-a-task-7>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-2>networking task source</a>
- while the image is being <a href=#fetch id=the-img-element:fetch-3>fetched</a>,
+ while the image is being <a href=#fetch id=the-img-element:fetch-4>fetched</a>,
if <var>image request</var> is the <a href=#current-request id=the-img-element:current-request-17>current request</a>,
must <a href=#fire-a-progress-event id=the-img-element:fire-a-progress-event-2>fire a progress event</a> named <code id=the-img-element:event-progress><a href=#event-progress>progress</a></code> at the <code id=the-img-element:the-img-element-28><a href=#the-img-element>img</a></code> element.</p>
<li><p>End the <a href=#synchronous-section id=the-img-element:synchronous-section-4>synchronous section</a>, continuing the remaining steps asynchronously,
- but without missing any data from the <a href=#fetch id=the-img-element:fetch-4>fetch</a> algorithm.<li>
+ but without missing any data from the <a href=#fetch id=the-img-element:fetch-5>fetch</a> algorithm.<li>
<p>As soon as possible, jump to the first applicable entry from the following list:</p>
<dl class=switch><dt>If the resource type is <code id=the-img-element:multipart/x-mixed-replace><a href=#multipart/x-mixed-replace>multipart/x-mixed-replace</a></code><dd>
- <p>The next <a href=#concept-task id=the-img-element:concept-task-4>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-8>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-3>networking task source</a> while the image is being <a href=#fetch id=the-img-element:fetch-5>fetched</a> must run the following steps:</p>
+ <p>The next <a href=#concept-task id=the-img-element:concept-task-4>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-8>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-3>networking task source</a> while the image is being <a href=#fetch id=the-img-element:fetch-6>fetched</a> must run the following steps:</p>
<ol><li>
@@ -17971,7 +18094,7 @@
</ol>
- <p>Each <a href=#concept-task id=the-img-element:concept-task-5>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-9>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-4>networking task source</a> while the image is being <a href=#fetch id=the-img-element:fetch-6>fetched</a> must update the presentation of the image, but as each new body
+ <p>Each <a href=#concept-task id=the-img-element:concept-task-5>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-9>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-4>networking task source</a> while the image is being <a href=#fetch id=the-img-element:fetch-7>fetched</a> must update the presentation of the image, but as each new body
part comes in, it must replace the previous image. Once one body part has been completely
decoded, the user agent must set the <code id=the-img-element:the-img-element-29><a href=#the-img-element>img</a></code> element to the <a href=#img-all id=the-img-element:img-all-3>completely available</a> state and <a href=#queue-a-task id=the-img-element:queue-a-task-10>queue a task</a> to <a href=#fire-a-simple-event id=the-img-element:fire-a-simple-event-5>fire
a simple event</a> named <code id=the-img-element:event-load-2><a href=#event-load>load</a></code> at the <code id=the-img-element:the-img-element-30><a href=#the-img-element>img</a></code>
@@ -17982,7 +18105,7 @@
<dt>If the resource type and data corresponds to a supported image format, <a href=#img-determine-type>as described below</a><dd>
- <p>The next <a href=#concept-task id=the-img-element:concept-task-6>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-11>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-5>networking task source</a> while the image is being <a href=#fetch id=the-img-element:fetch-7>fetched</a> must run the following steps:</p>
+ <p>The next <a href=#concept-task id=the-img-element:concept-task-6>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-11>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-5>networking task source</a> while the image is being <a href=#fetch id=the-img-element:fetch-8>fetched</a> must run the following steps:</p>
<ol><li>
@@ -18025,18 +18148,18 @@
</ol>
<p id=img-load>That <a href=#concept-task id=the-img-element:concept-task-7>task</a>, and each subsequent <a href=#concept-task id=the-img-element:concept-task-8>task</a>, that is <a href=#queue-a-task id=the-img-element:queue-a-task-12>queued</a> by the
- <a href=#networking-task-source id=the-img-element:networking-task-source-6>networking task source</a> while the image is being <a href=#fetch id=the-img-element:fetch-8>fetched</a>,
+ <a href=#networking-task-source id=the-img-element:networking-task-source-6>networking task source</a> while the image is being <a href=#fetch id=the-img-element:fetch-9>fetched</a>,
if <var>image request</var> is the <a href=#current-request id=the-img-element:current-request-31>current request</a>,
must update the presentation of the image appropriately (e.g. if
the image is a progressive JPEG, each packet can improve the resolution of the image).</p>
<p>Furthermore, the last <a href=#concept-task id=the-img-element:concept-task-9>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-13>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-7>networking task source</a> once the resource has been
- <a href=#fetch id=the-img-element:fetch-9>fetched</a> must additionally run these steps:</p>
+ <a href=#fetch id=the-img-element:fetch-10>fetched</a> must additionally run these steps:</p>
<ol><li><p>Set <var>image request</var> to the <a href=#img-all id=the-img-element:img-all-4>completely
available</a> state.</p>
- <li><p>Add the image to the <a href=#list-of-available-images id=the-img-element:list-of-available-images-6>list of available images</a> using the key <var>key</var>, with the <a href=#ignore-higher-layer-caching id=the-img-element:ignore-higher-layer-caching-4>ignore higher-layer caching</a> flag set.<li><p><a href=#fire-a-progress-event-or-simple-event id=the-img-element:fire-a-progress-event-or-simple-event>Fire a progress event or simple event</a> named <code id=the-img-element:event-load-3><a href=#event-load>load</a></code>
+ <li><p>Add the image to the <a href=#list-of-available-images id=the-img-element:list-of-available-images-7>list of available images</a> using the key <var>key</var>, with the <a href=#ignore-higher-layer-caching id=the-img-element:ignore-higher-layer-caching-4>ignore higher-layer caching</a> flag set.<li><p><a href=#fire-a-progress-event-or-simple-event id=the-img-element:fire-a-progress-event-or-simple-event>Fire a progress event or simple event</a> named <code id=the-img-element:event-load-3><a href=#event-load>load</a></code>
at the <code id=the-img-element:the-img-element-37><a href=#the-img-element>img</a></code> element, depending on the resource in <var>image request</var>.<li><p><a href=#fire-a-progress-event-or-simple-event id=the-img-element:fire-a-progress-event-or-simple-event-2>Fire a progress event or simple event</a> named <code id=the-img-element:event-loadend-5><a href=#event-loadend>loadend</a></code>
at the <code id=the-img-element:the-img-element-38><a href=#the-img-element>img</a></code> element, depending on the resource in <var>image request</var>.</ol>
@@ -18056,7 +18179,7 @@
<p>To <dfn id=abort-the-image-request>abort the image request</dfn> for an <a href=#image-request id=the-img-element:image-request-10>image request</a> <var>image request</var> means to run the following steps:</p>
- <ol><li><p>Forget <var>image request</var>'s <a href=#img-req-data id=the-img-element:img-req-data-4>image data</a>, if any.<li><p>Abort any instance of the <a href=#fetch id=the-img-element:fetch-10>fetching</a> algorithm for <var>image request</var>,
+ <ol><li><p>Forget <var>image request</var>'s <a href=#img-req-data id=the-img-element:img-req-data-4>image data</a>, if any.<li><p>Abort any instance of the <a href=#fetch id=the-img-element:fetch-11>fetching</a> algorithm for <var>image request</var>,
discarding any pending tasks generated by that algorithm.</ol>
<p>To <dfn id=upgrade-the-pending-request-to-the-current-request>upgrade the pending request to the current request</dfn> for an <code id=the-img-element:the-img-element-41><a href=#the-img-element>img</a></code> element means to run the following steps:</p>
@@ -18127,7 +18250,7 @@
<p>When asked to <dfn id=update-the-source-set>update the source set</dfn> for a given <code id=the-img-element:the-img-element-52><a href=#the-img-element>img</a></code> element <var>el</var>,
user agents must do the following:</p>
- <ol><li><p>Set <var>el</var>'s <a href=#source-set id=the-img-element:source-set-4>source set</a> to an empty <a href=#source-set id=the-img-element:source-set-5>source set</a>.<li><p>If <var>el</var> has a parent node and that is a <code id=the-img-element:the-picture-element-8><a href=#the-picture-element>picture</a></code> element,
+ <ol><li><p>Set <var>el</var>'s <a href=#source-set id=the-img-element:source-set-4>source set</a> to an empty <a href=#source-set id=the-img-element:source-set-5>source set</a>.<li><p>If <var>el</var> has a parent node and that is a <code id=the-img-element:the-picture-element-9><a href=#the-picture-element>picture</a></code> element,
let <var>elements</var> be an array containing <var>el</var>'s parent node's child elements, retaining relative order.
Otherwise, let <var>elements</var> be array containing only <var>el</var>.<li>
@@ -18138,16 +18261,16 @@
<p>If <var>child</var> is <var>el</var>:</p>
- <ol><li><p>If <var>child</var> has a <code id=the-img-element:attr-img-srcset-8><a href=#attr-img-srcset>srcset</a></code> attribute,
+ <ol><li><p>If <var>child</var> has a <code id=the-img-element:attr-img-srcset-9><a href=#attr-img-srcset>srcset</a></code> attribute,
<a href=#parse-a-srcset-attribute id=the-img-element:parse-a-srcset-attribute>parse <var>child</var>'s srcset attribute</a>
and let the returned <a href=#source-set id=the-img-element:source-set-6>source set</a> be <var>source set</var>.
Otherwise, let <var>source set</var> be an empty <a href=#source-set id=the-img-element:source-set-7>source set</a>.<li><p><a href=#parse-a-sizes-attribute id=the-img-element:parse-a-sizes-attribute>Parse <var>child</var>'s sizes attribute</a> and
- let <var>source set</var>'s <a href=#source-size-2 id=the-img-element:source-size-2-3>source size</a> be the returned value.<li><p>If <var>child</var> has a <code id=the-img-element:attr-img-src-9><a href=#attr-img-src>src</a></code> attribute
+ let <var>source set</var>'s <a href=#source-size-2 id=the-img-element:source-size-2-3>source size</a> be the returned value.<li><p>If <var>child</var> has a <code id=the-img-element:attr-img-src-10><a href=#attr-img-src>src</a></code> attribute
whose value is not the empty string
and <var>source set</var> does not contain an
<a href=#image-source id=the-img-element:image-source-3>image source</a> with a density descriptor value of 1,
and no <a href=#image-source id=the-img-element:image-source-4>image source</a> with a width descriptor,
- append <var>child</var>'s <code id=the-img-element:attr-img-src-10><a href=#attr-img-src>src</a></code> attribute value to <var>source set</var>.<li><p>Let <var>el</var>'s <a href=#source-set id=the-img-element:source-set-8>source set</a> be <var>source set</var>.<li><p>Abort this algorithm.</ol>
+ append <var>child</var>'s <code id=the-img-element:attr-img-src-11><a href=#attr-img-src>src</a></code> attribute value to <var>source set</var>.<li><p>Let <var>el</var>'s <a href=#source-set id=the-img-element:source-set-8>source set</a> be <var>source set</var>.<li><p>Abort this algorithm.</ol>
<li><p>If <var>child</var> is not a <code id=the-img-element:the-source-element-when-used-with-the-picture-element-7><a href=#the-source-element-when-used-with-the-picture-element>source</a></code> element,
continue to the next child.
@@ -18168,7 +18291,7 @@
its previous sibling <code id=the-img-element:the-source-element-when-used-with-the-picture-element-9><a href=#the-source-element-when-used-with-the-picture-element>source</a></code> elements
plus the <code id=the-img-element:the-img-element-54><a href=#the-img-element>img</a></code> element itself
for selecting an <a href=#image-source id=the-img-element:image-source-6>image source</a>, ignoring any other (invalid) elements,
- including other <code id=the-img-element:the-img-element-55><a href=#the-img-element>img</a></code> elements in the same <code id=the-img-element:the-picture-element-9><a href=#the-picture-element>picture</a></code> element,
+ including other <code id=the-img-element:the-img-element-55><a href=#the-img-element>img</a></code> elements in the same <code id=the-img-element:the-picture-element-10><a href=#the-picture-element>picture</a></code> element,
or <code id=the-img-element:the-source-element-when-used-with-the-picture-element-10><a href=#the-source-element-when-used-with-the-picture-element>source</a></code> elements that are following siblings
of the relevant <code id=the-img-element:the-img-element-56><a href=#the-img-element>img</a></code> element.</p>
@@ -18367,8 +18490,8 @@
<ol><li><p>Asynchronously <a href=#await-a-stable-state id=the-img-element:await-a-stable-state-2>await a stable state</a>. The <a href=#synchronous-section id=the-img-element:synchronous-section-5>synchronous section</a>
consists of all the remaining steps of this algorithm until the algorithm says the
- <a href=#synchronous-section id=the-img-element:synchronous-section-6>synchronous section</a> has ended. (Steps in <a href=#synchronous-section id=the-img-element:synchronous-section-7>synchronous sections</a> are marked with ⌛.)<li><p>⌛ If the <code id=the-img-element:the-img-element-58><a href=#the-img-element>img</a></code> element does not have a <code id=the-img-element:attr-img-srcset-9><a href=#attr-img-srcset>srcset</a></code> attribute specified and it either has no parent
- or it is not a <code id=the-img-element:the-picture-element-10><a href=#the-picture-element>picture</a></code> element, is not in the <a href=#img-all id=the-img-element:img-all-6>completely available</a> state, has image data whose resource type is
+ <a href=#synchronous-section id=the-img-element:synchronous-section-6>synchronous section</a> has ended. (Steps in <a href=#synchronous-section id=the-img-element:synchronous-section-7>synchronous sections</a> are marked with ⌛.)<li><p>⌛ If the <code id=the-img-element:the-img-element-58><a href=#the-img-element>img</a></code> element does not have a <code id=the-img-element:attr-img-srcset-10><a href=#attr-img-srcset>srcset</a></code> attribute specified and it either has no parent
+ or it is not a <code id=the-img-element:the-picture-element-11><a href=#the-picture-element>picture</a></code> element, is not in the <a href=#img-all id=the-img-element:img-all-6>completely available</a> state, has image data whose resource type is
<code id=the-img-element:multipart/x-mixed-replace-3><a href=#multipart/x-mixed-replace>multipart/x-mixed-replace</a></code>, or if its <a href=#update-the-image-data id=the-img-element:update-the-image-data-4>update the image data</a> algorithm is
running, then abort this algorithm.<li><p>⌛ Let <var>selected source</var> and <var>selected pixel
density</var> be the URL and pixel density that results from <a href=#select-an-image-source id=the-img-element:select-an-image-source-2>selecting an image source</a>, respectively.<li><p>⌛ If <var>selected source</var> is null, then abort these steps.<li><p>⌛ If <var>selected source</var> and <var>selected pixel
@@ -18389,7 +18512,7 @@
mentioned earlier), or if the image format is unsupported (as determined by applying the <a href=http://mimesniff.spec.whatwg.org/#rules-for-sniffing-images-specifically id=the-img-element:content-type-sniffing:-image-2 data-x-internal=content-type-sniffing:-image>image sniffing rules</a>, again as mentioned earlier),
or if the resource type is <code id=the-img-element:multipart/x-mixed-replace-4><a href=#multipart/x-mixed-replace>multipart/x-mixed-replace</a></code>, then abort these steps.</p>
- <p>Otherwise, wait for the <a href=#fetch id=the-img-element:fetch-11>fetch</a> algorithm to queue its last task, and then
+ <p>Otherwise, wait for the <a href=#fetch id=the-img-element:fetch-12>fetch</a> algorithm to queue its last task, and then
continue with these steps. The data obtained in this way is used in the steps below.</p>
<li>
@@ -18416,10 +18539,10 @@
<hr>
- <p>What an <code id=the-img-element:the-img-element-66><a href=#the-img-element>img</a></code> element represents depends on the <code id=the-img-element:attr-img-src-11><a href=#attr-img-src>src</a></code> attribute and the <code id=the-img-element:attr-img-alt-3><a href=#attr-img-alt>alt</a></code>
+ <p>What an <code id=the-img-element:the-img-element-66><a href=#the-img-element>img</a></code> element represents depends on the <code id=the-img-element:attr-img-src-12><a href=#attr-img-src>src</a></code> attribute and the <code id=the-img-element:attr-img-alt-3><a href=#attr-img-alt>alt</a></code>
attribute.</p>
- <dl class=switch><dt>If the <code id=the-img-element:attr-img-src-12><a href=#attr-img-src>src</a></code> attribute is set and the <code id=the-img-element:attr-img-alt-4><a href=#attr-img-alt>alt</a></code> attribute is set to the empty string<dd>
+ <dl class=switch><dt>If the <code id=the-img-element:attr-img-src-13><a href=#attr-img-src>src</a></code> attribute is set and the <code id=the-img-element:attr-img-alt-4><a href=#attr-img-alt>alt</a></code> attribute is set to the empty string<dd>
<p>The image is either decorative or supplemental to the rest of the content, redundant with
some other information in the document.</p>
@@ -18431,7 +18554,7 @@
the rendering. User agents may provide the user with a notification that an image is present but
has been omitted from the rendering.</p>
- <dt>If the <code id=the-img-element:attr-img-src-13><a href=#attr-img-src>src</a></code> attribute is set and the <code id=the-img-element:attr-img-alt-5><a href=#attr-img-alt>alt</a></code> attribute is set to a value that isn't empty<dd>
+ <dt>If the <code id=the-img-element:attr-img-src-14><a href=#attr-img-src>src</a></code> attribute is set and the <code id=the-img-element:attr-img-alt-5><a href=#attr-img-alt>alt</a></code> attribute is set to a value that isn't empty<dd>
<p>The image is a key part of the content; the <code id=the-img-element:attr-img-alt-6><a href=#attr-img-alt>alt</a></code> attribute
gives a textual equivalent or replacement for the image.</p>
@@ -18442,7 +18565,7 @@
<p>Otherwise, the element <a href=#represents id=the-img-element:represents-4>represents</a> the text given by the <code id=the-img-element:attr-img-alt-7><a href=#attr-img-alt>alt</a></code> attribute. User agents may provide the user with a notification
that an image is present but has been omitted from the rendering.</p>
- <dt>If the <code id=the-img-element:attr-img-src-14><a href=#attr-img-src>src</a></code> attribute is set and the <code id=the-img-element:attr-img-alt-8><a href=#attr-img-alt>alt</a></code> attribute is not<dd>
+ <dt>If the <code id=the-img-element:attr-img-src-15><a href=#attr-img-src>src</a></code> attribute is set and the <code id=the-img-element:attr-img-alt-8><a href=#attr-img-alt>alt</a></code> attribute is not<dd>
<p>The image might be a key part of the content, and there is no textual equivalent of the image
available.</p>
@@ -18466,7 +18589,7 @@
than <a href=#inter-element-whitespace id=the-img-element:inter-element-whitespace>inter-element whitespace</a> and the <code id=the-img-element:the-img-element-67><a href=#the-img-element>img</a></code> element, then the contents of the first such
<code id=the-img-element:the-figcaption-element-3><a href=#the-figcaption-element>figcaption</a></code> element are the caption information; abort these steps.<li><p>There is no caption information.</ol>
- <dt>If the <code id=the-img-element:attr-img-src-15><a href=#attr-img-src>src</a></code> attribute is not set and either the <code id=the-img-element:attr-img-alt-10><a href=#attr-img-alt>alt</a></code> attribute is set to the empty string or the <code id=the-img-element:attr-img-alt-11><a href=#attr-img-alt>alt</a></code> attribute is not set at all<dd>
+ <dt>If the <code id=the-img-element:attr-img-src-16><a href=#attr-img-src>src</a></code> attribute is not set and either the <code id=the-img-element:attr-img-alt-10><a href=#attr-img-alt>alt</a></code> attribute is set to the empty string or the <code id=the-img-element:attr-img-alt-11><a href=#attr-img-alt>alt</a></code> attribute is not set at all<dd>
<p>The element <a href=#represents id=the-img-element:represents-6>represents</a> nothing.</p>
@@ -18517,7 +18640,7 @@
can result in confusing behavior when used together with
<code id=the-img-element:the-source-element-when-used-with-the-picture-element-11><a href=#the-source-element-when-used-with-the-picture-element>source</a></code> elements with the
<code id=the-img-element:attr-picture-source-media-3><a href=#attr-picture-source-media>media</a></code> attribute specified
- in a <code id=the-img-element:the-picture-element-11><a href=#the-picture-element>picture</a></code> element.</p>
+ in a <code id=the-img-element:the-picture-element-12><a href=#the-picture-element>picture</a></code> element.</p>
<p>The <code id=the-img-element:the-img-element-69><a href=#the-img-element>img</a></code> element supports <a href=#dimension-attributes id=the-img-element:dimension-attributes>dimension
attributes</a>.</p>
@@ -18591,11 +18714,11 @@
<p>The IDL attribute <dfn id=dom-img-complete><code>complete</code></dfn> must return true if
any of the following conditions is true:</p>
- <ul class=brief><li>Both the <code id=the-img-element:attr-img-src-16><a href=#attr-img-src>src</a></code> attribute and the <code id=the-img-element:attr-img-srcset-10><a href=#attr-img-srcset>srcset</a></code> attribute are omitted.
+ <ul class=brief><li>Both the <code id=the-img-element:attr-img-src-17><a href=#attr-img-src>src</a></code> attribute and the <code id=the-img-element:attr-img-srcset-11><a href=#attr-img-srcset>srcset</a></code> attribute are omitted.
- <li>The <code id=the-img-element:attr-img-srcset-11><a href=#attr-img-srcset>srcset</a></code> attribute is omitted and the <code id=the-img-element:attr-img-src-17><a href=#attr-img-src>src</a></code> attribute's value is the empty string.
+ <li>The <code id=the-img-element:attr-img-srcset-12><a href=#attr-img-srcset>srcset</a></code> attribute is omitted and the <code id=the-img-element:attr-img-src-18><a href=#attr-img-src>src</a></code> attribute's value is the empty string.
- <li>The final <a href=#concept-task id=the-img-element:concept-task-11>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-17>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-8>networking task source</a> once the resource has been <a href=#fetch id=the-img-element:fetch-12>fetched</a> has been <a href=#queue-a-task id=the-img-element:queue-a-task-18>queued</a>.
+ <li>The final <a href=#concept-task id=the-img-element:concept-task-11>task</a> that is <a href=#queue-a-task id=the-img-element:queue-a-task-17>queued</a> by the <a href=#networking-task-source id=the-img-element:networking-task-source-8>networking task source</a> once the resource has been <a href=#fetch id=the-img-element:fetch-13>fetched</a> has been <a href=#queue-a-task id=the-img-element:queue-a-task-18>queued</a>.
<li>The <code id=the-img-element:the-img-element-71><a href=#the-img-element>img</a></code> element is <a href=#img-all id=the-img-element:img-all-7>completely available</a>.
@@ -19562,8 +19685,6 @@
-
-
<h4 id=the-iframe-element>4.8.6 The <dfn><code>iframe</code></dfn> element</h4>
<dl class=element><dt><a href=#concept-element-categories id=the-iframe-element:concept-element-categories>Categories</a>:<dd><a href=#flow-content-2 id=the-iframe-element:flow-content-2>Flow content</a>.<dd><a href=#phrasing-content-2 id=the-iframe-element:phrasing-content-2>Phrasing content</a>.<dd><a href=#embedded-content-category id=the-iframe-element:embedded-content-category>Embedded content</a>.<dd><a href=#interactive-content-2 id=the-iframe-element:interactive-content-2>Interactive content</a>.<dd><a href=#palpable-content-2 id=the-iframe-element:palpable-content-2>Palpable content</a>.<dt><a href=#concept-element-contexts id=the-iframe-element:concept-element-contexts>Contexts in which this element can be used</a>:<dd>Where <a href=#embedded-content-category id=the-iframe-element:embedded-content-category-2>embedded content</a> is expected.<dt><a href=#concept-element-content-model id=the-iframe-element:concept-element-content-model>Content model</a>:<dd>Text th
at conforms to <a href=#iframe-content-model>the requirements given in the prose</a>.<dt><a href=#concept-element-tag-omission id=the-iframe-element:concept-element-tag-omission>Tag omission in text/html</a>:<dd>Neither tag is omissible.<dt><a href=#concept-element-attributes id=the-iframe-element:concept-element-attributes>Content attributes</a>:<dd><a href=#global-attributes id=the-iframe-element:global-attributes>Global attributes</a><dd><code id=the-iframe-element:attr-iframe-src><a href=#attr-iframe-src>src</a></code> — Address of the resource<dd><code id=the-iframe-element:attr-iframe-srcdoc><a href=#attr-iframe-srcdoc>srcdoc</a></code> — A document to render in the <code id=the-iframe-element:the-iframe-element><a href=#the-iframe-element>iframe</a></code><dd><code id=the-iframe-element:attr-iframe-name><a href=#attr-iframe-name>name</a></code> — Name of <a href=#nested-browsing-context id=the-iframe-element:nested-browsing-context>nested browsing context</a><dd
><code id=the-iframe-element:attr-iframe-sandbox><a href=#attr-iframe-sandbox>sandbox</a></code> — Security rules for nested content<dd><code id=the-iframe-element:attr-iframe-seamless><a href=#attr-iframe-seamless>seamless</a></code> — Whether to apply the document's styles to the nested content<dd><code id=the-iframe-element:attr-iframe-allowfullscreen><a href=#attr-iframe-allowfullscreen>allowfullscreen</a></code> — Whether to allow the <code id=the-iframe-element:the-iframe-element-2><a href=#the-iframe-element>iframe</a></code>'s contents to use <code id=the-iframe-element:dom-element-requestfullscreen><a href=#dom-element-requestfullscreen>requestFullscreen()</a></code><dd><code id=the-iframe-element:attr-dim-width><a href=#attr-dim-width>width</a></code> — Horizontal dimension<dd><code id=the-iframe-element:attr-dim-height><a href=#attr-dim-height>height</a></code> — Vertical dimension<dt><a href=#concept-element-dom id=the-iframe-element:concept-element-dom
>DOM interface</a>:<dd>
@@ -83596,7 +83717,7 @@
- <dl id=ref-list><dt id=refsABNF>[ABNF]<dd><cite><a href=http://www.ietf.org/rfc/std/std68.txt>Augmented BNF for Syntax Specifications: ABNF</a></cite>, D. Crocker, P. Overell. IETF.<dt id=refsABOUT>[ABOUT]<dd><cite><a href=http://tools.ietf.org/html/rfc6694>The 'about' URI scheme</a></cite>, S. Moonesamy. IETF.<dt id=refsARIA>[ARIA]<dd><cite><a href=http://www.w3.org/WAI/PF/aria/>Accessible Rich Internet Applications (WAI-ARIA)</a></cite>, J. Craig, M. Cooper, L. Pappas, R. Schwerdtfeger, L. Seeman. W3C.<dt id=refsARIAIMPL>[ARIAIMPL]<dd><cite><a href=http://www.w3.org/WAI/PF/aria-implementation/>WAI-ARIA 1.0 User Agent Implementation Guide</a></cite>, A. Snow-Weaver, M. Cooper. W3C.<dt id=refsATAG>[ATAG]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/ATAG20/>Authoring Tool Accessibility Guidelines (ATAG) 2.0</a></cite>, J. Richards, J. Spellman, J. Treviranus. W3C.<dt id=refsATOM>[ATOM]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc4287>The Atom Syn
dication Format</a></cite>, M. Nottingham, R. Sayre. IETF.<dt id=refsBCP47>[BCP47]<dd><cite><a href=http://www.ietf.org/rfc/bcp/bcp47.txt>Tags for Identifying Languages; Matching of Language Tags</a></cite>, A. Phillips, M. Davis. IETF.<dt id=refsBECSS>[BECSS]<dd><cite><a href=http://www.w3.org/TR/becss/>Behavioral Extensions to CSS</a></cite>, I. Hickson. W3C.<dt id=refsBEZIER>[BEZIER]<dd><cite>Courbes à poles</cite>, P. de Casteljau. INPI, 1959.<dt id=refsBIDI>[BIDI]<dd><cite><a href=http://www.unicode.org/reports/tr9/>UAX #9: Unicode Bidirectional Algorithm</a></cite>, M. Davis. Unicode Consortium.<dt id=refsBOCU1>[BOCU1]<dd>(Non-normative) <cite><a href=http://www.unicode.org/notes/tn6/>UTN #6: BOCU-1: MIME-Compatible Unicode Compression</a></cite>, M. Scherer, M. Davis. Unicode Consortium.<dt id=refsCESU8>[CESU8]<dd>(Non-normative) <cite><a href=http://www.unicode.org/reports/tr26/>UTR #26: Compatibility Encoding Scheme For UTF-16: 8-BIT (CESU-8)</a></cite>, T. Phipps.
Unicode Consortium.<dt id=refsCHARMOD>[CHARMOD]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/charmod/>Character Model for the World Wide Web 1.0: Fundamentals</a></cite>, M. Dürst, F. Yergeau, R. Ishida, M. Wolf, T. Texin. W3C.<dt id=refsCLDR>[CLDR]<dd><cite><a href=http://cldr.unicode.org/>Unicode Common Locale Data Repository</a></cite>. Unicode.<dt id=refsCOMPOSITE>[COMPOSITE]<dd><cite><a href=http://dev.w3.org/fxtf/compositing/>Compositing and Blending</a></cite>. R. Cabanier, N. Andronikos. W3C.<dt id=refsCOMPUTABLE>[COMPUTABLE]<dd>(Non-normative) <cite><a href=http://www.turingarchive.org/browse.php/B/12>On computable numbers, with an application to the Entscheidungsproblem</a></cite>, A. Turing. In <cite>Proceedings of the London Mathematical Society</cite>, series 2, volume 42, pages 230-265. London Mathematical Society, 1937.<dt id=refsCOOKIES>[COOKIES]<dd><cite><a href=http://tools.ietf.org/html/rfc6265>HTTP State Management Mechanism</a></cite>, A. Bart
h. IETF.<dt id=refsCP50220>[CP50220]<dd>(Non-normative) <cite><a href=http://www.iana.org/assignments/charset-reg/CP50220>CP50220</a></cite>, Y. Naruse. IANA.<dt id=refsCSP>[CSP]<dd>(Non-normative) <cite><a href=http://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html>Content Security Policy</a></cite>, B. Sterne, A. Barth. W3C.<dt id=refsCSS>[CSS]<dd><cite><a href=http://www.w3.org/TR/CSS2/>Cascading Style Sheets Level 2 Revision 1</a></cite>, B. Bos, T. Çelik, I. Hickson, H. Lie. W3C.<dt id=refsCSSANIMATIONS>[CSSANIMATIONS]<dd>(Non-normative) <cite><a href=http://dev.w3.org/csswg/css3-animations/>CSS Animations</a></cite>, D. Jackson, D. Hyatt, C. Marrin, S. Galineau, L. Baron. W3C.<dt id=refsCSSATTR>[CSSATTR]<dd><cite><a href=http://dev.w3.org/csswg/css-style-attr/>CSS Styling Attribute Syntax</a></cite>, T. Çelik, E. Etemad. W3C.<dt id=refsCSSCOLOR>[CSSCOLOR]<dd><cite><a href=http://dev.w3.org/csswg/css3-color/>CSS Color Module Level 3</a><
/cite>, T. Çelik, C. Lilley, L. Baron. W3C.<dt id=refsCSSFONTLOAD>[CSSFONTLOAD]<dd><cite><a href=http://dev.w3.org/csswg/css-font-loading/>CSS Font Loading</a></cite>, T. Atkins, J. Daggett. W3C.<dt id=refsCSSFONTS>[CSSFONTS]<dd><cite><a href=http://dev.w3.org/csswg/css3-fonts/>CSS Fonts</a></cite>, J. Daggett. W3C.<dt id=refsCSSGC>[CSSGC]<dd><cite><a href=http://dev.w3.org/csswg/css-content>CSS Generated Content</a></cite>, H. Lie, E. Etemad, I. Hickson. W3C.<dt id=refsCSSIMAGES>[CSSIMAGES]<dd><cite><a href=http://dev.w3.org/csswg/css-images/>CSS Image Values and Replaced Content Module</a></cite>, E. Etemad, T. Atkins. W3C.<dt id=refsCSSOM>[CSSOM]<dd><cite><a href=http://dev.w3.org/csswg/cssom/>Cascading Style Sheets Object Model (CSSOM)</a></cite>, S. Pieters, G. Adams. W3C.<dt id=refsCSSOMVIEW>[CSSOMVIEW]<dd><cite><a href=http://dev.w3.org/csswg/cssom-view/>CSSOM View Module</a></cite>, S. Pieters, G. Adams. W3C.<dt id=refsCSSRUBY>[CSSRUBY]<dd><cite><a href=http://dev.w
3.org/csswg/css3-ruby/>CSS3 Ruby Module</a></cite>, R. Ishida. W3C.<dt id=refsCSSTRANSITIONS>[CSSTRANSITIONS]<dd>(Non-normative) <cite><a href=http://dev.w3.org/csswg/css3-transitions/>CSS Transitions</a></cite>, D. Jackson, D. Hyatt, C. Marrin, L. Baron. W3C.<dt id=refsCSSUI>[CSSUI]<dd><cite><a href=http://dev.w3.org/csswg/css3-ui/>CSS3 Basic User Interface Module</a></cite>, T. Çelik. W3C.<dt id=refsCSSSCOPED>[CSSSCOPED]<dd><cite><a href=http://dev.w3.org/csswg/css-scoping/>CSS Scoping</a></cite>, T. Atkins, E. Etemad. W3C.<dt id=refsCSSSYNTAX>[CSSSYNTAX]<dd><cite><a href=http://dev.w3.org/csswg/css-syntax/>CSS Syntax</a></cite>, T. Atkins, S. Sapin. W3C.<dt id=refsCSSVALUES>[CSSVALUES]<dd><cite><a href=http://dev.w3.org/csswg/css3-values/>CSS3 Values and Units</a></cite>, H. Lie, T. Atkins, E. Etemad. W3C.<dt id=refsCSSWM>[CSSWM]<dd><cite><a href=http://dev.w3.org/csswg/css-writing-modes>CSS Writing Modes</a></cite>, E. Etemad, K. Ishii. W3C.<dt id=refsDASH>[DASH]<dd><ci
te><a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=57623">Dynamic adaptive streaming over HTTP (DASH)</a></cite>. ISO.<dt id=refsDOM>[DOM]<dd><cite><a href=http://dom.spec.whatwg.org/>DOM</a></cite>, A. van Kesteren, A. Gregor, Ms2ger. WHATWG.<dt id=refsDOMEVENTS>[DOMEVENTS]<dd><cite><a href=https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html>Document Object Model (DOM) Level 3 Events Specification</a></cite>, G. Kacmarcik, T. Leithead, J. Rossi, D. Schepers, B. Höhrmann, P. Le Hégaret, T. Pixley. W3C.<dt id=refsDOMPARSING>[DOMPARSING]<dd><cite><a href=http://domparsing.spec.whatwg.org/ lang=en-US>DOM Parsing and Serialization</a></cite>, Ms2ger. WHATWG.<dt id=refsDOT>[DOT]<dd>(Non-normative) <cite><a href=http://www.graphviz.org/content/dot-language>The DOT Language</a></cite>. Graphviz.<dt id=refsE163>[E163]<dd><cite>Recommendation E.163 — Numbering Plan for The International Telephone Service</cite>, CCITT Blue
Book, Fascicle II.2, pp. 128-134, November 1988.<dt id=refsECMA262>[ECMA262]<dd><cite><a href=http://people.mozilla.org/~jorendorff/es6-draft.html>ECMAScript Language Specification</a></cite>. ECMA.<dt id=refsEDITING>[EDITING]<dd><cite><a href=http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html>HTML Editing APIs</a></cite>, A. Gregor. W3C Editing APIs CG.<dt id=refsENCODING>[ENCODING]<dd><cite><a href=http://encoding.spec.whatwg.org/>Encoding</a></cite>, A. van Kesteren, J. Bell. WHATWG.<dt id=refsFETCH>[FETCH]<dd><cite><a href=http://fetch.spec.whatwg.org/>Fetch</a></cite>, A. van Kesteren. WHATWG.<dt id=refsFILEAPI>[FILEAPI]<dd><cite><a href=http://dev.w3.org/2006/webapi/FileAPI/>File API</a></cite>, A. Ranganathan. W3C.<dt id=refsFULLSCREEN>[FULLSCREEN]<dd><cite><a href=http://fullscreen.spec.whatwg.org/>Fullscreen</a></cite>, A. van Kesteren, T. Çelik. WHATWG.<dt id=refsGIF>[GIF]<dd>(Non-normative) <cite><a href=http://www.w3.org/Graphics/GIF/spec-gif89a.txt>Graphi
cs Interchange Format</a></cite>. CompuServe.<dt id=refsGRAPHICS>[GRAPHICS]<dd>(Non-normative) <cite>Computer Graphics: Principles and Practice in C</cite>, Second Edition, J. Foley, A. van Dam, S. Feiner, J. Hughes. Addison-Wesley. ISBN 0-201-84840-6.<dt id=refsGREGORIAN>[GREGORIAN]<dd>(Non-normative) <cite>Inter Gravissimas</cite>, A. Lilius, C. Clavius. Gregory XIII Papal Bull, February 1582.<dt id=refsHTTP>[HTTP]<dd><cite><a href=http://tools.ietf.org/html/rfc7230>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7231>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7232>Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7233>Hypertext Transfer Protocol (HTTP/1.1): R
ange Requests</a></cite>, R. Fielding, Y. Lafon, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7234>Hypertext Transfer Protocol (HTTP/1.1): Caching</a></cite>, R. Fielding, M. Nottingham, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7235>Hypertext Transfer Protocol (HTTP/1.1): Authentication</a></cite>, R. Fielding, J. Reschke. IETF.<dt id=refsHTTPS>[HTTPS]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc2818>HTTP Over TLS</a></cite>, E. Rescorla. IETF.<dt id=refsIANAPERMHEADERS>[IANAPERMHEADERS]<dd><cite><a href=http://www.iana.org/assignments/message-headers/perm-headers.html>Permanent Message Header Field Names</a></cite>. IANA.<dt id=refsISO3166>[ISO3166]<dd><cite><a href=http://www.iso.org/iso/home/standards/country_codes.htm>ISO 3166: Codes for the representation of names of countries and their subdivisions</a></cite>. ISO.<dt id=refsISO8601>[ISO8601]<dd>(Non-normative) <cite><a href="http://isotc.iso.org/livelink/l
ivelink/4021199/ISO_8601_2004_E.zip?func=doc.Fetch&nodeid=4021199">ISO8601: Data elements and interchange formats — Information interchange — Representation of dates and times</a></cite>. ISO.<dt id=refsJLREQ>[JLREQ]<dd><cite><a href=http://www.w3.org/TR/jlreq/>Requirements for Japanese Text Layout</a></cite>. W3C.<dt id=refsJPEG>[JPEG]<dd><cite><a href=http://www.w3.org/Graphics/JPEG/jfif3.pdf>JPEG File Interchange Format</a></cite>, E. Hamilton.<dt id=refsJSON>[JSON]<dd><cite><a href=http://tools.ietf.org/html/rfc4627>The application/json Media Type for JavaScript Object Notation (JSON)</a></cite>, D. Crockford. IETF.<dt id=refsMAILTO>[MAILTO]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc6068>The 'mailto' URI scheme</a></cite>, M. Duerst, L. Masinter, J. Zawinski. IETF.<dt id=refsMATHML>[MATHML]<dd><cite><a href=http://www.w3.org/TR/MathML/>Mathematical Markup Language (MathML)</a></cite>, D. Carlisle, P. Ion, R. Miner, N. Poppelier. W3C.<dt id=re
fsMEDIAFRAG>[MEDIAFRAG]<dd><cite><a href=http://www.w3.org/2008/WebVideo/Fragments/WD-media-fragments-spec/>Media Fragments URI</a></cite>, R. Troncy, E. Mannens, S. Pfeiffer, D. Van Deursen. W3C.<dt id=refsMFREL>[MFREL]<dd><cite><a href=http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions>Microformats Wiki: existing rel values</a></cite>. Microformats.<dt id=refsMIMESNIFF>[MIMESNIFF]<dd><cite><a href=http://mimesniff.spec.whatwg.org/>MIME Sniffing</a></cite>, G. Hemsley. WHATWG.<dt id=refsMPEG2>[MPEG2]<dd><cite>ISO/IEC 13818-1: Information technology — Generic coding of moving pictures and associated audio information: Systems</cite>. ISO/IEC.<dt id=refsMPEG4>[MPEG4]<dd><cite>ISO/IEC 14496-12: ISO base media file format</cite>. ISO/IEC.<dt id=refsMQ>[MQ]<dd><cite><a href=http://dev.w3.org/csswg/css3-mediaqueries/>Media Queries</a></cite>, H. Lie, T. Çelik, D. Glazman, A. van Kesteren. W3C.<dt id=refsNPAPI>[NPAPI]<dd>(Non-normative) <cite><a href=h
ttps://developer.mozilla.org/en/Gecko_Plugin_API_Reference>Gecko Plugin API Reference</a></cite>. Mozilla.<dt id=refsOGGSKELETONHEADERS>[OGGSKELETONHEADERS]<dd><cite><a href=http://wiki.xiph.org/SkeletonHeaders>SkeletonHeaders</a></cite>. Xiph.Org.<dt id=refsOPENSEARCH>[OPENSEARCH]<dd><cite><a href=http://www.opensearch.org/Specifications/OpenSearch/1.1#Autodiscovery_in_HTML.2FXHTML>Autodiscovery in HTML/XHTML</a></cite>. In <cite>OpenSearch 1.1 Draft 4</cite>, Section 4.6.2. OpenSearch.org.<dt id=refsORIGIN>[ORIGIN]<dd><cite><a href=http://tools.ietf.org/html/rfc6454>The Web Origin Concept</a></cite>, A. Barth. IETF.<dt id=refsPAGEVIS>[PAGEVIS]<dd>(Non-normative) <cite><a href=https://w3c.github.io/web-performance/specs/PageVisibility/Overview.html>Page Visibility</a></cite>, J. Mann, A. Jain. W3C.<dt id=refsPDF>[PDF]<dd>(Non-normative) <cite><a href=http://www.adobe.com/devnet/acrobat/pdfs/PDF32000_2008.pdf>Document management — Portable document format — Part 1: PDF</
a></cite>. ISO.<dt id=refsPINGBACK>[PINGBACK]<dd><cite><a href=http://www.hixie.ch/specs/pingback/pingback>Pingback 1.0</a></cite>, S. Langridge, I. Hickson.<dt id=refsPNG>[PNG]<dd><cite><a href=http://www.w3.org/TR/PNG/>Portable Network Graphics (PNG) Specification</a></cite>, D. Duce. W3C.<dt id=refsPOINTERLOCK>[POINTERLOCK]<dd><cite><a href=http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html>Pointer Lock</a></cite>, V. Scheib. W3C.<dt id=refsPPUTF8>[PPUTF8]<dd>(Non-normative) <cite><a href=http://www.sw.it.aoyama.ac.jp/2012/pub/IUC11-UTF-8.pdf>The Properties and Promises of UTF-8</a></cite>, M. Dürst. University of Zürich. In <cite>Proceedings of the 11th International Unicode Conference</cite>.<dt id=refsPSL>[PSL]<dd><cite><a href=http://publicsuffix.org/>Public Suffix List</a></cite>.
+ <dl id=ref-list><dt id=refsABNF>[ABNF]<dd><cite><a href=http://www.ietf.org/rfc/std/std68.txt>Augmented BNF for Syntax Specifications: ABNF</a></cite>, D. Crocker, P. Overell. IETF.<dt id=refsABOUT>[ABOUT]<dd><cite><a href=http://tools.ietf.org/html/rfc6694>The 'about' URI scheme</a></cite>, S. Moonesamy. IETF.<dt id=refsAPNG>[APNG]<dd>(Non-normative) <cite><a href=https://wiki.mozilla.org/APNG_Specification>APNG Specification</a></cite>. S. Parmenter, V. Vukicevic, A. Smith. Mozilla.<dt id=refsARIA>[ARIA]<dd><cite><a href=http://www.w3.org/WAI/PF/aria/>Accessible Rich Internet Applications (WAI-ARIA)</a></cite>, J. Craig, M. Cooper, L. Pappas, R. Schwerdtfeger, L. Seeman. W3C.<dt id=refsARIAIMPL>[ARIAIMPL]<dd><cite><a href=http://www.w3.org/WAI/PF/aria-implementation/>WAI-ARIA 1.0 User Agent Implementation Guide</a></cite>, A. Snow-Weaver, M. Cooper. W3C.<dt id=refsATAG>[ATAG]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/ATAG20/>Authoring Tool Accessibility Guide
lines (ATAG) 2.0</a></cite>, J. Richards, J. Spellman, J. Treviranus. W3C.<dt id=refsATOM>[ATOM]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc4287>The Atom Syndication Format</a></cite>, M. Nottingham, R. Sayre. IETF.<dt id=refsBCP47>[BCP47]<dd><cite><a href=http://www.ietf.org/rfc/bcp/bcp47.txt>Tags for Identifying Languages; Matching of Language Tags</a></cite>, A. Phillips, M. Davis. IETF.<dt id=refsBECSS>[BECSS]<dd><cite><a href=http://www.w3.org/TR/becss/>Behavioral Extensions to CSS</a></cite>, I. Hickson. W3C.<dt id=refsBEZIER>[BEZIER]<dd><cite>Courbes à poles</cite>, P. de Casteljau. INPI, 1959.<dt id=refsBIDI>[BIDI]<dd><cite><a href=http://www.unicode.org/reports/tr9/>UAX #9: Unicode Bidirectional Algorithm</a></cite>, M. Davis. Unicode Consortium.<dt id=refsBOCU1>[BOCU1]<dd>(Non-normative) <cite><a href=http://www.unicode.org/notes/tn6/>UTN #6: BOCU-1: MIME-Compatible Unicode Compression</a></cite>, M. Scherer, M. Davis. Unicode Consortium.<dt id
=refsCESU8>[CESU8]<dd>(Non-normative) <cite><a href=http://www.unicode.org/reports/tr26/>UTR #26: Compatibility Encoding Scheme For UTF-16: 8-BIT (CESU-8)</a></cite>, T. Phipps. Unicode Consortium.<dt id=refsCHARMOD>[CHARMOD]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/charmod/>Character Model for the World Wide Web 1.0: Fundamentals</a></cite>, M. Dürst, F. Yergeau, R. Ishida, M. Wolf, T. Texin. W3C.<dt id=refsCLDR>[CLDR]<dd><cite><a href=http://cldr.unicode.org/>Unicode Common Locale Data Repository</a></cite>. Unicode.<dt id=refsCOMPOSITE>[COMPOSITE]<dd><cite><a href=http://dev.w3.org/fxtf/compositing/>Compositing and Blending</a></cite>. R. Cabanier, N. Andronikos. W3C.<dt id=refsCOMPUTABLE>[COMPUTABLE]<dd>(Non-normative) <cite><a href=http://www.turingarchive.org/browse.php/B/12>On computable numbers, with an application to the Entscheidungsproblem</a></cite>, A. Turing. In <cite>Proceedings of the London Mathematical Society</cite>, series 2, volume 42, page
s 230-265. London Mathematical Society, 1937.<dt id=refsCOOKIES>[COOKIES]<dd><cite><a href=http://tools.ietf.org/html/rfc6265>HTTP State Management Mechanism</a></cite>, A. Barth. IETF.<dt id=refsCP50220>[CP50220]<dd>(Non-normative) <cite><a href=http://www.iana.org/assignments/charset-reg/CP50220>CP50220</a></cite>, Y. Naruse. IANA.<dt id=refsCSP>[CSP]<dd>(Non-normative) <cite><a href=http://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html>Content Security Policy</a></cite>, B. Sterne, A. Barth. W3C.<dt id=refsCSS>[CSS]<dd><cite><a href=http://www.w3.org/TR/CSS2/>Cascading Style Sheets Level 2 Revision 1</a></cite>, B. Bos, T. Çelik, I. Hickson, H. Lie. W3C.<dt id=refsCSSANIMATIONS>[CSSANIMATIONS]<dd>(Non-normative) <cite><a href=http://dev.w3.org/csswg/css3-animations/>CSS Animations</a></cite>, D. Jackson, D. Hyatt, C. Marrin, S. Galineau, L. Baron. W3C.<dt id=refsCSSATTR>[CSSATTR]<dd><cite><a href=http://dev.w3.org/csswg/css-style-attr/>CSS
Styling Attribute Syntax</a></cite>, T. Çelik, E. Etemad. W3C.<dt id=refsCSSCOLOR>[CSSCOLOR]<dd><cite><a href=http://dev.w3.org/csswg/css3-color/>CSS Color Module Level 3</a></cite>, T. Çelik, C. Lilley, L. Baron. W3C.<dt id=refsCSSFONTLOAD>[CSSFONTLOAD]<dd><cite><a href=http://dev.w3.org/csswg/css-font-loading/>CSS Font Loading</a></cite>, T. Atkins, J. Daggett. W3C.<dt id=refsCSSFONTS>[CSSFONTS]<dd><cite><a href=http://dev.w3.org/csswg/css3-fonts/>CSS Fonts</a></cite>, J. Daggett. W3C.<dt id=refsCSSGC>[CSSGC]<dd><cite><a href=http://dev.w3.org/csswg/css-content>CSS Generated Content</a></cite>, H. Lie, E. Etemad, I. Hickson. W3C.<dt id=refsCSSIMAGES>[CSSIMAGES]<dd><cite><a href=http://dev.w3.org/csswg/css-images/>CSS Image Values and Replaced Content Module</a></cite>, E. Etemad, T. Atkins. W3C.<dt id=refsCSSOM>[CSSOM]<dd><cite><a href=http://dev.w3.org/csswg/cssom/>Cascading Style Sheets Object Model (CSSOM)</a></cite>, S. Pieters, G. Adams. W3C.<dt id=refsCSSOMVIEW>[C
SSOMVIEW]<dd><cite><a href=http://dev.w3.org/csswg/cssom-view/>CSSOM View Module</a></cite>, S. Pieters, G. Adams. W3C.<dt id=refsCSSRUBY>[CSSRUBY]<dd><cite><a href=http://dev.w3.org/csswg/css3-ruby/>CSS3 Ruby Module</a></cite>, R. Ishida. W3C.<dt id=refsCSSTRANSITIONS>[CSSTRANSITIONS]<dd>(Non-normative) <cite><a href=http://dev.w3.org/csswg/css3-transitions/>CSS Transitions</a></cite>, D. Jackson, D. Hyatt, C. Marrin, L. Baron. W3C.<dt id=refsCSSUI>[CSSUI]<dd><cite><a href=http://dev.w3.org/csswg/css3-ui/>CSS3 Basic User Interface Module</a></cite>, T. Çelik. W3C.<dt id=refsCSSSCOPED>[CSSSCOPED]<dd><cite><a href=http://dev.w3.org/csswg/css-scoping/>CSS Scoping</a></cite>, T. Atkins, E. Etemad. W3C.<dt id=refsCSSSYNTAX>[CSSSYNTAX]<dd><cite><a href=http://dev.w3.org/csswg/css-syntax/>CSS Syntax</a></cite>, T. Atkins, S. Sapin. W3C.<dt id=refsCSSVALUES>[CSSVALUES]<dd><cite><a href=http://dev.w3.org/csswg/css3-values/>CSS3 Values and Units</a></cite>, H. Lie, T. Atkins, E. Ete
mad. W3C.<dt id=refsCSSWM>[CSSWM]<dd><cite><a href=http://dev.w3.org/csswg/css-writing-modes>CSS Writing Modes</a></cite>, E. Etemad, K. Ishii. W3C.<dt id=refsDASH>[DASH]<dd><cite><a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=57623">Dynamic adaptive streaming over HTTP (DASH)</a></cite>. ISO.<dt id=refsDOM>[DOM]<dd><cite><a href=http://dom.spec.whatwg.org/>DOM</a></cite>, A. van Kesteren, A. Gregor, Ms2ger. WHATWG.<dt id=refsDOMEVENTS>[DOMEVENTS]<dd><cite><a href=https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html>Document Object Model (DOM) Level 3 Events Specification</a></cite>, G. Kacmarcik, T. Leithead, J. Rossi, D. Schepers, B. Höhrmann, P. Le Hégaret, T. Pixley. W3C.<dt id=refsDOMPARSING>[DOMPARSING]<dd><cite><a href=http://domparsing.spec.whatwg.org/ lang=en-US>DOM Parsing and Serialization</a></cite>, Ms2ger. WHATWG.<dt id=refsDOT>[DOT]<dd>(Non-normative) <cite><a href=http://www.graphviz.org/content/dot-
language>The DOT Language</a></cite>. Graphviz.<dt id=refsE163>[E163]<dd><cite>Recommendation E.163 — Numbering Plan for The International Telephone Service</cite>, CCITT Blue Book, Fascicle II.2, pp. 128-134, November 1988.<dt id=refsECMA262>[ECMA262]<dd><cite><a href=http://people.mozilla.org/~jorendorff/es6-draft.html>ECMAScript Language Specification</a></cite>. ECMA.<dt id=refsEDITING>[EDITING]<dd><cite><a href=http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html>HTML Editing APIs</a></cite>, A. Gregor. W3C Editing APIs CG.<dt id=refsENCODING>[ENCODING]<dd><cite><a href=http://encoding.spec.whatwg.org/>Encoding</a></cite>, A. van Kesteren, J. Bell. WHATWG.<dt id=refsFETCH>[FETCH]<dd><cite><a href=http://fetch.spec.whatwg.org/>Fetch</a></cite>, A. van Kesteren. WHATWG.<dt id=refsFILEAPI>[FILEAPI]<dd><cite><a href=http://dev.w3.org/2006/webapi/FileAPI/>File API</a></cite>, A. Ranganathan. W3C.<dt id=refsFULLSCREEN>[FULLSCREEN]<dd><cite><a href=http://fullscreen.spec.
whatwg.org/>Fullscreen</a></cite>, A. van Kesteren, T. Çelik. WHATWG.<dt id=refsGIF>[GIF]<dd>(Non-normative) <cite><a href=http://www.w3.org/Graphics/GIF/spec-gif89a.txt>Graphics Interchange Format</a></cite>. CompuServe.<dt id=refsGRAPHICS>[GRAPHICS]<dd>(Non-normative) <cite>Computer Graphics: Principles and Practice in C</cite>, Second Edition, J. Foley, A. van Dam, S. Feiner, J. Hughes. Addison-Wesley. ISBN 0-201-84840-6.<dt id=refsGREGORIAN>[GREGORIAN]<dd>(Non-normative) <cite>Inter Gravissimas</cite>, A. Lilius, C. Clavius. Gregory XIII Papal Bull, February 1582.<dt id=refsHTTP>[HTTP]<dd><cite><a href=http://tools.ietf.org/html/rfc7230>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7231>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7232>Hypertext Transfer P
rotocol (HTTP/1.1): Conditional Requests</a></cite>, R. Fielding, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7233>Hypertext Transfer Protocol (HTTP/1.1): Range Requests</a></cite>, R. Fielding, Y. Lafon, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7234>Hypertext Transfer Protocol (HTTP/1.1): Caching</a></cite>, R. Fielding, M. Nottingham, J. Reschke. IETF.<dd><cite><a href=http://tools.ietf.org/html/rfc7235>Hypertext Transfer Protocol (HTTP/1.1): Authentication</a></cite>, R. Fielding, J. Reschke. IETF.<dt id=refsHTTPS>[HTTPS]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc2818>HTTP Over TLS</a></cite>, E. Rescorla. IETF.<dt id=refsIANAPERMHEADERS>[IANAPERMHEADERS]<dd><cite><a href=http://www.iana.org/assignments/message-headers/perm-headers.html>Permanent Message Header Field Names</a></cite>. IANA.<dt id=refsISO3166>[ISO3166]<dd><cite><a href=http://www.iso.org/iso/home/standards/country_codes.htm>ISO 3166: Codes f
or the representation of names of countries and their subdivisions</a></cite>. ISO.<dt id=refsISO8601>[ISO8601]<dd>(Non-normative) <cite><a href="http://isotc.iso.org/livelink/livelink/4021199/ISO_8601_2004_E.zip?func=doc.Fetch&nodeid=4021199">ISO8601: Data elements and interchange formats — Information interchange — Representation of dates and times</a></cite>. ISO.<dt id=refsJLREQ>[JLREQ]<dd><cite><a href=http://www.w3.org/TR/jlreq/>Requirements for Japanese Text Layout</a></cite>. W3C.<dt id=refsJPEG>[JPEG]<dd><cite><a href=http://www.w3.org/Graphics/JPEG/jfif3.pdf>JPEG File Interchange Format</a></cite>, E. Hamilton.<dt id=refsJSON>[JSON]<dd><cite><a href=http://tools.ietf.org/html/rfc4627>The application/json Media Type for JavaScript Object Notation (JSON)</a></cite>, D. Crockford. IETF.<dt id=refsMAILTO>[MAILTO]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc6068>The 'mailto' URI scheme</a></cite>, M. Duerst, L. Masinter, J. Zawinski. IETF.<dt
id=refsMATHML>[MATHML]<dd><cite><a href=http://www.w3.org/TR/MathML/>Mathematical Markup Language (MathML)</a></cite>, D. Carlisle, P. Ion, R. Miner, N. Poppelier. W3C.<dt id=refsMEDIAFRAG>[MEDIAFRAG]<dd><cite><a href=http://www.w3.org/2008/WebVideo/Fragments/WD-media-fragments-spec/>Media Fragments URI</a></cite>, R. Troncy, E. Mannens, S. Pfeiffer, D. Van Deursen. W3C.<dt id=refsMFREL>[MFREL]<dd><cite><a href=http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions>Microformats Wiki: existing rel values</a></cite>. Microformats.<dt id=refsMIMESNIFF>[MIMESNIFF]<dd><cite><a href=http://mimesniff.spec.whatwg.org/>MIME Sniffing</a></cite>, G. Hemsley. WHATWG.<dt id=refsMNG>[MNG]<dd><cite><a href=http://www.libpng.org/pub/mng/spec/>MNG (Multiple-image Network Graphics) Format</a></cite>. G. Randers-Pehrson.<dt id=refsMPEG2>[MPEG2]<dd><cite>ISO/IEC 13818-1: Information technology — Generic coding of moving pictures and associated audio information: Systems</
cite>. ISO/IEC.<dt id=refsMPEG4>[MPEG4]<dd><cite>ISO/IEC 14496-12: ISO base media file format</cite>. ISO/IEC.<dt id=refsMQ>[MQ]<dd><cite><a href=http://dev.w3.org/csswg/css3-mediaqueries/>Media Queries</a></cite>, H. Lie, T. Çelik, D. Glazman, A. van Kesteren. W3C.<dt id=refsNPAPI>[NPAPI]<dd>(Non-normative) <cite><a href=https://developer.mozilla.org/en/Gecko_Plugin_API_Reference>Gecko Plugin API Reference</a></cite>. Mozilla.<dt id=refsOGGSKELETONHEADERS>[OGGSKELETONHEADERS]<dd><cite><a href=http://wiki.xiph.org/SkeletonHeaders>SkeletonHeaders</a></cite>. Xiph.Org.<dt id=refsOPENSEARCH>[OPENSEARCH]<dd><cite><a href=http://www.opensearch.org/Specifications/OpenSearch/1.1#Autodiscovery_in_HTML.2FXHTML>Autodiscovery in HTML/XHTML</a></cite>. In <cite>OpenSearch 1.1 Draft 4</cite>, Section 4.6.2. OpenSearch.org.<dt id=refsORIGIN>[ORIGIN]<dd><cite><a href=http://tools.ietf.org/html/rfc6454>The Web Origin Concept</a></cite>, A. Barth. IETF.<dt id=refsPAGEVIS>[PAGEVIS]<dd>(Non-
normative) <cite><a href=https://w3c.github.io/web-performance/specs/PageVisibility/Overview.html>Page Visibility</a></cite>, J. Mann, A. Jain. W3C.<dt id=refsPDF>[PDF]<dd>(Non-normative) <cite><a href=http://www.adobe.com/devnet/acrobat/pdfs/PDF32000_2008.pdf>Document management — Portable document format — Part 1: PDF</a></cite>. ISO.<dt id=refsPINGBACK>[PINGBACK]<dd><cite><a href=http://www.hixie.ch/specs/pingback/pingback>Pingback 1.0</a></cite>, S. Langridge, I. Hickson.<dt id=refsPNG>[PNG]<dd><cite><a href=http://www.w3.org/TR/PNG/>Portable Network Graphics (PNG) Specification</a></cite>, D. Duce. W3C.<dt id=refsPOINTERLOCK>[POINTERLOCK]<dd><cite><a href=http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html>Pointer Lock</a></cite>, V. Scheib. W3C.<dt id=refsPPUTF8>[PPUTF8]<dd>(Non-normative) <cite><a href=http://www.sw.it.aoyama.ac.jp/2012/pub/IUC11-UTF-8.pdf>The Properties and Promises of UTF-8</a></cite>, M. Dürst. University of Zürich. In <cite>Procee
dings of the 11th International Unicode Conference</cite>.<dt id=refsPSL>[PSL]<dd><cite><a href=http://publicsuffix.org/>Public Suffix List</a></cite>.
Mozilla Foundation.<dt id=refsRFC1034>[RFC1034]<dd><cite><a href=http://tools.ietf.org/html/rfc1034>Domain Names - Concepts and Facilities</a></cite>, P. Mockapetris. IETF, November 1987.<dt id=refsRFC1123>[RFC1123]<dd><cite><a href=http://tools.ietf.org/html/rfc1123>Requirements for Internet Hosts -- Application and Support</a></cite>, R. Braden. IETF, October 1989.<dt id=refsRFC1345>[RFC1345]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1345>Character Mnemonics and Character Sets</a></cite>, K. Simonsen. IETF.<dt id=refsRFC1468>[RFC1468]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1468>Japanese Character Encoding for Internet Messages</a></cite>, J. Murai, M. Crispin, E. van der Poel. IETF.<dt id=refsRFC1554>[RFC1554]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1554>ISO-2022-JP-2: Multilingual Extension of ISO-2022-JP</a></cite>, M. Ohta, K. Handa. IETF.<dt id=refsRFC1557>[RFC1557]<dd>(Non-normative) <cite><a href=
http://tools.ietf.org/html/rfc1557>Korean Character Encoding for Internet Messages</a></cite>, U. Choi, K. Chon, H. Park. IETF.<dt id=refsRFC1842>[RFC1842]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1842>ASCII Printable Characters-Based Chinese Character Encoding for Internet Messages</a></cite>, Y. Wei, Y. Zhang, J. Li, J. Ding, Y. Jiang. IETF.<dt id=refsRFC1922>[RFC1922]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc1922>Chinese Character Encoding for Internet Messages</a></cite>, HF. Zhu, DY. Hu, ZG. Wang, TC. Kao, WCH. Chang, M. Crispin. IETF.<dt id=refsRFC2046>[RFC2046]<dd><cite><a href=http://tools.ietf.org/html/rfc2046>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</a></cite>, N. Freed, N. Borenstein. IETF.<dt id=refsRFC2119>[RFC2119]<dd><cite><a href=http://tools.ietf.org/html/rfc2119>Key words for use in RFCs to Indicate Requirement Levels</a></cite>, S. Bradner. IETF.<dt id=refsRFC2237>[RFC2237]<dd>(Non-norm
ative) <cite><a href=http://tools.ietf.org/html/rfc2237>Japanese Character Encoding for Internet Messages</a></cite>, K. Tamaru. IETF.<dt id=refsRFC2313>[RFC2313]<dd><cite><a href=http://tools.ietf.org/html/rfc2313>PKCS #1: RSA Encryption</a></cite>, B. Kaliski. IETF.<dt id=refsRFC2318>[RFC2318]<dd><cite><a href=http://tools.ietf.org/html/rfc2318>The text/css Media Type</a></cite>, H. Lie, B. Bos, C. Lilley. IETF.<dt id=refsRFC2388>[RFC2388]<dd><cite><a href=http://tools.ietf.org/html/rfc2388>Returning Values from Forms: multipart/form-data</a></cite>, L. Masinter. IETF.<dt id=refsRFC2397>[RFC2397]<dd><cite><a href=http://tools.ietf.org/html/rfc2397>The "data" URL scheme</a></cite>, L. Masinter. IETF.<dt id=refsRFC2445>[RFC2445]<dd><cite><a href=http://tools.ietf.org/html/rfc2445>Internet Calendaring and Scheduling Core Object Specification (iCalendar)</a></cite>, F. Dawson, D. Stenerson. IETF.<dt id=refsRFC2483>[RFC2483]<dd><cite><a href=http://tools.ietf.org/html/rfc2483>U
RI Resolution Services Necessary for URN Resolution</a></cite>, M. Mealling, R. Daniel. IETF.<dt id=refsRFC3676>[RFC3676]<dd><cite><a href=http://tools.ietf.org/html/rfc3676>The Text/Plain Format and DelSp Parameters</a></cite>, R. Gellens. IETF.<dt id=refsRFC3023>[RFC3023]<dd><cite><a href=http://tools.ietf.org/html/rfc3023>XML Media Types</a></cite>, M. Murata, S. St. Laurent, D. Kohn. IETF.<dt id=refsRFC3279>[RFC3279]<dd><cite><a href=http://tools.ietf.org/html/rfc3279>Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</a></cite>, W. Polk, R. Housley, L. Bassham. IETF.<dt id=refsRFC3490>[RFC3490]<dd><cite><a href=http://tools.ietf.org/html/rfc3490>Internationalizing Domain Names in Applications (IDNA)</a></cite>, P. Faltstrom, P. Hoffman, A. Costello. IETF.<dt id=refsRFC3864>[RFC3864]<dd><cite><a href=http://tools.ietf.org/html/rfc3864>Registration Procedures for Message Header Fields</a></
cite>, G. Klyne, M. Nottingham, J. Mogul. IETF.<dt id=refsRFC4281>[RFC4281]<dd><cite><a href=http://tools.ietf.org/html/rfc4281>The Codecs Parameter for "Bucket" Media Types</a></cite>, R. Gellens, D. Singer, P. Frojdh. IETF.<dt id=refsRFC4329>[RFC4329]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc4329>Scripting Media Types</a></cite>, B. Höhrmann. IETF.<dt id=refsRFC4395>[RFC4395]<dd><cite><a href=http://tools.ietf.org/html/rfc4395>Guidelines and Registration Procedures for New URI Schemes</a></cite>, T. Hansen, T. Hardie, L. Masinter. IETF.<dt id=refsRFC4648>[RFC4648]<dd><cite><a href=http://tools.ietf.org/html/rfc4648>The Base16, Base32, and Base64 Data Encodings</a></cite>, S. Josefsson. IETF.<dt id=refsRFC5280>[RFC5280]<dd><cite><a href=http://tools.ietf.org/html/rfc5280>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</a></cite>, D. Cooper, S. Santesson, S. Farrell, S. Boeyen, R. Housley, W. Polk. IET
F.<dt id=refsRFC5322>[RFC5322]<dd><cite><a href=http://tools.ietf.org/html/rfc5322>Internet Message Format</a></cite>, P. Resnick. IETF.<dt id=refsSMS>[SMS]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc5724>URI Scheme for Global System for Mobile Communications (GSM) Short Message Service (SMS)</a></cite>, E. Wilde, A. Vaha-Sipila. IETF.<dt id=refsRFC6266>[RFC6266]<dd><cite><a href=http://tools.ietf.org/html/rfc6266>Use of the Content-Disposition Header Field in the Hypertext Transfer Protocol (HTTP)</a></cite>, J. Reschke. IETF.<dt id=refsRFC6350>[RFC6350]<dd><cite><a href=http://tools.ietf.org/html/rfc6350>vCard Format Specification</a></cite>, S. Perreault. IETF.<dt id=refsSCSU>[SCSU]<dd>(Non-normative) <cite><a href=http://www.unicode.org/reports/tr6/>UTR #6: A Standard Compression Scheme For Unicode</a></cite>, M. Wolf, K. Whistler, C. Wicksteed, M. Davis, A. Freytag, M. Scherer. Unicode Consortium.<dt id=refsSELECTORS>[SELECTORS]<dd><cite><a href=http
://dev.w3.org/csswg/selectors/>Selectors</a></cite>, E. Etemad, T. Çelik, D. Glazman, I. Hickson, P. Linss, J. Williams. W3C.<dt id=refsSRGB>[SRGB]<dd><cite lang=en-GB><a href="http://webstore.iec.ch/webstore/webstore.nsf/artnum/025408!OpenDocument&Click=">IEC 61966-2-1: Multimedia systems and equipment — Colour measurement and management — Part 2-1: Colour management — Default RGB colour space — sRGB</a></cite>. IEC.<dt id=refsSVG>[SVG]<dd><cite><a href=http://www.w3.org/TR/SVGTiny12/>Scalable Vector Graphics (SVG) Tiny 1.2 Specification</a></cite>, O. Andersson, R. Berjon, E. Dahlström, A. Emmons, J. Ferraiolo, A. Grasso, V. Hardy, S. Hayman, D. Jackson, C. Lilley, C. McCormack, A. Neumann, C. Northway, A. Quint, N. Ramani, D. Schepers, A. Shellshear. W3C.<dt id=refsTOR>[TOR]<dd>(Non-normative) <cite><a href=https://www.torproject.org/>Tor</a></cite>.<dt id=refsTOUCH>[TOUCH]<dd><cite><a href=https://dvcs.w3.org/hg/webevents/raw-file/v1/touchevents.html>Touch
Events</a></cite>, D. Schepers, S. Moon, M. Brubeck, A. Barstow. W3C.<dt id=refsTZDATABASE>[TZDATABASE]<dd>(Non-normative) <cite><a href=http://www.iana.org/time-zones>Time Zone Database</a></cite>. IANA.<dt id=refsUAAG>[UAAG]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/UAAG20/>User Agent Accessibility Guidelines (UAAG) 2.0</a></cite>, J. Allan, K. Ford, J. Richards, J. Spellman. W3C.<dt id=refsUCA>[UCA]<dd><cite><a href=http://www.unicode.org/reports/tr10/>UTR #10: Unicode Collation Algorithm</a></cite>, M. Davis, K. Whistler. Unicode Consortium.<dt id=refsUNICODE>[UNICODE]<dd><cite><a href=http://www.unicode.org/versions/>The Unicode Standard</a></cite>. Unicode Consortium.<dt id=refsUNIVCHARDET>[UNIVCHARDET]<dd>(Non-normative) <cite><a href=http://www.mozilla.org/projects/intl/UniversalCharsetDetection.html>A composite approach to language/encoding detection</a></cite>, S. Li, K. Momoi. Netscape. In <cite>Proceedings of the 19th International Unicode Conference<
/cite>.<dt id=refsURL>[URL]<dd><cite><a href=http://url.spec.whatwg.org/>URL</a></cite>, A. van Kesteren. WHATWG.<dt id=refsURN>[URN]<dd><cite><a href=http://tools.ietf.org/html/rfc2141>URN Syntax</a></cite>, R. Moats. IETF.<dt id=refsUTF7>[UTF7]<dd>(Non-normative) <cite><a href=http://tools.ietf.org/html/rfc2152>UTF-7: A Mail-Safe Transformation Format of Unicode</a></cite>, D. Goldsmith, M. Davis. IETF.<dt id=refsUTF8DET>[UTF8DET]<dd>(Non-normative) <cite><a href=http://www.w3.org/International/questions/qa-forms-utf-8>Multilingual form encoding</a></cite>, M. Dürst. W3C.<dt id=refsUTR36>[UTR36]<dd>(Non-normative) <cite><a href=http://www.unicode.org/reports/tr36/>UTR #36: Unicode Security Considerations</a></cite>, M. Davis, M. Suignard. Unicode Consortium.<dt id=refsWCAG>[WCAG]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/WCAG20/>Web Content Accessibility Guidelines (WCAG) 2.0</a></cite>, B. Caldwell, M. Cooper, L. Reid, G. Vanderheiden. W3C.<dt id=refsWEBGL>[W
EBGL]<dd><cite><a href=http://www.khronos.org/registry/webgl/specs/latest/>WebGL Specification</a></cite>, D. Jackson. Khronos Group.<dt id=refsWEBIDL>[WEBIDL]<dd><cite><a href=http://dev.w3.org/2006/webapi/WebIDL/>Web IDL</a></cite>, C. McCormack. W3C.<dt id=refsWEBLINK>[WEBLINK]<dd><cite><a href=http://tools.ietf.org/html/rfc5988>Web Linking</a></cite>, M. Nottingham. IETF.<dt id=refsWEBMCG>[WEBMCG]<dd><cite><a href=http://www.webmproject.org/code/specs/container/>WebM Container Guidelines</a></cite>. The WebM Project.<dt id=refsWEBVTT>[WEBVTT]<dd><cite><a href=http://dev.w3.org/html5/webvtt/>WebVTT</a></cite>, I. Hickson. W3C.<dt id=refsWHATWGWIKI>[WHATWGWIKI]<dd><cite><a href=http://wiki.whatwg.org/>The WHATWG Wiki</a></cite>. WHATWG.<dt id=refsWSP>[WSP]<dd><cite><a href=http://tools.ietf.org/html/rfc6455>The WebSocket protocol</a></cite>, I. Fette, A. Melnikov. IETF.<dt id=refsX121>[X121]<dd><cite>Recommendation X.121 — International Numbering Plan for Public Data Net
works</cite>, CCITT Blue Book, Fascicle VIII.3, pp. 317-332.<dt id=refsX690>[X690]<dd><cite><a href=http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf>Recommendation X.690 — Information Technology — ASN.1 Encoding Rules — Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER), and Distinguished Encoding Rules (DER)</a></cite>. International Telecommunication Union.<dt id=refsXFN>[XFN]<dd><cite><a href=http://gmpg.org/xfn/11>XFN 1.1 profile</a></cite>, T. Çelik, M. Mullenweg, E. Meyer. GMPG.<dt id=refsXHR>[XHR]<dd><cite><a href=http://xhr.spec.whatwg.org/><code>XMLHttpRequest</code></a></cite>, A. van Kesteren. WHATWG.<dt id=refsXML>[XML]<dd><cite><a href=http://www.w3.org/TR/xml/>Extensible Markup Language</a></cite>, T. Bray, J. Paoli, C. Sperberg-McQueen, E. Maler, F. Yergeau. W3C.<dt id=refsXMLBASE>[XMLBASE]<dd><cite><a href=http://www.w3.org/TR/xmlbase/>XML Base</a></cite>, J. Marsh, R. Tobin. W3C.<dt id=refsXMLNS>[XMLNS]<dd><
cite><a href=http://www.w3.org/TR/xml-names/>Namespaces in XML</a></cite>, T. Bray, D. Hollander, A. Layman, R. Tobin. W3C.<dt id=refsXMLSSPI>[XMLSSPI]<dd><cite><a href=http://www.w3.org/TR/xml-stylesheet/>Associating Style Sheets with XML documents</a></cite>, J. Clark, S. Pieters, H. Thompson. W3C.<dt id=refsXPATH10>[XPATH10]<dd><cite><a href=http://www.w3.org/TR/1999/REC-xpath-19991116>XML Path Language (XPath) Version 1.0</a></cite>, J. Clark, S. DeRose. W3C.<dt id=refsXSLT10>[XSLT10]<dd>(Non-normative) <cite><a href=http://www.w3.org/TR/1999/REC-xslt-19991116>XSL Transformations (XSLT) Version 1.0</a></cite>, J. Clark. W3C.</dl>
Modified: source
===================================================================
--- source 2014-08-04 23:38:36 UTC (rev 8706)
+++ source 2014-08-05 18:42:00 UTC (rev 8707)
@@ -24600,110 +24600,7 @@
</div>
-<!-- the examples in this section should be rewritten to use <picture> once we have that done
- <h5>Adaptive images</h5>
-
- <!- - NON-NORMATIVE SECTION - ->
-
- <p>CSS and media queries can be used to construct graphical page layouts that adapt dynamically to
- the user's environment, in particular to different viewport dimensions and pixel densities. For
- content, however, CSS does not help; instead, we have the <code>img</code> element's <code
- data-x="attr-img-srcset">srcset</code> attribute. This section walks through a sample case showing
- how to use this attribute.</p>
-
- <p>Consider a situation where on wide screens (wider than 600 CSS pixels) a 300×150 image
- named <code data-x="">a-rectangle.png</code> is to be used, but on smaller screens (600 CSS pixels
- and less), a smaller 100×100 image called <code data-x="">a-square.png</code> is to be used.
- The markup for this would look like this:</p>
-
- <pre><figure>
- <img src="a-rectangle.png" srcset="a-square.png 600w"
- alt="Barney Frank wears a suit and glasses.">
- <figcaption>Barney Frank, 2011</figcaption>
-</figure></pre>
-
- <p class="note">For details on what to put in the <code data-x="attr-img-alt">alt</code> attribute,
- see the earlier sections.</p>
-
- <p>The problem with this is that the user agent does not necessarily know what dimensions to use
- for the image when the image is loading. To avoid the layout having to be reflowed multiple times
- as the page is loading, CSS and CSS media queries can be used to provide the dimensions:</p>
-
- <pre><figure>
- <style scoped>
- #a { width: 300px; height: 150px; }
- @media all and (max-width: 600px) { #a { width: 100px; height: 100px; } }
- </style>
- <img src="a-rectangle.png" srcset="a-square.png 600w" id="a"
- alt="Barney Frank wears a suit and glasses.">
- <figcaption>Barney Frank, 2011</figcaption>
-</figure></pre>
-
- <p>Alternatively, the <code data-x="attr-dim-width">width</code> and <code
- data-x="attr-dim-height">height</code> attributes can be used to provide the width for legacy user
- agents, using CSS just for the user agents that support <code
- data-x="attr-img-srcset">srcset</code>:</p>
-
- <pre><figure>
- <style scoped media="all and (max-width: 600px)">
- #a { width: 100px; height: 100px; }
- </style>
- <img src="a-rectangle.png" width="300" height="100"
- srcset="a-square.png 600w" id=a
- alt="Barney Frank wears a suit and glasses.">
- <figcaption>Barney Frank, 2011</figcaption>
-</figure></pre>
-
- <hr>
-
- <p>The <code data-x="attr-img-srcset">srcset</code> attribute is used with the <code
- data-x="attr-img-src">src</code> attribute, which gives the URL of the image to use for legacy user
- agents that do not support the <code data-x="attr-img-srcset">srcset</code> attribute. This leads
- to a question of which image to provide in the <code data-x="attr-img-src">src</code>
- attribute.</p>
-
- <p>The answer that results in the least duplication is to provide the image suitable for an
- infinite width and infinite height viewport with a pixel density of 1 CSS pixel per device
- pixel:</p>
-
- <pre><img src="pear-desktop.jpeg" srcset="pear-mobile.jpeg 720w, pear-tablet.jpeg 1280w"
- alt="The pear is juicy."></pre>
-
- <p>However, if legacy mobile user agents are more important, one can list all three images in the
- <code data-x="attr-img-srcset">srcset</code> attribute, overriding the <code
- data-x="attr-img-src">src</code> attribute entirely. To do this, the widest image has to have the
- pixel density descriptor instead of the width, since there is no way to specify an infinite width
- explicitly:</p>
-
- <pre><img src="pear-mobile.jpeg"
- srcset="pear-mobile.jpeg 720w, pear-tablet.jpeg 1280w, pear-desktop.jpeg 1x"
- alt="The pear is juicy."></pre>
-
- <p>Since at this point the <code data-x="attr-img-src">src</code> attribute is actually being
- ignored entirely by <code data-x="attr-img-srcset">srcset</code>-supporting user agents, the <code
- data-x="attr-img-src">src</code> attribute can default to any image, including one that is neither
- the smallest nor biggest:</p>
-
- <pre><img src="pear-tablet.jpeg"
- srcset="pear-mobile.jpeg 720w, pear-tablet.jpeg 1280w, pear-desktop.jpeg 1x"
- alt="The pear is juicy."></pre>
-
- <hr>
-
- <p>The dimensions in the <code data-x="attr-img-srcset">srcset</code> attribute are the maximum
- (viewport) dimensions that an image is intended for. It is possible to think of the numbers as
- minimums, though... if the images are listed in order, then the minimum for an image is the
- dimension given for the previous image. This example attempts to demonstrate this by using the
- file names to show the minimum values for each image:</p>
-
- <pre><img src="pear-tablet.jpeg"
- srcset="pear-min0.jpeg 720w, pear-min721.jpeg 1280w, pear-min1281.jpeg 1x"
- alt="The pear is juicy."></pre>
-
--->
-
-
<h4>The <dfn><code>iframe</code></dfn> element</h4>
<dl class="element">
More information about the Commit-Watchers
mailing list