diff --git a/bench/.eslintrc.js:Zone.Identifier b/bench/.eslintrc.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/bench/.eslintrc.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/bench/memory/named-entity-data.js:Zone.Identifier b/bench/memory/named-entity-data.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/bench/memory/named-entity-data.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/bench/memory/sax-parser.js:Zone.Identifier b/bench/memory/sax-parser.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/bench/memory/sax-parser.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/bench/perf/index.js:Zone.Identifier b/bench/perf/index.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/bench/perf/index.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-html-rewriting-stream/lib/index.js:Zone.Identifier b/packages/parse5-html-rewriting-stream/lib/index.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-html-rewriting-stream/lib/index.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-html-rewriting-stream/test/rewriting-stream.test.js:Zone.Identifier b/packages/parse5-html-rewriting-stream/test/rewriting-stream.test.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-html-rewriting-stream/test/rewriting-stream.test.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-htmlparser2-tree-adapter/lib/index.js:Zone.Identifier b/packages/parse5-htmlparser2-tree-adapter/lib/index.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-htmlparser2-tree-adapter/lib/index.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-parser-stream/lib/index.js:Zone.Identifier b/packages/parse5-parser-stream/lib/index.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-parser-stream/lib/index.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-parser-stream/test/.eslintrc.js:Zone.Identifier b/packages/parse5-parser-stream/test/.eslintrc.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-parser-stream/test/.eslintrc.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-parser-stream/test/location-info.test.js:Zone.Identifier b/packages/parse5-parser-stream/test/location-info.test.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-parser-stream/test/location-info.test.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-parser-stream/test/parser-stream.test.js:Zone.Identifier b/packages/parse5-parser-stream/test/parser-stream.test.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-parser-stream/test/parser-stream.test.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-parser-stream/test/scripting.test.js:Zone.Identifier b/packages/parse5-parser-stream/test/scripting.test.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-parser-stream/test/scripting.test.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-parser-stream/test/utils/parse-chunked.js:Zone.Identifier b/packages/parse5-parser-stream/test/utils/parse-chunked.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-parser-stream/test/utils/parse-chunked.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-plain-text-conversion-stream/lib/index.js:Zone.Identifier b/packages/parse5-plain-text-conversion-stream/lib/index.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-plain-text-conversion-stream/lib/index.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-plain-text-conversion-stream/test/plain-text-conversion-stream.test.js:Zone.Identifier b/packages/parse5-plain-text-conversion-stream/test/plain-text-conversion-stream.test.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-plain-text-conversion-stream/test/plain-text-conversion-stream.test.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-sax-parser/lib/dev-null-stream.js:Zone.Identifier b/packages/parse5-sax-parser/lib/dev-null-stream.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-sax-parser/lib/dev-null-stream.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-sax-parser/lib/index.js:Zone.Identifier b/packages/parse5-sax-parser/lib/index.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-sax-parser/lib/index.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-sax-parser/lib/parser-feedback-simulator.js:Zone.Identifier b/packages/parse5-sax-parser/lib/parser-feedback-simulator.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-sax-parser/lib/parser-feedback-simulator.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-sax-parser/test/location-info.test.js:Zone.Identifier b/packages/parse5-sax-parser/test/location-info.test.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-sax-parser/test/location-info.test.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-sax-parser/test/parser-feedback-simulator.test.js:Zone.Identifier b/packages/parse5-sax-parser/test/parser-feedback-simulator.test.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-sax-parser/test/parser-feedback-simulator.test.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-sax-parser/test/sax-parser.test.js:Zone.Identifier b/packages/parse5-sax-parser/test/sax-parser.test.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-sax-parser/test/sax-parser.test.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-serializer-stream/lib/index.js:Zone.Identifier b/packages/parse5-serializer-stream/lib/index.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-serializer-stream/lib/index.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5-serializer-stream/test/serializer-stream.test.js:Zone.Identifier b/packages/parse5-serializer-stream/test/serializer-stream.test.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5-serializer-stream/test/serializer-stream.test.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/common/doctype.js:Zone.Identifier b/packages/parse5/lib/common/doctype.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/common/doctype.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/common/error-codes.js:Zone.Identifier b/packages/parse5/lib/common/error-codes.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/common/error-codes.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/common/foreign-content.js:Zone.Identifier b/packages/parse5/lib/common/foreign-content.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/common/foreign-content.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/common/html.js:Zone.Identifier b/packages/parse5/lib/common/html.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/common/html.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/common/unicode.js:Zone.Identifier b/packages/parse5/lib/common/unicode.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/common/unicode.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/extensions/error-reporting/mixin-base.js:Zone.Identifier b/packages/parse5/lib/extensions/error-reporting/mixin-base.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/extensions/error-reporting/mixin-base.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/extensions/error-reporting/parser-mixin.js:Zone.Identifier b/packages/parse5/lib/extensions/error-reporting/parser-mixin.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/extensions/error-reporting/parser-mixin.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/extensions/error-reporting/preprocessor-mixin.js:Zone.Identifier b/packages/parse5/lib/extensions/error-reporting/preprocessor-mixin.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/extensions/error-reporting/preprocessor-mixin.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/extensions/error-reporting/tokenizer-mixin.js:Zone.Identifier b/packages/parse5/lib/extensions/error-reporting/tokenizer-mixin.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/extensions/error-reporting/tokenizer-mixin.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/extensions/location-info/open-element-stack-mixin.js:Zone.Identifier b/packages/parse5/lib/extensions/location-info/open-element-stack-mixin.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/extensions/location-info/open-element-stack-mixin.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/extensions/location-info/parser-mixin.js:Zone.Identifier b/packages/parse5/lib/extensions/location-info/parser-mixin.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/extensions/location-info/parser-mixin.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/extensions/location-info/tokenizer-mixin.js:Zone.Identifier b/packages/parse5/lib/extensions/location-info/tokenizer-mixin.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/extensions/location-info/tokenizer-mixin.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/extensions/position-tracking/preprocessor-mixin.js:Zone.Identifier b/packages/parse5/lib/extensions/position-tracking/preprocessor-mixin.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/extensions/position-tracking/preprocessor-mixin.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/index.js:Zone.Identifier b/packages/parse5/lib/index.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/index.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/parser/formatting-element-list.js:Zone.Identifier b/packages/parse5/lib/parser/formatting-element-list.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/parser/formatting-element-list.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/parser/index.js b/packages/parse5/lib/parser/index.js
index 5eececdd1fd04939a54e94344ddb3ac060653bf7..6dea47f443732d62fa30a062fa5750f9d009ba42 100644
--- a/packages/parse5/lib/parser/index.js
+++ b/packages/parse5/lib/parser/index.js
@@ -325,15 +325,6 @@ class Parser {
this.treeAdapter = this.options.treeAdapter;
this.pendingScript = null;
- this.nodeInfo = {};
-
- if(this.options.componentValidator){
- this.validator = this.options.componentValidator;
- }
-
- if(this.options.compileResult){
- this.compileResult = this.options.compileResult;
- }
if (this.options.sourceCodeLocationInfo) {
Mixin.install(this, LocationInfoParserMixin);
@@ -425,32 +416,33 @@ class Parser {
//Parsing loop
_runParsingLoop(scriptHandler) {
- let lastToken = {};
while (!this.stopped) {
- this._setupTokenizerCDATAMode();
- const token = this.tokenizer.getNextToken();
- if (token.type === Tokenizer.HIBERNATION_TOKEN) {
- break;
- }
- if (token.type !== Tokenizer.EOF_TOKEN && token.type !== Tokenizer.WHITESPACE_CHARACTER_TOKEN) {
- lastToken =token;
- }
- checkselfClosingNode(this, token);
- if (this.skipNextNewLine) {
- this.skipNextNewLine = false;
- if (token.type === Tokenizer.WHITESPACE_CHARACTER_TOKEN && token.chars[0] === '\n') {
- if (token.chars.length === 1) {
- continue;
- }
- token.chars = token.chars.substr(1);
+ this._setupTokenizerCDATAMode();
+
+ const token = this.tokenizer.getNextToken();
+
+ if (token.type === Tokenizer.HIBERNATION_TOKEN) {
+ break;
+ }
+
+ if (this.skipNextNewLine) {
+ this.skipNextNewLine = false;
+
+ if (token.type === Tokenizer.WHITESPACE_CHARACTER_TOKEN && token.chars[0] === '\n') {
+ if (token.chars.length === 1) {
+ continue;
+ }
+
+ token.chars = token.chars.substr(1);
+ }
+ }
+
+ this._processInputToken(token);
+
+ if (scriptHandler && this.pendingScript) {
+ break;
}
- }
- this._processInputToken(token);
- if (scriptHandler && this.pendingScript) {
- break;
- }
}
- checkInvalid(this, lastToken);
}
runParsingLoopForCurrentChunk(writeCallback, scriptHandler) {
@@ -890,70 +882,6 @@ class Parser {
}
}
-/**
- * Check if the node is self closing.
- * @param {Object} parse parse5 object.
- * @param {Object} token Hml text token information.
- */
-function checkselfClosingNode(parse, token) {
- const tagName = (token.tagName || "").toLowerCase();
- const selfClosing = token.selfClosing;
- const flag = parse.validator.isSupportedSelfClosing(tagName);
- if (parse.nodeInfo.tn && tagName && !parse.nodeInfo.sc) {
- const loc =
- String(token.location.startLine) + String(token.location.startCol);
- if (
- !flag ||
- (loc !== parse.nodeInfo.pos && token.type === Tokenizer.START_TAG_TOKEN)
- ) {
- parse.compileResult.log.push({
- line: String(token.location.startLine) || 1,
- column: String(token.location.startCol) || 1,
- reason: 'ERROR: tag `' + parse.nodeInfo.tn + '` must be closed, please follow norm',
- });
- parse.nodeInfo = {};
- }
- }
- if (tagName && flag) {
- if (token.type === Tokenizer.START_TAG_TOKEN && !selfClosing) {
- parse.nodeInfo.tn = tagName;
- parse.nodeInfo.sc = false;
- parse.nodeInfo.pos =
- String(token.location.line) + String(token.location.col);
- }
- if (
- token.type === Tokenizer.END_TAG_TOKEN &&
- tagName === parse.nodeInfo.tn
- ) {
- parse.nodeInfo.sc = true;
- }
- }
- if (!flag && selfClosing && token.type === Tokenizer.START_TAG_TOKEN) {
- parse.compileResult.log.push({
- line: token.location.startLine || 1,
- column: token.location.startCol || 1,
- reason: "ERROR: tag `" + tagName + "` can not use selfClosing",
- });
- }
-}
-
-/**
- * Check if the html text is legal.
- * @param {Object} lastToken Hml text last token information.
- */
-function checkInvalid(lastToken) {
- if (
- lastToken.type && lastToken.type !== Tokenizer.END_TAG_TOKEN &&
- lastToken.type !== Tokenizer.COMMENT_TOKEN
- ) {
- compileResult.log.push({
- line: lastToken.location.startLine || 1,
- column: lastToken.location.startCol || 1,
- reason: "ERROR: hml content is invalid. Please check it.",
- });
- }
-}
-
module.exports = Parser;
//Adoption agency algorithm
diff --git a/packages/parse5/lib/parser/index.js:Zone.Identifier b/packages/parse5/lib/parser/index.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/parser/index.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/parser/open-element-stack.js:Zone.Identifier b/packages/parse5/lib/parser/open-element-stack.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/parser/open-element-stack.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/serializer/index.js:Zone.Identifier b/packages/parse5/lib/serializer/index.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/serializer/index.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/tokenizer/index.js:Zone.Identifier b/packages/parse5/lib/tokenizer/index.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/tokenizer/index.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/tokenizer/named-entity-data.js:Zone.Identifier b/packages/parse5/lib/tokenizer/named-entity-data.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/tokenizer/named-entity-data.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/tokenizer/preprocessor.js:Zone.Identifier b/packages/parse5/lib/tokenizer/preprocessor.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/tokenizer/preprocessor.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/tree-adapters/default.js:Zone.Identifier b/packages/parse5/lib/tree-adapters/default.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/tree-adapters/default.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/utils/merge-options.js:Zone.Identifier b/packages/parse5/lib/utils/merge-options.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/utils/merge-options.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/lib/utils/mixin.js:Zone.Identifier b/packages/parse5/lib/utils/mixin.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/lib/utils/mixin.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/test/formatting-element-list.test.js:Zone.Identifier b/packages/parse5/test/formatting-element-list.test.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/test/formatting-element-list.test.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/test/location-info-parser.test.js:Zone.Identifier b/packages/parse5/test/location-info-parser.test.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/test/location-info-parser.test.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/test/location-info-tokenizer.test.js:Zone.Identifier b/packages/parse5/test/location-info-tokenizer.test.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/test/location-info-tokenizer.test.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/test/open-element-stack.test.js:Zone.Identifier b/packages/parse5/test/open-element-stack.test.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/test/open-element-stack.test.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/test/parser.test.js:Zone.Identifier b/packages/parse5/test/parser.test.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/test/parser.test.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/test/serializer.test.js:Zone.Identifier b/packages/parse5/test/serializer.test.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/test/serializer.test.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/packages/parse5/test/tokenizer.test.js:Zone.Identifier b/packages/parse5/test/tokenizer.test.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/packages/parse5/test/tokenizer.test.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/scripts/.eslintrc.js:Zone.Identifier b/scripts/.eslintrc.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/scripts/.eslintrc.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/scripts/generate-named-entity-data/array-mapped-radix-tree.js:Zone.Identifier b/scripts/generate-named-entity-data/array-mapped-radix-tree.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/scripts/generate-named-entity-data/array-mapped-radix-tree.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/scripts/generate-named-entity-data/index.js:Zone.Identifier b/scripts/generate-named-entity-data/index.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/scripts/generate-named-entity-data/index.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/scripts/generate-named-entity-data/radix-tree.js:Zone.Identifier b/scripts/generate-named-entity-data/radix-tree.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/scripts/generate-named-entity-data/radix-tree.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/scripts/generate-named-entity-data/tree-node.js:Zone.Identifier b/scripts/generate-named-entity-data/tree-node.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/scripts/generate-named-entity-data/tree-node.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/scripts/generate-parser-feedback-test/index.js:Zone.Identifier b/scripts/generate-parser-feedback-test/index.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/scripts/generate-parser-feedback-test/index.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/test/.eslintrc.js:Zone.Identifier b/test/.eslintrc.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/test/.eslintrc.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/test/data/location-info/cern/data.html b/test/data/location-info/cern/data.html
index 96d0937d2ab2c355d4a0131d35e4459ff9af1cc7..187ca23ad8f0aece440a70c781e3470d889fcc53 100644
--- a/test/data/location-info/cern/data.html
+++ b/test/data/location-info/cern/data.html
@@ -1,263 +1,263 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-CERN | Accelerating science
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+CERN | Accelerating science
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/test/data/location-info/dx/data.html b/test/data/location-info/dx/data.html
index 7d576bb541e0bd43e37334fa3f0483ac9c84c49d..e0dc34d60d4ab72f60c3f224dbbaf7e397daa4f6 100644
--- a/test/data/location-info/dx/data.html
+++ b/test/data/location-info/dx/data.html
@@ -1,1643 +1,1643 @@
-
-
-DevExpress: UI Controls, Reporting, Developer Tools and ORM
-
-
-
-
-
+
+
+DevExpress: UI Controls, Reporting, Developer Tools and ORM
+
+
+
+
+
\ No newline at end of file
diff --git a/test/data/location-info/github-parse5/data.html b/test/data/location-info/github-parse5/data.html
index 87fbaf8e705d19cf2575e0d9d5b131040662e163..f33ad1a5595c99fe44fee107619dc83c0fb9f0ea 100644
--- a/test/data/location-info/github-parse5/data.html
+++ b/test/data/location-info/github-parse5/data.html
@@ -1,924 +1,924 @@
-
-
-
-
-inikulin/parse5
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Something went wrong with that request. Please try again.
-
-
-
-
-
+
+
+
+
+inikulin/parse5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Something went wrong with that request. Please try again.
+
+
+
+
+
\ No newline at end of file
diff --git a/test/data/location-info/whatwg-html/data.html b/test/data/location-info/whatwg-html/data.html
index ffffa58f19cdcca05afea3725269c3f8617f63cd..77ed8fe631cdea91a91c869f29b3722ade1ad6e6 100644
--- a/test/data/location-info/whatwg-html/data.html
+++ b/test/data/location-info/whatwg-html/data.html
@@ -1,1305 +1,1305 @@
-
-HTML Standard
-
-Table of contents
-
-
-1 Introduction
-1.1 Where does this specification fit?
-1.2 Is this HTML5?
-1.3 Background
-1.4 Audience
-1.5 Scope
-1.6 History
-1.7 Design notes
-1.7.1 Serializability of script execution
-1.7.2 Compliance with other specifications
-1.7.3 Extensibility
-1.8 HTML vs XHTML
-1.9 Structure of this specification
-1.9.1 How to read this specification
-1.9.2 Typographic conventions
-1.10 Privacy concerns
-1.11 A quick introduction to HTML
-1.11.1 Writing secure applications with HTML
-1.11.2 Common pitfalls to avoid when using the scripting APIs
-1.11.3 How to catch mistakes when writing HTML: validators and conformance checkers
-1.12 Conformance requirements for authors
-1.12.1 Presentational markup
-1.12.2 Syntax errors
-1.12.3 Restrictions on content models and on attribute values
-1.13 Suggested reading
-2 Common infrastructure
-2.1 Terminology
-2.1.1 Resources
-2.1.2 XML
-2.1.3 DOM trees
-2.1.4 Scripting
-2.1.5 Plugins
-2.1.6 Character encodings
-2.2 Conformance requirements
-2.2.1 Conformance classes
-2.2.2 Dependencies
-2.2.3 Extensibility
-2.2.4 Interactions with XPath and XSLT
-2.3 Case-sensitivity and string comparison
-2.4 Common microsyntaxes
-2.4.1 Common parser idioms
-2.4.2 Boolean attributes
-2.4.3 Keywords and enumerated attributes
-2.4.4 Numbers
-2.4.4.1 Signed integers
-2.4.4.2 Non-negative integers
-2.4.4.3 Floating-point numbers
-2.4.4.4 Percentages and lengths
-2.4.4.5 Lists of integers
-2.4.4.6 Lists of dimensions
-2.4.5 Dates and times
-2.4.5.1 Months
-2.4.5.2 Dates
-2.4.5.3 Yearless dates
-2.4.5.4 Times
-2.4.5.5 Local dates and times
-2.4.5.6 Time zones
-2.4.5.7 Global dates and times
-2.4.5.8 Weeks
-2.4.5.9 Durations
-2.4.5.10 Vaguer moments in time
-2.4.6 Colors
-2.4.7 Space-separated tokens
-2.4.8 Comma-separated tokens
-2.4.9 References
-2.4.10 Media queries
-2.5 URLs
-2.5.1 Terminology
-2.5.2 Resolving URLs
-2.5.3 Dynamic changes to base URLs
-2.6 Fetching resources
-2.6.1 Terminology
-2.6.2 Processing model
-2.6.3 Encrypted HTTP and related security concerns
-2.6.4 Determining the type of a resource
-2.6.5 Extracting character encodings from meta elements
-2.6.6 CORS settings attributes
-2.6.7 CORS-enabled fetch
-2.7 Common DOM interfaces
-2.7.1 Reflecting content attributes in IDL attributes
-2.7.2 Collections
-2.7.2.1 HTMLAllCollection
-2.7.2.2 HTMLFormControlsCollection
-2.7.2.3 HTMLOptionsCollection
-2.7.2.4 HTMLPropertiesCollection
-2.7.3 DOMStringMap
-2.7.4 DOMElementMap
-2.7.5 Transferable objects
-2.7.6 Safe passing of structured data
-2.7.7 Callbacks
-2.7.8 Garbage collection
-2.8 Namespaces
-3 Semantics, structure, and APIs of HTML documents
-3.1 Documents
-3.1.1 The Document object
-3.1.2 Resource metadata management
-3.1.3 DOM tree accessors
-3.1.4 Loading XML documents
-3.2 Elements
-3.2.1 Semantics
-3.2.2 Elements in the DOM
-3.2.3 Element definitions
-3.2.3.1 Attributes
-3.2.4 Content models
-3.2.4.1 Kinds of content
-3.2.4.1.1 Metadata content
-3.2.4.1.2 Flow content
-3.2.4.1.3 Sectioning content
-3.2.4.1.4 Heading content
-3.2.4.1.5 Phrasing content
-3.2.4.1.6 Embedded content
-3.2.4.1.7 Interactive content
-3.2.4.1.8 Palpable content
-3.2.4.1.9 Script-supporting elements
-3.2.4.2 Transparent content models
-3.2.4.3 Paragraphs
-3.2.5 Global attributes
-3.2.5.1 The id attribute
-3.2.5.2 The title attribute
-3.2.5.3 The lang and xml:lang attributes
-3.2.5.4 The translate attribute
-3.2.5.5 The xml:base attribute (XML only)
-3.2.5.6 The dir attribute
-3.2.5.7 The class attribute
-3.2.5.8 The style attribute
-3.2.5.9 Embedding custom non-visible data with the data-* attributes
-3.2.6 Requirements relating to the bidirectional algorithm
-3.2.6.1 Authoring conformance criteria for bidirectional-algorithm formatting characters
-3.2.6.2 User agent conformance criteria
-3.2.7 WAI-ARIA
-4 The elements of HTML
-4.1 The root element
-4.1.1 The html element
-4.2 Document metadata
-4.2.1 The head element
-4.2.2 The title element
-4.2.3 The base element
-4.2.4 The link element
-4.2.5 The meta element
-4.2.5.1 Standard metadata names
-4.2.5.2 Other metadata names
-4.2.5.3 Pragma directives
-4.2.5.4 Other pragma directives
-4.2.5.5 Specifying the document's character encoding
-4.2.6 The style element
-4.2.6.1 The @global rule
-4.2.7 Interactions of styling and scripting
-4.3 Sections
-4.3.1 The body element
-4.3.2 The article element
-4.3.3 The section element
-4.3.4 The nav element
-4.3.5 The aside element
-4.3.6 The h1, h2, h3, h4, h5, and
-h6 elements
-4.3.7 The hgroup element
-4.3.8 The header element
-4.3.9 The footer element
-4.3.10 The address element
-4.3.11 Headings and sections
-4.3.11.1 Creating an outline
-4.3.11.2 Sample outlines
-4.3.12 Usage summary
-4.3.12.1 Article or section?
-4.4 Grouping content
-4.4.1 The p element
-4.4.2 The hr element
-4.4.3 The pre element
-4.4.4 The blockquote element
-4.4.5 The ol element
-4.4.6 The ul element
-4.4.7 The li element
-4.4.8 The dl element
-4.4.9 The dt element
-4.4.10 The dd element
-4.4.11 The figure element
-4.4.12 The figcaption element
-4.4.13 The main element
-4.4.14 The div element
-4.5 Text-level semantics
-4.5.1 The a element
-4.5.2 The em element
-4.5.3 The strong element
-4.5.4 The small element
-4.5.5 The s element
-4.5.6 The cite element
-4.5.7 The q element
-4.5.8 The dfn element
-4.5.9 The abbr element
-4.5.10 The data element
-4.5.11 The time element
-4.5.12 The code element
-4.5.13 The var element
-4.5.14 The samp element
-4.5.15 The kbd element
-4.5.16 The sub and sup elements
-4.5.17 The i element
-4.5.18 The b element
-4.5.19 The u element
-4.5.20 The mark element
-4.5.21 The ruby element
-4.5.22 The rt element
-4.5.23 The rp element
-4.5.24 The bdi element
-4.5.25 The bdo element
-4.5.26 The span element
-4.5.27 The br element
-4.5.28 The wbr element
-4.5.29 Usage summary
-4.6 Edits
-4.6.1 The ins element
-4.6.2 The del element
-4.6.3 Attributes common to ins and del elements
-4.6.4 Edits and paragraphs
-4.6.5 Edits and lists
-4.6.6 Edits and tables
-4.7 Embedded content
-4.7.1 The img element
-4.7.1.1 Requirements for providing text to act as an alternative for images
-4.7.1.1.1 General guidelines
-4.7.1.1.2 A link or button containing nothing but the image
-4.7.1.1.3 A phrase or paragraph with an alternative graphical representation: charts, diagrams, graphs, maps, illustrations
-4.7.1.1.4 A short phrase or label with an alternative graphical representation: icons, logos
-4.7.1.1.5 Text that has been rendered to a graphic for typographical effect
-4.7.1.1.6 A graphical representation of some of the surrounding text
-4.7.1.1.7 A purely decorative image that doesn't add any information
-4.7.1.1.8 A group of images that form a single larger picture with no links
-4.7.1.1.9 A group of images that form a single larger picture with links
-4.7.1.1.10 A key part of the content
-4.7.1.1.11 An image not intended for the user
-4.7.1.1.12 An image in an e-mail or private document intended for a specific person who is known to be able to view images
-4.7.1.1.13 Guidance for markup generators
-4.7.1.1.14 Guidance for conformance checkers
-4.7.1.2 Adaptive images
-4.7.2 The iframe element
-4.7.3 The embed element
-4.7.4 The object element
-4.7.5 The param element
-4.7.6 The video element
-4.7.7 The audio element
-4.7.8 The source element
-4.7.9 The track element
-4.7.10 Media elements
-4.7.10.1 Error codes
-4.7.10.2 Location of the media resource
-4.7.10.3 MIME types
-4.7.10.4 Network states
-4.7.10.5 Loading the media resource
-4.7.10.6 Offsets into the media resource
-4.7.10.7 Ready states
-4.7.10.8 Playing the media resource
-4.7.10.9 Seeking
-4.7.10.10 Media resources with multiple media tracks
-4.7.10.10.1 AudioTrackList and VideoTrackList objects
-4.7.10.10.2 Selecting specific audio and video tracks declaratively
-4.7.10.11 Synchronising multiple media elements
-4.7.10.11.1 Introduction
-4.7.10.11.2 Media controllers
-4.7.10.11.3 Assigning a media controller declaratively
-4.7.10.12 Timed text tracks
-4.7.10.12.1 Text track model
-4.7.10.12.2 Sourcing in-band text tracks
-4.7.10.12.3 Sourcing out-of-band text tracks
-4.7.10.12.4 Guidelines for exposing cues in various formats as text track cues
-4.7.10.12.5 Text track API
-4.7.10.12.6 Text tracks describing chapters
-4.7.10.12.7 Event handlers for objects of the text track APIs
-4.7.10.12.8 Best practices for metadata text tracks
-4.7.10.13 User interface
-4.7.10.14 Time ranges
-4.7.10.15 The TrackEvent interface
-4.7.10.16 Event summary
-4.7.10.17 Security and privacy considerations
-4.7.10.18 Best practices for authors using media elements
-4.7.10.19 Best practices for implementors of media elements
-4.7.11 The map element
-4.7.12 The area element
-4.7.13 Image maps
-4.7.13.1 Authoring
-4.7.13.2 Processing model
-4.7.14 MathML
-4.7.15 SVG
-4.7.16 Dimension attributes
-4.8 Links
-4.8.1 Introduction
-4.8.2 Links created by a and area elements
-4.8.3 Following hyperlinks
-4.8.4 Downloading resources
-4.8.4.1 Hyperlink auditing
-4.8.5 Link types
-4.8.5.1 Link type "alternate"
-4.8.5.2 Link type "author"
-4.8.5.3 Link type "bookmark"
-4.8.5.4 Link type "external"
-4.8.5.5 Link type "help"
-4.8.5.6 Link type "icon"
-4.8.5.7 Link type "license"
-4.8.5.8 Link type "nofollow"
-4.8.5.9 Link type "noreferrer"
-4.8.5.10 Link type "pingback"
-4.8.5.11 Link type "prefetch"
-4.8.5.12 Link type "search"
-4.8.5.13 Link type "sidebar"
-4.8.5.14 Link type "stylesheet"
-4.8.5.15 Link type "tag"
-4.8.5.16 Sequential link types
-4.8.5.16.1 Link type "next"
-4.8.5.16.2 Link type "prev"
-4.8.5.17 Other link types
-4.9 Tabular data
-4.9.1 The table element
-4.9.1.1 Techniques for describing tables
-4.9.1.2 Techniques for table design
-4.9.2 The caption element
-4.9.3 The colgroup element
-4.9.4 The col element
-4.9.5 The tbody element
-4.9.6 The thead element
-4.9.7 The tfoot element
-4.9.8 The tr element
-4.9.9 The td element
-4.9.10 The th element
-4.9.11 Attributes common to td and th elements
-4.9.12 Processing model
-4.9.12.1 Forming a table
-4.9.12.2 Forming relationships between data cells and header cells
-4.9.13 Table sorting model
-4.9.14 Examples
-4.10 Forms
-4.10.1 Introduction
-4.10.1.1 Writing a form's user interface
-4.10.1.2 Implementing the server-side processing for a form
-4.10.1.3 Configuring a form to communicate with a server
-4.10.1.4 Client-side form validation
-4.10.1.5 Enabling client-side automatic filling of form controls
-4.10.1.6 Improving the user experience on mobile devices
-4.10.1.7 The difference between the field type, the autofill field name, and the input modality
-4.10.1.8 Date, time, and number formats
-4.10.2 Categories
-4.10.3 The form element
-4.10.4 The label element
-4.10.5 The input element
-4.10.5.1 States of the type attribute
-4.10.5.1.1 Hidden state (type=hidden)
-4.10.5.1.2 Text (type=text) state and Search state (type=search)
-4.10.5.1.3 Telephone state (type=tel)
-4.10.5.1.4 URL state (type=url)
-4.10.5.1.5 E-mail state (type=email)
-4.10.5.1.6 Password state (type=password)
-4.10.5.1.7 Date and Time state (type=datetime)
-4.10.5.1.8 Date state (type=date)
-4.10.5.1.9 Month state (type=month)
-4.10.5.1.10 Week state (type=week)
-4.10.5.1.11 Time state (type=time)
-4.10.5.1.12 Local Date and Time state (type=datetime-local)
-4.10.5.1.13 Number state (type=number)
-4.10.5.1.14 Range state (type=range)
-4.10.5.1.15 Color state (type=color)
-4.10.5.1.16 Checkbox state (type=checkbox)
-4.10.5.1.17 Radio Button state (type=radio)
-4.10.5.1.18 File Upload state (type=file)
-4.10.5.1.19 Submit Button state (type=submit)
-4.10.5.1.20 Image Button state (type=image)
-4.10.5.1.21 Reset Button state (type=reset)
-4.10.5.1.22 Button state (type=button)
-4.10.5.2 Implemention notes regarding localization of form controls
-4.10.5.3 Common input element attributes
-4.10.5.3.1 The maxlength and minlength attributes
-4.10.5.3.2 The size attribute
-4.10.5.3.3 The readonly attribute
-4.10.5.3.4 The required attribute
-4.10.5.3.5 The multiple attribute
-4.10.5.3.6 The pattern attribute
-4.10.5.3.7 The min and max attributes
-4.10.5.3.8 The step attribute
-4.10.5.3.9 The list attribute
-4.10.5.3.10 The placeholder attribute
-4.10.5.4 Common input element APIs
-4.10.5.5 Common event behaviors
-4.10.6 The button element
-4.10.7 The select element
-4.10.8 The datalist element
-4.10.9 The optgroup element
-4.10.10 The option element
-4.10.11 The textarea element
-4.10.12 The keygen element
-4.10.13 The output element
-4.10.14 The progress element
-4.10.15 The meter element
-4.10.16 The fieldset element
-4.10.17 The legend element
-4.10.18 Form control infrastructure
-4.10.18.1 A form control's value
-4.10.18.2 Mutability
-4.10.18.3 Association of controls and forms
-4.10.19 Attributes common to form controls
-4.10.19.1 Naming form controls: the name attribute
-4.10.19.2 Submitting element directionality: the dirname attribute
-4.10.19.3 Limiting user input length: the maxlength attribute
-4.10.19.4 Setting minimum input length requirements: the minlength attribute
-4.10.19.5 Enabling and disabling form controls: the disabled attribute
-4.10.19.6 Form submission
-4.10.19.7 Autofocusing a form control: the autofocus attribute
-4.10.19.8 Input modalities: the inputmode attribute
-4.10.19.9 Autofilling form controls: the autocomplete attribute
-4.10.20 APIs for the text field selections
-4.10.21 Constraints
-4.10.21.1 Definitions
-4.10.21.2 Constraint validation
-4.10.21.3 The constraint validation API
-4.10.21.4 Security
-4.10.22 Form submission
-4.10.22.1 Introduction
-4.10.22.2 Implicit submission
-4.10.22.3 Form submission algorithm
-4.10.22.4 Constructing the form data set
-4.10.22.5 Selecting a form submission encoding
-4.10.22.6 URL-encoded form data
-4.10.22.7 Multipart form data
-4.10.22.8 Plain text form data
-4.10.23 Resetting a form
-4.11 Interactive elements
-4.11.1 The details element
-4.11.2 The summary element
-4.11.3 The menu element
-4.11.4 The menuitem element
-4.11.5 Context menus
-4.11.5.1 Declaring a context menu
-4.11.5.2 Processing model
-4.11.5.3 The RelatedEvent interfaces
-4.11.6 Commands
-4.11.6.1 Facets
-4.11.6.2 Using the a element to define a command
-4.11.6.3 Using the button element to define a command
-4.11.6.4 Using the input element to define a command
-4.11.6.5 Using the option element to define a command
-4.11.6.6 Using the menuitem element to define a
-command
-4.11.6.7 Using the command attribute on menuitem elements to define
-a command indirectly
-4.11.6.8 Using the accesskey attribute
-on a label element to define a command
-4.11.6.9 Using the accesskey attribute
-on a legend element to define a command
-4.11.6.10 Using the accesskey
-attribute to define a command on other elements
-4.11.7 The dialog element
-4.11.7.1 Anchor points
-4.12 Scripting
-4.12.1 The script element
-4.12.1.1 Scripting languages
-4.12.1.2 Restrictions for contents of script elements
-4.12.1.3 Inline documentation for external scripts
-4.12.1.4 Interaction of script elements and XSLT
-4.12.2 The noscript element
-4.12.3 The template element
-4.12.3.1 Interaction of template elements with XSLT and XPath
-4.12.4 The canvas element
-4.12.4.1 Proxying canvases to workers
-4.12.4.2 The 2D rendering context
-4.12.4.2.1 Implementation notes
-4.12.4.2.2 The canvas state
-4.12.4.2.3 DrawingStyle objects
-4.12.4.2.4 Line styles
-4.12.4.2.5 Text styles
-4.12.4.2.6 Building paths
-4.12.4.2.7 Path objects
-4.12.4.2.8 Transformations
-4.12.4.2.9 Image sources for 2D rendering contexts
-4.12.4.2.10 Fill and stroke styles
-4.12.4.2.11 Drawing rectangles to the bitmap
-4.12.4.2.12 Drawing text to the bitmap
-4.12.4.2.13 Drawing paths to the canvas
-4.12.4.2.14 Drawing images
-4.12.4.2.15 Hit regions
-4.12.4.2.16 Pixel manipulation
-4.12.4.2.17 Compositing
-4.12.4.2.18 Image smoothing
-4.12.4.2.19 Shadows
-4.12.4.2.20 Drawing model
-4.12.4.2.21 Best practices
-4.12.4.2.22 Examples
-4.12.4.3 Color spaces and color correction
-4.12.4.4 Serializing bitmaps to a file
-4.12.4.5 Security with canvas elements
-4.13 Common idioms without dedicated elements
-4.13.1 The main part of the content
-4.13.2 Bread crumb navigation
-4.13.3 Tag clouds
-4.13.4 Conversations
-4.13.5 Footnotes
-4.14 Disabled elements
-4.15 Matching HTML elements using selectors
-4.15.1 Case-sensitivity
-4.15.2 Pseudo-classes
-5 Microdata
-5.1 Introduction
-5.1.1 Overview
-5.1.2 The basic syntax
-5.1.3 Typed items
-5.1.4 Global identifiers for items
-5.1.5 Selecting names when defining vocabularies
-5.1.6 Using the microdata DOM API
-5.2 Encoding microdata
-5.2.1 The microdata model
-5.2.2 Items
-5.2.3 Names: the itemprop attribute
-5.2.4 Values
-5.2.5 Associating names with items
-5.2.6 Microdata and other namespaces
-5.3 Microdata DOM API
-5.4 Sample microdata vocabularies
-5.4.1 vCard
-5.4.1.1 Conversion to vCard
-5.4.1.2 Examples
-5.4.2 vEvent
-5.4.2.1 Conversion to iCalendar
-5.4.2.2 Examples
-5.4.3 Licensing works
-5.4.3.1 Examples
-5.5 Converting HTML to other formats
-5.5.1 JSON
-6 Loading Web pages
-6.1 Browsing contexts
-6.1.1 Nested browsing contexts
-6.1.1.1 Navigating nested browsing contexts in the DOM
-6.1.2 Auxiliary browsing contexts
-6.1.2.1 Navigating auxiliary browsing contexts in the DOM
-6.1.3 Secondary browsing contexts
-6.1.4 Security
-6.1.5 Groupings of browsing contexts
-6.1.6 Browsing context names
-6.2 The Window object
-6.2.1 Security
-6.2.2 APIs for creating and navigating browsing contexts by name
-6.2.3 Accessing other browsing contexts
-6.2.4 Named access on the Window object
-6.2.5 Garbage collection and browsing contexts
-6.2.6 Closing browsing contexts
-6.2.7 Browser interface elements
-6.2.8 The WindowProxy object
-6.3 Origin
-6.3.1 Relaxing the same-origin restriction
-6.4 Sandboxing
-6.5 Session history and navigation
-6.5.1 The session history of browsing contexts
-6.5.2 The History interface
-6.5.3 The Location interface
-6.5.3.1 Security
-6.5.4 Implementation notes for session history
-6.6 Browsing the Web
-6.6.1 Navigating across documents
-6.6.2 Page load processing model for HTML files
-6.6.3 Page load processing model for XML files
-6.6.4 Page load processing model for text files
-6.6.5 Page load processing model for multipart/x-mixed-replace resources
-6.6.6 Page load processing model for media
-6.6.7 Page load processing model for content that uses plugins
-6.6.8 Page load processing model for inline
-content that doesn't have a DOM
-6.6.9 Navigating to a fragment identifier
-6.6.10 History traversal
-6.6.10.1 The PopStateEvent interface
-6.6.10.2 The HashChangeEvent interface
-6.6.10.3 The PageTransitionEvent interface
-6.6.11 Unloading documents
-6.6.11.1 The BeforeUnloadEvent interface
-6.6.12 Aborting a document load
-6.7 Offline Web applications
-6.7.1 Introduction
-6.7.1.1 Supporting offline caching for legacy applications
-6.7.1.2 Event summary
-6.7.2 Application caches
-6.7.3 The cache manifest syntax
-6.7.3.1 Some sample manifests
-6.7.3.2 Writing cache manifests
-6.7.3.3 Parsing cache manifests
-6.7.4 Downloading or updating an application cache
-6.7.5 The application cache selection algorithm
-6.7.6 Changes to the networking model
-6.7.7 Expiring application caches
-6.7.8 Disk space
-6.7.9 Application cache API
-6.7.10 Browser state
-7 Web application APIs
-7.1 Scripting
-7.1.1 Introduction
-7.1.2 Enabling and disabling scripting
-7.1.3 Processing model
-7.1.3.1 Definitions
-7.1.3.2 Script settings for browsing contexts
-7.1.3.3 Calling scripts
-7.1.3.4 Creating scripts
-7.1.3.5 Killing scripts
-7.1.3.6 Runtime script errors
-7.1.3.6.1 Runtime script errors in documents
-7.1.3.6.2 The ErrorEvent interface
-7.1.4 Event loops
-7.1.4.1 Definitions
-7.1.4.2 Processing model
-7.1.4.3 Generic task sources
-7.1.5 Events
-7.1.5.1 Event handlers
-7.1.5.2 Event handlers on elements, Document objects, and Window objects
-7.1.5.2.1 IDL definitions
-7.1.5.3 Event firing
-7.1.5.4 Events and the Window object
-7.2 Base64 utility methods
-7.3 Dynamic markup insertion
-7.3.1 Opening the input stream
-7.3.2 Closing the input stream
-7.3.3 document.write()
-7.3.4 document.writeln()
-7.4 Timers
-7.5 User prompts
-7.5.1 Simple dialogs
-7.5.2 Printing
-7.5.3 Dialogs implemented using separate documents
-7.6 System state and capabilities
-7.6.1 The Navigator object
-7.6.1.1 Client identification
-7.6.1.2 Language preferences
-7.6.1.3 Custom scheme and content handlers
-7.6.1.3.1 Security and privacy
-7.6.1.3.2 Sample user interface
-7.6.1.4 Manually releasing the storage mutex
-7.6.1.5 Plugins
-7.6.2 The External interface
-7.7 Images
-8 User interaction
-8.1 The hidden attribute
-8.2 Inert subtrees
-8.2.1 The inert attribute
-8.3 Activation
-8.4 Focus
-8.4.1 Sequential focus navigation and the tabindex attribute
-8.4.2 Focus management
-8.4.3 Document-level focus APIs
-8.4.4 Element-level focus APIs
-8.5 Assigning keyboard shortcuts
-8.5.1 Introduction
-8.5.2 The accesskey attribute
-8.5.3 Processing model
-8.6 Editing
-8.6.1 Making document regions editable: The contenteditable content attribute
-8.6.2 Making entire documents editable: The designMode IDL attribute
-8.6.3 Best practices for in-page editors
-8.6.4 Editing APIs
-8.6.5 Spelling and grammar checking
-8.7 Drag and drop
-8.7.1 Introduction
-8.7.2 The drag data store
-8.7.3 The DataTransfer interface
-8.7.3.1 The DataTransferItemList interface
-8.7.3.2 The DataTransferItem interface
-8.7.4 The DragEvent interface
-8.7.5 Drag-and-drop processing model
-8.7.6 Events summary
-8.7.7 The draggable attribute
-8.7.8 The dropzone attribute
-8.7.9 Security risks in the drag-and-drop model
-9 Communication
-9.1 The MessageEvent interfaces
-9.2 Server-sent events
-9.2.1 Introduction
-9.2.2 The EventSource interface
-9.2.3 Processing model
-9.2.4 Parsing an event stream
-9.2.5 Interpreting an event stream
-9.2.6 Authoring notes
-9.2.7 Connectionless push and other features
-9.2.8 Garbage collection
-9.2.9 Implementation advice
-9.2.10 IANA considerations
-9.2.10.1 text/event-stream
-9.2.10.2 Last-Event-ID
-9.3 Web sockets
-9.3.1 Introduction
-9.3.2 The WebSocket interface
-9.3.3 Feedback from the protocol
-9.3.4 Ping and Pong frames
-9.3.5 Parsing WebSocket URLs
-9.3.6 The CloseEvent interfaces
-9.3.7 Garbage collection
-9.4 Cross-document messaging
-9.4.1 Introduction
-9.4.2 Security
-9.4.2.1 Authors
-9.4.2.2 User agents
-9.4.3 Posting messages
-9.5 Channel messaging
-9.5.1 Introduction
-9.5.1.1 Examples
-9.5.1.2 Ports as the basis of an object-capability model on the Web
-9.5.1.3 Ports as the basis of abstracting out service implementations
-9.5.2 Message channels
-9.5.3 Message ports
-9.5.4 Broadcasting to many ports
-9.5.5 Ports and garbage collection
-9.6 Broadcasting to other browsing contexts
-10 Web workers
-10.1 Introduction
-10.1.1 Scope
-10.1.2 Examples
-10.1.2.1 A background number-crunching worker
-10.1.2.2 Worker used for background I/O
-10.1.2.3 Shared workers introduction
-10.1.2.4 Shared state using a shared worker
-10.1.2.5 Delegation
-10.1.3 Tutorials
-10.1.3.1 Creating a dedicated worker
-10.1.3.2 Communicating with a dedicated worker
-10.1.3.3 Shared workers
-10.2 Infrastructure
-10.2.1 The global scope
-10.2.1.1 The WorkerGlobalScope common interface
-10.2.1.2 Dedicated workers and the DedicatedWorkerGlobalScope interface
-10.2.1.3 Shared workers and the SharedWorkerGlobalScope interface
-10.2.2 The event loop
-10.2.3 The worker's lifetime
-10.2.4 Processing model
-10.2.5 Runtime script errors
-10.2.6 Creating workers
-10.2.6.1 The AbstractWorker abstract interface
-10.2.6.2 Script settings for workers
-10.2.6.3 Dedicated workers and the Worker interface
-10.2.6.4 Shared workers and the SharedWorker interface
-10.3 APIs available to workers
-10.3.1 Importing scripts and libraries
-10.3.2 The WorkerNavigator object
-10.3.3 Interface objects and constructors
-10.3.4 Worker locations
-11 Web storage
-11.1 Introduction
-11.2 The API
-11.2.1 The Storage interface
-11.2.2 The sessionStorage attribute
-11.2.3 The localStorage attribute
-11.2.4 The storage event
-11.2.4.1 The StorageEvent interface
-11.2.5 Threads
-11.3 Disk space
-11.4 Privacy
-11.4.1 User tracking
-11.4.2 Sensitivity of data
-11.5 Security
-11.5.1 DNS spoofing attacks
-11.5.2 Cross-directory attacks
-11.5.3 Implementation risks
-12 The HTML syntax
-12.1 Writing HTML documents
-12.1.1 The DOCTYPE
-12.1.2 Elements
-12.1.2.1 Start tags
-12.1.2.2 End tags
-12.1.2.3 Attributes
-12.1.2.4 Optional tags
-12.1.2.5 Restrictions on content models
-12.1.2.6 Restrictions on the contents of raw text and escapable raw text elements
-12.1.3 Text
-12.1.3.1 Newlines
-12.1.4 Character references
-12.1.5 CDATA sections
-12.1.6 Comments
-12.2 Parsing HTML documents
-12.2.1 Overview of the parsing model
-12.2.2 The input byte stream
-12.2.2.1 Parsing with a known character encoding
-12.2.2.2 Determining the character encoding
-12.2.2.3 Character encodings
-12.2.2.4 Changing the encoding while parsing
-12.2.2.5 Preprocessing the input stream
-12.2.3 Parse state
-12.2.3.1 The insertion mode
-12.2.3.2 The stack of open elements
-12.2.3.3 The list of active formatting elements
-12.2.3.4 The element pointers
-12.2.3.5 Other parsing state flags
-12.2.4 Tokenization
-12.2.4.1 Data state
-12.2.4.2 Character reference in data state
-12.2.4.3 RCDATA state
-12.2.4.4 Character reference in RCDATA state
-12.2.4.5 RAWTEXT state
-12.2.4.6 Script data state
-12.2.4.7 PLAINTEXT state
-12.2.4.8 Tag open state
-12.2.4.9 End tag open state
-12.2.4.10 Tag name state
-12.2.4.11 RCDATA less-than sign state
-12.2.4.12 RCDATA end tag open state
-12.2.4.13 RCDATA end tag name state
-12.2.4.14 RAWTEXT less-than sign state
-12.2.4.15 RAWTEXT end tag open state
-12.2.4.16 RAWTEXT end tag name state
-12.2.4.17 Script data less-than sign state
-12.2.4.18 Script data end tag open state
-12.2.4.19 Script data end tag name state
-12.2.4.20 Script data escape start state
-12.2.4.21 Script data escape start dash state
-12.2.4.22 Script data escaped state
-12.2.4.23 Script data escaped dash state
-12.2.4.24 Script data escaped dash dash state
-12.2.4.25 Script data escaped less-than sign state
-12.2.4.26 Script data escaped end tag open state
-12.2.4.27 Script data escaped end tag name state
-12.2.4.28 Script data double escape start state
-12.2.4.29 Script data double escaped state
-12.2.4.30 Script data double escaped dash state
-12.2.4.31 Script data double escaped dash dash state
-12.2.4.32 Script data double escaped less-than sign state
-12.2.4.33 Script data double escape end state
-12.2.4.34 Before attribute name state
-12.2.4.35 Attribute name state
-12.2.4.36 After attribute name state
-12.2.4.37 Before attribute value state
-12.2.4.38 Attribute value (double-quoted) state
-12.2.4.39 Attribute value (single-quoted) state
-12.2.4.40 Attribute value (unquoted) state
-12.2.4.41 Character reference in attribute value state
-12.2.4.42 After attribute value (quoted) state
-12.2.4.43 Self-closing start tag state
-12.2.4.44 Bogus comment state
-12.2.4.45 Markup declaration open state
-12.2.4.46 Comment start state
-12.2.4.47 Comment start dash state
-12.2.4.48 Comment state
-12.2.4.49 Comment end dash state
-12.2.4.50 Comment end state
-12.2.4.51 Comment end bang state
-12.2.4.52 DOCTYPE state
-12.2.4.53 Before DOCTYPE name state
-12.2.4.54 DOCTYPE name state
-12.2.4.55 After DOCTYPE name state
-12.2.4.56 After DOCTYPE public keyword state
-12.2.4.57 Before DOCTYPE public identifier state
-12.2.4.58 DOCTYPE public identifier (double-quoted) state
-12.2.4.59 DOCTYPE public identifier (single-quoted) state
-12.2.4.60 After DOCTYPE public identifier state
-12.2.4.61 Between DOCTYPE public and system identifiers state
-12.2.4.62 After DOCTYPE system keyword state
-12.2.4.63 Before DOCTYPE system identifier state
-12.2.4.64 DOCTYPE system identifier (double-quoted) state
-12.2.4.65 DOCTYPE system identifier (single-quoted) state
-12.2.4.66 After DOCTYPE system identifier state
-12.2.4.67 Bogus DOCTYPE state
-12.2.4.68 CDATA section state
-12.2.4.69 Tokenizing character references
-12.2.5 Tree construction
-12.2.5.1 Creating and inserting nodes
-12.2.5.2 Parsing elements that contain only text
-12.2.5.3 Closing elements that have implied end tags
-12.2.5.4 The rules for parsing tokens in HTML content
-12.2.5.4.1 The "initial" insertion mode
-12.2.5.4.2 The "before html" insertion mode
-12.2.5.4.3 The "before head" insertion mode
-12.2.5.4.4 The "in head" insertion mode
-12.2.5.4.5 The "in head noscript" insertion mode
-12.2.5.4.6 The "after head" insertion mode
-12.2.5.4.7 The "in body" insertion mode
-12.2.5.4.8 The "text" insertion mode
-12.2.5.4.9 The "in table" insertion mode
-12.2.5.4.10 The "in table text" insertion mode
-12.2.5.4.11 The "in caption" insertion mode
-12.2.5.4.12 The "in column group" insertion mode
-12.2.5.4.13 The "in table body" insertion mode
-12.2.5.4.14 The "in row" insertion mode
-12.2.5.4.15 The "in cell" insertion mode
-12.2.5.4.16 The "in select" insertion mode
-12.2.5.4.17 The "in select in table" insertion mode
-12.2.5.4.18 The "in template" insertion mode
-12.2.5.4.19 The "after body" insertion mode
-12.2.5.4.20 The "in frameset" insertion mode
-12.2.5.4.21 The "after frameset" insertion mode
-12.2.5.4.22 The "after after body" insertion mode
-12.2.5.4.23 The "after after frameset" insertion mode
-12.2.5.5 The rules for parsing tokens in foreign content
-12.2.6 The end
-12.2.7 Coercing an HTML DOM into an infoset
-12.2.8 An introduction to error handling and strange cases in the parser
-12.2.8.1 Misnested tags: <b><i></b></i>
-12.2.8.2 Misnested tags: <b><p></b></p>
-12.2.8.3 Unexpected markup in tables
-12.2.8.4 Scripts that modify the page as it is being parsed
-12.2.8.5 The execution of scripts that are moving across multiple documents
-12.2.8.6 Unclosed formatting elements
-12.3 Serializing HTML fragments
-12.4 Parsing HTML fragments
-12.5 Named character references
-13 The XHTML syntax
-13.1 Writing XHTML documents
-13.2 Parsing XHTML documents
-13.3 Serializing XHTML fragments
-13.4 Parsing XHTML fragments
-14 Rendering
-14.1 Introduction
-14.2 The CSS user agent style sheet and presentational hints
-14.3 Non-replaced elements
-14.3.1 Hidden elements
-14.3.2 The page
-14.3.3 Flow content
-14.3.4 Phrasing content
-14.3.5 Bidirectional text
-14.3.6 Quotes
-14.3.7 Sections and headings
-14.3.8 Lists
-14.3.9 Tables
-14.3.10 Margin collapsing quirks
-14.3.11 Form controls
-14.3.12 The hr element
-14.3.13 The fieldset and legend elements
-14.4 Replaced elements
-14.4.1 Embedded content
-14.4.2 Images
-14.4.3 Attributes for embedded content and images
-14.4.4 Image maps
-14.5 Bindings
-14.5.1 Introduction
-14.5.2 The button element
-14.5.3 The details element
-14.5.4 The input element as a text entry widget
-14.5.5 The input element as domain-specific widgets
-14.5.6 The input element as a range control
-14.5.7 The input element as a color well
-14.5.8 The input element as a checkbox and radio button widgets
-14.5.9 The input element as a file upload control
-14.5.10 The input element as a button
-14.5.11 The marquee element
-14.5.12 The meter element
-14.5.13 The progress element
-14.5.14 The select element
-14.5.15 The textarea element
-14.5.16 The keygen element
-14.6 Frames and framesets
-14.7 Interactive media
-14.7.1 Links, forms, and navigation
-14.7.2 The title attribute
-14.7.3 Editing hosts
-14.7.4 Text rendered in native user interfaces
-14.8 Print media
-14.9 Unstyled XML documents
-15 Obsolete features
-15.1 Obsolete but conforming features
-15.1.1 Warnings for obsolete but conforming features
-15.2 Non-conforming features
-15.3 Requirements for implementations
-15.3.1 The applet element
-15.3.2 The marquee element
-15.3.3 Frames
-15.3.4 Other elements, attributes and APIs
-16 IANA considerations
-16.1 text/html
-16.2 multipart/x-mixed-replace
-16.3 application/xhtml+xml
-16.4 application/x-www-form-urlencoded
-16.5 text/cache-manifest
-16.6 text/ping
-16.7 application/microdata+json
-16.8 Ping-From
-16.9 Ping-To
-16.10 web+ scheme prefix
-Index
-Elements
-Element content categories
-Attributes
-Element Interfaces
-All Interfaces
-Events
-References
+
+HTML Standard
+
+Table of contents
+
+
+1 Introduction
+1.1 Where does this specification fit?
+1.2 Is this HTML5?
+1.3 Background
+1.4 Audience
+1.5 Scope
+1.6 History
+1.7 Design notes
+1.7.1 Serializability of script execution
+1.7.2 Compliance with other specifications
+1.7.3 Extensibility
+1.8 HTML vs XHTML
+1.9 Structure of this specification
+1.9.1 How to read this specification
+1.9.2 Typographic conventions
+1.10 Privacy concerns
+1.11 A quick introduction to HTML
+1.11.1 Writing secure applications with HTML
+1.11.2 Common pitfalls to avoid when using the scripting APIs
+1.11.3 How to catch mistakes when writing HTML: validators and conformance checkers
+1.12 Conformance requirements for authors
+1.12.1 Presentational markup
+1.12.2 Syntax errors
+1.12.3 Restrictions on content models and on attribute values
+1.13 Suggested reading
+2 Common infrastructure
+2.1 Terminology
+2.1.1 Resources
+2.1.2 XML
+2.1.3 DOM trees
+2.1.4 Scripting
+2.1.5 Plugins
+2.1.6 Character encodings
+2.2 Conformance requirements
+2.2.1 Conformance classes
+2.2.2 Dependencies
+2.2.3 Extensibility
+2.2.4 Interactions with XPath and XSLT
+2.3 Case-sensitivity and string comparison
+2.4 Common microsyntaxes
+2.4.1 Common parser idioms
+2.4.2 Boolean attributes
+2.4.3 Keywords and enumerated attributes
+2.4.4 Numbers
+2.4.4.1 Signed integers
+2.4.4.2 Non-negative integers
+2.4.4.3 Floating-point numbers
+2.4.4.4 Percentages and lengths
+2.4.4.5 Lists of integers
+2.4.4.6 Lists of dimensions
+2.4.5 Dates and times
+2.4.5.1 Months
+2.4.5.2 Dates
+2.4.5.3 Yearless dates
+2.4.5.4 Times
+2.4.5.5 Local dates and times
+2.4.5.6 Time zones
+2.4.5.7 Global dates and times
+2.4.5.8 Weeks
+2.4.5.9 Durations
+2.4.5.10 Vaguer moments in time
+2.4.6 Colors
+2.4.7 Space-separated tokens
+2.4.8 Comma-separated tokens
+2.4.9 References
+2.4.10 Media queries
+2.5 URLs
+2.5.1 Terminology
+2.5.2 Resolving URLs
+2.5.3 Dynamic changes to base URLs
+2.6 Fetching resources
+2.6.1 Terminology
+2.6.2 Processing model
+2.6.3 Encrypted HTTP and related security concerns
+2.6.4 Determining the type of a resource
+2.6.5 Extracting character encodings from meta elements
+2.6.6 CORS settings attributes
+2.6.7 CORS-enabled fetch
+2.7 Common DOM interfaces
+2.7.1 Reflecting content attributes in IDL attributes
+2.7.2 Collections
+2.7.2.1 HTMLAllCollection
+2.7.2.2 HTMLFormControlsCollection
+2.7.2.3 HTMLOptionsCollection
+2.7.2.4 HTMLPropertiesCollection
+2.7.3 DOMStringMap
+2.7.4 DOMElementMap
+2.7.5 Transferable objects
+2.7.6 Safe passing of structured data
+2.7.7 Callbacks
+2.7.8 Garbage collection
+2.8 Namespaces
+3 Semantics, structure, and APIs of HTML documents
+3.1 Documents
+3.1.1 The Document object
+3.1.2 Resource metadata management
+3.1.3 DOM tree accessors
+3.1.4 Loading XML documents
+3.2 Elements
+3.2.1 Semantics
+3.2.2 Elements in the DOM
+3.2.3 Element definitions
+3.2.3.1 Attributes
+3.2.4 Content models
+3.2.4.1 Kinds of content
+3.2.4.1.1 Metadata content
+3.2.4.1.2 Flow content
+3.2.4.1.3 Sectioning content
+3.2.4.1.4 Heading content
+3.2.4.1.5 Phrasing content
+3.2.4.1.6 Embedded content
+3.2.4.1.7 Interactive content
+3.2.4.1.8 Palpable content
+3.2.4.1.9 Script-supporting elements
+3.2.4.2 Transparent content models
+3.2.4.3 Paragraphs
+3.2.5 Global attributes
+3.2.5.1 The id attribute
+3.2.5.2 The title attribute
+3.2.5.3 The lang and xml:lang attributes
+3.2.5.4 The translate attribute
+3.2.5.5 The xml:base attribute (XML only)
+3.2.5.6 The dir attribute
+3.2.5.7 The class attribute
+3.2.5.8 The style attribute
+3.2.5.9 Embedding custom non-visible data with the data-* attributes
+3.2.6 Requirements relating to the bidirectional algorithm
+3.2.6.1 Authoring conformance criteria for bidirectional-algorithm formatting characters
+3.2.6.2 User agent conformance criteria
+3.2.7 WAI-ARIA
+4 The elements of HTML
+4.1 The root element
+4.1.1 The html element
+4.2 Document metadata
+4.2.1 The head element
+4.2.2 The title element
+4.2.3 The base element
+4.2.4 The link element
+4.2.5 The meta element
+4.2.5.1 Standard metadata names
+4.2.5.2 Other metadata names
+4.2.5.3 Pragma directives
+4.2.5.4 Other pragma directives
+4.2.5.5 Specifying the document's character encoding
+4.2.6 The style element
+4.2.6.1 The @global rule
+4.2.7 Interactions of styling and scripting
+4.3 Sections
+4.3.1 The body element
+4.3.2 The article element
+4.3.3 The section element
+4.3.4 The nav element
+4.3.5 The aside element
+4.3.6 The h1, h2, h3, h4, h5, and
+h6 elements
+4.3.7 The hgroup element
+4.3.8 The header element
+4.3.9 The footer element
+4.3.10 The address element
+4.3.11 Headings and sections
+4.3.11.1 Creating an outline
+4.3.11.2 Sample outlines
+4.3.12 Usage summary
+4.3.12.1 Article or section?
+4.4 Grouping content
+4.4.1 The p element
+4.4.2 The hr element
+4.4.3 The pre element
+4.4.4 The blockquote element
+4.4.5 The ol element
+4.4.6 The ul element
+4.4.7 The li element
+4.4.8 The dl element
+4.4.9 The dt element
+4.4.10 The dd element
+4.4.11 The figure element
+4.4.12 The figcaption element
+4.4.13 The main element
+4.4.14 The div element
+4.5 Text-level semantics
+4.5.1 The a element
+4.5.2 The em element
+4.5.3 The strong element
+4.5.4 The small element
+4.5.5 The s element
+4.5.6 The cite element
+4.5.7 The q element
+4.5.8 The dfn element
+4.5.9 The abbr element
+4.5.10 The data element
+4.5.11 The time element
+4.5.12 The code element
+4.5.13 The var element
+4.5.14 The samp element
+4.5.15 The kbd element
+4.5.16 The sub and sup elements
+4.5.17 The i element
+4.5.18 The b element
+4.5.19 The u element
+4.5.20 The mark element
+4.5.21 The ruby element
+4.5.22 The rt element
+4.5.23 The rp element
+4.5.24 The bdi element
+4.5.25 The bdo element
+4.5.26 The span element
+4.5.27 The br element
+4.5.28 The wbr element
+4.5.29 Usage summary
+4.6 Edits
+4.6.1 The ins element
+4.6.2 The del element
+4.6.3 Attributes common to ins and del elements
+4.6.4 Edits and paragraphs
+4.6.5 Edits and lists
+4.6.6 Edits and tables
+4.7 Embedded content
+4.7.1 The img element
+4.7.1.1 Requirements for providing text to act as an alternative for images
+4.7.1.1.1 General guidelines
+4.7.1.1.2 A link or button containing nothing but the image
+4.7.1.1.3 A phrase or paragraph with an alternative graphical representation: charts, diagrams, graphs, maps, illustrations
+4.7.1.1.4 A short phrase or label with an alternative graphical representation: icons, logos
+4.7.1.1.5 Text that has been rendered to a graphic for typographical effect
+4.7.1.1.6 A graphical representation of some of the surrounding text
+4.7.1.1.7 A purely decorative image that doesn't add any information
+4.7.1.1.8 A group of images that form a single larger picture with no links
+4.7.1.1.9 A group of images that form a single larger picture with links
+4.7.1.1.10 A key part of the content
+4.7.1.1.11 An image not intended for the user
+4.7.1.1.12 An image in an e-mail or private document intended for a specific person who is known to be able to view images
+4.7.1.1.13 Guidance for markup generators
+4.7.1.1.14 Guidance for conformance checkers
+4.7.1.2 Adaptive images
+4.7.2 The iframe element
+4.7.3 The embed element
+4.7.4 The object element
+4.7.5 The param element
+4.7.6 The video element
+4.7.7 The audio element
+4.7.8 The source element
+4.7.9 The track element
+4.7.10 Media elements
+4.7.10.1 Error codes
+4.7.10.2 Location of the media resource
+4.7.10.3 MIME types
+4.7.10.4 Network states
+4.7.10.5 Loading the media resource
+4.7.10.6 Offsets into the media resource
+4.7.10.7 Ready states
+4.7.10.8 Playing the media resource
+4.7.10.9 Seeking
+4.7.10.10 Media resources with multiple media tracks
+4.7.10.10.1 AudioTrackList and VideoTrackList objects
+4.7.10.10.2 Selecting specific audio and video tracks declaratively
+4.7.10.11 Synchronising multiple media elements
+4.7.10.11.1 Introduction
+4.7.10.11.2 Media controllers
+4.7.10.11.3 Assigning a media controller declaratively
+4.7.10.12 Timed text tracks
+4.7.10.12.1 Text track model
+4.7.10.12.2 Sourcing in-band text tracks
+4.7.10.12.3 Sourcing out-of-band text tracks
+4.7.10.12.4 Guidelines for exposing cues in various formats as text track cues
+4.7.10.12.5 Text track API
+4.7.10.12.6 Text tracks describing chapters
+4.7.10.12.7 Event handlers for objects of the text track APIs
+4.7.10.12.8 Best practices for metadata text tracks
+4.7.10.13 User interface
+4.7.10.14 Time ranges
+4.7.10.15 The TrackEvent interface
+4.7.10.16 Event summary
+4.7.10.17 Security and privacy considerations
+4.7.10.18 Best practices for authors using media elements
+4.7.10.19 Best practices for implementors of media elements
+4.7.11 The map element
+4.7.12 The area element
+4.7.13 Image maps
+4.7.13.1 Authoring
+4.7.13.2 Processing model
+4.7.14 MathML
+4.7.15 SVG
+4.7.16 Dimension attributes
+4.8 Links
+4.8.1 Introduction
+4.8.2 Links created by a and area elements
+4.8.3 Following hyperlinks
+4.8.4 Downloading resources
+4.8.4.1 Hyperlink auditing
+4.8.5 Link types
+4.8.5.1 Link type "alternate"
+4.8.5.2 Link type "author"
+4.8.5.3 Link type "bookmark"
+4.8.5.4 Link type "external"
+4.8.5.5 Link type "help"
+4.8.5.6 Link type "icon"
+4.8.5.7 Link type "license"
+4.8.5.8 Link type "nofollow"
+4.8.5.9 Link type "noreferrer"
+4.8.5.10 Link type "pingback"
+4.8.5.11 Link type "prefetch"
+4.8.5.12 Link type "search"
+4.8.5.13 Link type "sidebar"
+4.8.5.14 Link type "stylesheet"
+4.8.5.15 Link type "tag"
+4.8.5.16 Sequential link types
+4.8.5.16.1 Link type "next"
+4.8.5.16.2 Link type "prev"
+4.8.5.17 Other link types
+4.9 Tabular data
+4.9.1 The table element
+4.9.1.1 Techniques for describing tables
+4.9.1.2 Techniques for table design
+4.9.2 The caption element
+4.9.3 The colgroup element
+4.9.4 The col element
+4.9.5 The tbody element
+4.9.6 The thead element
+4.9.7 The tfoot element
+4.9.8 The tr element
+4.9.9 The td element
+4.9.10 The th element
+4.9.11 Attributes common to td and th elements
+4.9.12 Processing model
+4.9.12.1 Forming a table
+4.9.12.2 Forming relationships between data cells and header cells
+4.9.13 Table sorting model
+4.9.14 Examples
+4.10 Forms
+4.10.1 Introduction
+4.10.1.1 Writing a form's user interface
+4.10.1.2 Implementing the server-side processing for a form
+4.10.1.3 Configuring a form to communicate with a server
+4.10.1.4 Client-side form validation
+4.10.1.5 Enabling client-side automatic filling of form controls
+4.10.1.6 Improving the user experience on mobile devices
+4.10.1.7 The difference between the field type, the autofill field name, and the input modality
+4.10.1.8 Date, time, and number formats
+4.10.2 Categories
+4.10.3 The form element
+4.10.4 The label element
+4.10.5 The input element
+4.10.5.1 States of the type attribute
+4.10.5.1.1 Hidden state (type=hidden)
+4.10.5.1.2 Text (type=text) state and Search state (type=search)
+4.10.5.1.3 Telephone state (type=tel)
+4.10.5.1.4 URL state (type=url)
+4.10.5.1.5 E-mail state (type=email)
+4.10.5.1.6 Password state (type=password)
+4.10.5.1.7 Date and Time state (type=datetime)
+4.10.5.1.8 Date state (type=date)
+4.10.5.1.9 Month state (type=month)
+4.10.5.1.10 Week state (type=week)
+4.10.5.1.11 Time state (type=time)
+4.10.5.1.12 Local Date and Time state (type=datetime-local)
+4.10.5.1.13 Number state (type=number)
+4.10.5.1.14 Range state (type=range)
+4.10.5.1.15 Color state (type=color)
+4.10.5.1.16 Checkbox state (type=checkbox)
+4.10.5.1.17 Radio Button state (type=radio)
+4.10.5.1.18 File Upload state (type=file)
+4.10.5.1.19 Submit Button state (type=submit)
+4.10.5.1.20 Image Button state (type=image)
+4.10.5.1.21 Reset Button state (type=reset)
+4.10.5.1.22 Button state (type=button)
+4.10.5.2 Implemention notes regarding localization of form controls
+4.10.5.3 Common input element attributes
+4.10.5.3.1 The maxlength and minlength attributes
+4.10.5.3.2 The size attribute
+4.10.5.3.3 The readonly attribute
+4.10.5.3.4 The required attribute
+4.10.5.3.5 The multiple attribute
+4.10.5.3.6 The pattern attribute
+4.10.5.3.7 The min and max attributes
+4.10.5.3.8 The step attribute
+4.10.5.3.9 The list attribute
+4.10.5.3.10 The placeholder attribute
+4.10.5.4 Common input element APIs
+4.10.5.5 Common event behaviors
+4.10.6 The button element
+4.10.7 The select element
+4.10.8 The datalist element
+4.10.9 The optgroup element
+4.10.10 The option element
+4.10.11 The textarea element
+4.10.12 The keygen element
+4.10.13 The output element
+4.10.14 The progress element
+4.10.15 The meter element
+4.10.16 The fieldset element
+4.10.17 The legend element
+4.10.18 Form control infrastructure
+4.10.18.1 A form control's value
+4.10.18.2 Mutability
+4.10.18.3 Association of controls and forms
+4.10.19 Attributes common to form controls
+4.10.19.1 Naming form controls: the name attribute
+4.10.19.2 Submitting element directionality: the dirname attribute
+4.10.19.3 Limiting user input length: the maxlength attribute
+4.10.19.4 Setting minimum input length requirements: the minlength attribute
+4.10.19.5 Enabling and disabling form controls: the disabled attribute
+4.10.19.6 Form submission
+4.10.19.7 Autofocusing a form control: the autofocus attribute
+4.10.19.8 Input modalities: the inputmode attribute
+4.10.19.9 Autofilling form controls: the autocomplete attribute
+4.10.20 APIs for the text field selections
+4.10.21 Constraints
+4.10.21.1 Definitions
+4.10.21.2 Constraint validation
+4.10.21.3 The constraint validation API
+4.10.21.4 Security
+4.10.22 Form submission
+4.10.22.1 Introduction
+4.10.22.2 Implicit submission
+4.10.22.3 Form submission algorithm
+4.10.22.4 Constructing the form data set
+4.10.22.5 Selecting a form submission encoding
+4.10.22.6 URL-encoded form data
+4.10.22.7 Multipart form data
+4.10.22.8 Plain text form data
+4.10.23 Resetting a form
+4.11 Interactive elements
+4.11.1 The details element
+4.11.2 The summary element
+4.11.3 The menu element
+4.11.4 The menuitem element
+4.11.5 Context menus
+4.11.5.1 Declaring a context menu
+4.11.5.2 Processing model
+4.11.5.3 The RelatedEvent interfaces
+4.11.6 Commands
+4.11.6.1 Facets
+4.11.6.2 Using the a element to define a command
+4.11.6.3 Using the button element to define a command
+4.11.6.4 Using the input element to define a command
+4.11.6.5 Using the option element to define a command
+4.11.6.6 Using the menuitem element to define a
+command
+4.11.6.7 Using the command attribute on menuitem elements to define
+a command indirectly
+4.11.6.8 Using the accesskey attribute
+on a label element to define a command
+4.11.6.9 Using the accesskey attribute
+on a legend element to define a command
+4.11.6.10 Using the accesskey
+attribute to define a command on other elements
+4.11.7 The dialog element
+4.11.7.1 Anchor points
+4.12 Scripting
+4.12.1 The script element
+4.12.1.1 Scripting languages
+4.12.1.2 Restrictions for contents of script elements
+4.12.1.3 Inline documentation for external scripts
+4.12.1.4 Interaction of script elements and XSLT
+4.12.2 The noscript element
+4.12.3 The template element
+4.12.3.1 Interaction of template elements with XSLT and XPath
+4.12.4 The canvas element
+4.12.4.1 Proxying canvases to workers
+4.12.4.2 The 2D rendering context
+4.12.4.2.1 Implementation notes
+4.12.4.2.2 The canvas state
+4.12.4.2.3 DrawingStyle objects
+4.12.4.2.4 Line styles
+4.12.4.2.5 Text styles
+4.12.4.2.6 Building paths
+4.12.4.2.7 Path objects
+4.12.4.2.8 Transformations
+4.12.4.2.9 Image sources for 2D rendering contexts
+4.12.4.2.10 Fill and stroke styles
+4.12.4.2.11 Drawing rectangles to the bitmap
+4.12.4.2.12 Drawing text to the bitmap
+4.12.4.2.13 Drawing paths to the canvas
+4.12.4.2.14 Drawing images
+4.12.4.2.15 Hit regions
+4.12.4.2.16 Pixel manipulation
+4.12.4.2.17 Compositing
+4.12.4.2.18 Image smoothing
+4.12.4.2.19 Shadows
+4.12.4.2.20 Drawing model
+4.12.4.2.21 Best practices
+4.12.4.2.22 Examples
+4.12.4.3 Color spaces and color correction
+4.12.4.4 Serializing bitmaps to a file
+4.12.4.5 Security with canvas elements
+4.13 Common idioms without dedicated elements
+4.13.1 The main part of the content
+4.13.2 Bread crumb navigation
+4.13.3 Tag clouds
+4.13.4 Conversations
+4.13.5 Footnotes
+4.14 Disabled elements
+4.15 Matching HTML elements using selectors
+4.15.1 Case-sensitivity
+4.15.2 Pseudo-classes
+5 Microdata
+5.1 Introduction
+5.1.1 Overview
+5.1.2 The basic syntax
+5.1.3 Typed items
+5.1.4 Global identifiers for items
+5.1.5 Selecting names when defining vocabularies
+5.1.6 Using the microdata DOM API
+5.2 Encoding microdata
+5.2.1 The microdata model
+5.2.2 Items
+5.2.3 Names: the itemprop attribute
+5.2.4 Values
+5.2.5 Associating names with items
+5.2.6 Microdata and other namespaces
+5.3 Microdata DOM API
+5.4 Sample microdata vocabularies
+5.4.1 vCard
+5.4.1.1 Conversion to vCard
+5.4.1.2 Examples
+5.4.2 vEvent
+5.4.2.1 Conversion to iCalendar
+5.4.2.2 Examples
+5.4.3 Licensing works
+5.4.3.1 Examples
+5.5 Converting HTML to other formats
+5.5.1 JSON
+6 Loading Web pages
+6.1 Browsing contexts
+6.1.1 Nested browsing contexts
+6.1.1.1 Navigating nested browsing contexts in the DOM
+6.1.2 Auxiliary browsing contexts
+6.1.2.1 Navigating auxiliary browsing contexts in the DOM
+6.1.3 Secondary browsing contexts
+6.1.4 Security
+6.1.5 Groupings of browsing contexts
+6.1.6 Browsing context names
+6.2 The Window object
+6.2.1 Security
+6.2.2 APIs for creating and navigating browsing contexts by name
+6.2.3 Accessing other browsing contexts
+6.2.4 Named access on the Window object
+6.2.5 Garbage collection and browsing contexts
+6.2.6 Closing browsing contexts
+6.2.7 Browser interface elements
+6.2.8 The WindowProxy object
+6.3 Origin
+6.3.1 Relaxing the same-origin restriction
+6.4 Sandboxing
+6.5 Session history and navigation
+6.5.1 The session history of browsing contexts
+6.5.2 The History interface
+6.5.3 The Location interface
+6.5.3.1 Security
+6.5.4 Implementation notes for session history
+6.6 Browsing the Web
+6.6.1 Navigating across documents
+6.6.2 Page load processing model for HTML files
+6.6.3 Page load processing model for XML files
+6.6.4 Page load processing model for text files
+6.6.5 Page load processing model for multipart/x-mixed-replace resources
+6.6.6 Page load processing model for media
+6.6.7 Page load processing model for content that uses plugins
+6.6.8 Page load processing model for inline
+content that doesn't have a DOM
+6.6.9 Navigating to a fragment identifier
+6.6.10 History traversal
+6.6.10.1 The PopStateEvent interface
+6.6.10.2 The HashChangeEvent interface
+6.6.10.3 The PageTransitionEvent interface
+6.6.11 Unloading documents
+6.6.11.1 The BeforeUnloadEvent interface
+6.6.12 Aborting a document load
+6.7 Offline Web applications
+6.7.1 Introduction
+6.7.1.1 Supporting offline caching for legacy applications
+6.7.1.2 Event summary
+6.7.2 Application caches
+6.7.3 The cache manifest syntax
+6.7.3.1 Some sample manifests
+6.7.3.2 Writing cache manifests
+6.7.3.3 Parsing cache manifests
+6.7.4 Downloading or updating an application cache
+6.7.5 The application cache selection algorithm
+6.7.6 Changes to the networking model
+6.7.7 Expiring application caches
+6.7.8 Disk space
+6.7.9 Application cache API
+6.7.10 Browser state
+7 Web application APIs
+7.1 Scripting
+7.1.1 Introduction
+7.1.2 Enabling and disabling scripting
+7.1.3 Processing model
+7.1.3.1 Definitions
+7.1.3.2 Script settings for browsing contexts
+7.1.3.3 Calling scripts
+7.1.3.4 Creating scripts
+7.1.3.5 Killing scripts
+7.1.3.6 Runtime script errors
+7.1.3.6.1 Runtime script errors in documents
+7.1.3.6.2 The ErrorEvent interface
+7.1.4 Event loops
+7.1.4.1 Definitions
+7.1.4.2 Processing model
+7.1.4.3 Generic task sources
+7.1.5 Events
+7.1.5.1 Event handlers
+7.1.5.2 Event handlers on elements, Document objects, and Window objects
+7.1.5.2.1 IDL definitions
+7.1.5.3 Event firing
+7.1.5.4 Events and the Window object
+7.2 Base64 utility methods
+7.3 Dynamic markup insertion
+7.3.1 Opening the input stream
+7.3.2 Closing the input stream
+7.3.3 document.write()
+7.3.4 document.writeln()
+7.4 Timers
+7.5 User prompts
+7.5.1 Simple dialogs
+7.5.2 Printing
+7.5.3 Dialogs implemented using separate documents
+7.6 System state and capabilities
+7.6.1 The Navigator object
+7.6.1.1 Client identification
+7.6.1.2 Language preferences
+7.6.1.3 Custom scheme and content handlers
+7.6.1.3.1 Security and privacy
+7.6.1.3.2 Sample user interface
+7.6.1.4 Manually releasing the storage mutex
+7.6.1.5 Plugins
+7.6.2 The External interface
+7.7 Images
+8 User interaction
+8.1 The hidden attribute
+8.2 Inert subtrees
+8.2.1 The inert attribute
+8.3 Activation
+8.4 Focus
+8.4.1 Sequential focus navigation and the tabindex attribute
+8.4.2 Focus management
+8.4.3 Document-level focus APIs
+8.4.4 Element-level focus APIs
+8.5 Assigning keyboard shortcuts
+8.5.1 Introduction
+8.5.2 The accesskey attribute
+8.5.3 Processing model
+8.6 Editing
+8.6.1 Making document regions editable: The contenteditable content attribute
+8.6.2 Making entire documents editable: The designMode IDL attribute
+8.6.3 Best practices for in-page editors
+8.6.4 Editing APIs
+8.6.5 Spelling and grammar checking
+8.7 Drag and drop
+8.7.1 Introduction
+8.7.2 The drag data store
+8.7.3 The DataTransfer interface
+8.7.3.1 The DataTransferItemList interface
+8.7.3.2 The DataTransferItem interface
+8.7.4 The DragEvent interface
+8.7.5 Drag-and-drop processing model
+8.7.6 Events summary
+8.7.7 The draggable attribute
+8.7.8 The dropzone attribute
+8.7.9 Security risks in the drag-and-drop model
+9 Communication
+9.1 The MessageEvent interfaces
+9.2 Server-sent events
+9.2.1 Introduction
+9.2.2 The EventSource interface
+9.2.3 Processing model
+9.2.4 Parsing an event stream
+9.2.5 Interpreting an event stream
+9.2.6 Authoring notes
+9.2.7 Connectionless push and other features
+9.2.8 Garbage collection
+9.2.9 Implementation advice
+9.2.10 IANA considerations
+9.2.10.1 text/event-stream
+9.2.10.2 Last-Event-ID
+9.3 Web sockets
+9.3.1 Introduction
+9.3.2 The WebSocket interface
+9.3.3 Feedback from the protocol
+9.3.4 Ping and Pong frames
+9.3.5 Parsing WebSocket URLs
+9.3.6 The CloseEvent interfaces
+9.3.7 Garbage collection
+9.4 Cross-document messaging
+9.4.1 Introduction
+9.4.2 Security
+9.4.2.1 Authors
+9.4.2.2 User agents
+9.4.3 Posting messages
+9.5 Channel messaging
+9.5.1 Introduction
+9.5.1.1 Examples
+9.5.1.2 Ports as the basis of an object-capability model on the Web
+9.5.1.3 Ports as the basis of abstracting out service implementations
+9.5.2 Message channels
+9.5.3 Message ports
+9.5.4 Broadcasting to many ports
+9.5.5 Ports and garbage collection
+9.6 Broadcasting to other browsing contexts
+10 Web workers
+10.1 Introduction
+10.1.1 Scope
+10.1.2 Examples
+10.1.2.1 A background number-crunching worker
+10.1.2.2 Worker used for background I/O
+10.1.2.3 Shared workers introduction
+10.1.2.4 Shared state using a shared worker
+10.1.2.5 Delegation
+10.1.3 Tutorials
+10.1.3.1 Creating a dedicated worker
+10.1.3.2 Communicating with a dedicated worker
+10.1.3.3 Shared workers
+10.2 Infrastructure
+10.2.1 The global scope
+10.2.1.1 The WorkerGlobalScope common interface
+10.2.1.2 Dedicated workers and the DedicatedWorkerGlobalScope interface
+10.2.1.3 Shared workers and the SharedWorkerGlobalScope interface
+10.2.2 The event loop
+10.2.3 The worker's lifetime
+10.2.4 Processing model
+10.2.5 Runtime script errors
+10.2.6 Creating workers
+10.2.6.1 The AbstractWorker abstract interface
+10.2.6.2 Script settings for workers
+10.2.6.3 Dedicated workers and the Worker interface
+10.2.6.4 Shared workers and the SharedWorker interface
+10.3 APIs available to workers
+10.3.1 Importing scripts and libraries
+10.3.2 The WorkerNavigator object
+10.3.3 Interface objects and constructors
+10.3.4 Worker locations
+11 Web storage
+11.1 Introduction
+11.2 The API
+11.2.1 The Storage interface
+11.2.2 The sessionStorage attribute
+11.2.3 The localStorage attribute
+11.2.4 The storage event
+11.2.4.1 The StorageEvent interface
+11.2.5 Threads
+11.3 Disk space
+11.4 Privacy
+11.4.1 User tracking
+11.4.2 Sensitivity of data
+11.5 Security
+11.5.1 DNS spoofing attacks
+11.5.2 Cross-directory attacks
+11.5.3 Implementation risks
+12 The HTML syntax
+12.1 Writing HTML documents
+12.1.1 The DOCTYPE
+12.1.2 Elements
+12.1.2.1 Start tags
+12.1.2.2 End tags
+12.1.2.3 Attributes
+12.1.2.4 Optional tags
+12.1.2.5 Restrictions on content models
+12.1.2.6 Restrictions on the contents of raw text and escapable raw text elements
+12.1.3 Text
+12.1.3.1 Newlines
+12.1.4 Character references
+12.1.5 CDATA sections
+12.1.6 Comments
+12.2 Parsing HTML documents
+12.2.1 Overview of the parsing model
+12.2.2 The input byte stream
+12.2.2.1 Parsing with a known character encoding
+12.2.2.2 Determining the character encoding
+12.2.2.3 Character encodings
+12.2.2.4 Changing the encoding while parsing
+12.2.2.5 Preprocessing the input stream
+12.2.3 Parse state
+12.2.3.1 The insertion mode
+12.2.3.2 The stack of open elements
+12.2.3.3 The list of active formatting elements
+12.2.3.4 The element pointers
+12.2.3.5 Other parsing state flags
+12.2.4 Tokenization
+12.2.4.1 Data state
+12.2.4.2 Character reference in data state
+12.2.4.3 RCDATA state
+12.2.4.4 Character reference in RCDATA state
+12.2.4.5 RAWTEXT state
+12.2.4.6 Script data state
+12.2.4.7 PLAINTEXT state
+12.2.4.8 Tag open state
+12.2.4.9 End tag open state
+12.2.4.10 Tag name state
+12.2.4.11 RCDATA less-than sign state
+12.2.4.12 RCDATA end tag open state
+12.2.4.13 RCDATA end tag name state
+12.2.4.14 RAWTEXT less-than sign state
+12.2.4.15 RAWTEXT end tag open state
+12.2.4.16 RAWTEXT end tag name state
+12.2.4.17 Script data less-than sign state
+12.2.4.18 Script data end tag open state
+12.2.4.19 Script data end tag name state
+12.2.4.20 Script data escape start state
+12.2.4.21 Script data escape start dash state
+12.2.4.22 Script data escaped state
+12.2.4.23 Script data escaped dash state
+12.2.4.24 Script data escaped dash dash state
+12.2.4.25 Script data escaped less-than sign state
+12.2.4.26 Script data escaped end tag open state
+12.2.4.27 Script data escaped end tag name state
+12.2.4.28 Script data double escape start state
+12.2.4.29 Script data double escaped state
+12.2.4.30 Script data double escaped dash state
+12.2.4.31 Script data double escaped dash dash state
+12.2.4.32 Script data double escaped less-than sign state
+12.2.4.33 Script data double escape end state
+12.2.4.34 Before attribute name state
+12.2.4.35 Attribute name state
+12.2.4.36 After attribute name state
+12.2.4.37 Before attribute value state
+12.2.4.38 Attribute value (double-quoted) state
+12.2.4.39 Attribute value (single-quoted) state
+12.2.4.40 Attribute value (unquoted) state
+12.2.4.41 Character reference in attribute value state
+12.2.4.42 After attribute value (quoted) state
+12.2.4.43 Self-closing start tag state
+12.2.4.44 Bogus comment state
+12.2.4.45 Markup declaration open state
+12.2.4.46 Comment start state
+12.2.4.47 Comment start dash state
+12.2.4.48 Comment state
+12.2.4.49 Comment end dash state
+12.2.4.50 Comment end state
+12.2.4.51 Comment end bang state
+12.2.4.52 DOCTYPE state
+12.2.4.53 Before DOCTYPE name state
+12.2.4.54 DOCTYPE name state
+12.2.4.55 After DOCTYPE name state
+12.2.4.56 After DOCTYPE public keyword state
+12.2.4.57 Before DOCTYPE public identifier state
+12.2.4.58 DOCTYPE public identifier (double-quoted) state
+12.2.4.59 DOCTYPE public identifier (single-quoted) state
+12.2.4.60 After DOCTYPE public identifier state
+12.2.4.61 Between DOCTYPE public and system identifiers state
+12.2.4.62 After DOCTYPE system keyword state
+12.2.4.63 Before DOCTYPE system identifier state
+12.2.4.64 DOCTYPE system identifier (double-quoted) state
+12.2.4.65 DOCTYPE system identifier (single-quoted) state
+12.2.4.66 After DOCTYPE system identifier state
+12.2.4.67 Bogus DOCTYPE state
+12.2.4.68 CDATA section state
+12.2.4.69 Tokenizing character references
+12.2.5 Tree construction
+12.2.5.1 Creating and inserting nodes
+12.2.5.2 Parsing elements that contain only text
+12.2.5.3 Closing elements that have implied end tags
+12.2.5.4 The rules for parsing tokens in HTML content
+12.2.5.4.1 The "initial" insertion mode
+12.2.5.4.2 The "before html" insertion mode
+12.2.5.4.3 The "before head" insertion mode
+12.2.5.4.4 The "in head" insertion mode
+12.2.5.4.5 The "in head noscript" insertion mode
+12.2.5.4.6 The "after head" insertion mode
+12.2.5.4.7 The "in body" insertion mode
+12.2.5.4.8 The "text" insertion mode
+12.2.5.4.9 The "in table" insertion mode
+12.2.5.4.10 The "in table text" insertion mode
+12.2.5.4.11 The "in caption" insertion mode
+12.2.5.4.12 The "in column group" insertion mode
+12.2.5.4.13 The "in table body" insertion mode
+12.2.5.4.14 The "in row" insertion mode
+12.2.5.4.15 The "in cell" insertion mode
+12.2.5.4.16 The "in select" insertion mode
+12.2.5.4.17 The "in select in table" insertion mode
+12.2.5.4.18 The "in template" insertion mode
+12.2.5.4.19 The "after body" insertion mode
+12.2.5.4.20 The "in frameset" insertion mode
+12.2.5.4.21 The "after frameset" insertion mode
+12.2.5.4.22 The "after after body" insertion mode
+12.2.5.4.23 The "after after frameset" insertion mode
+12.2.5.5 The rules for parsing tokens in foreign content
+12.2.6 The end
+12.2.7 Coercing an HTML DOM into an infoset
+12.2.8 An introduction to error handling and strange cases in the parser
+12.2.8.1 Misnested tags: <b><i></b></i>
+12.2.8.2 Misnested tags: <b><p></b></p>
+12.2.8.3 Unexpected markup in tables
+12.2.8.4 Scripts that modify the page as it is being parsed
+12.2.8.5 The execution of scripts that are moving across multiple documents
+12.2.8.6 Unclosed formatting elements
+12.3 Serializing HTML fragments
+12.4 Parsing HTML fragments
+12.5 Named character references
+13 The XHTML syntax
+13.1 Writing XHTML documents
+13.2 Parsing XHTML documents
+13.3 Serializing XHTML fragments
+13.4 Parsing XHTML fragments
+14 Rendering
+14.1 Introduction
+14.2 The CSS user agent style sheet and presentational hints
+14.3 Non-replaced elements
+14.3.1 Hidden elements
+14.3.2 The page
+14.3.3 Flow content
+14.3.4 Phrasing content
+14.3.5 Bidirectional text
+14.3.6 Quotes
+14.3.7 Sections and headings
+14.3.8 Lists
+14.3.9 Tables
+14.3.10 Margin collapsing quirks
+14.3.11 Form controls
+14.3.12 The hr element
+14.3.13 The fieldset and legend elements
+14.4 Replaced elements
+14.4.1 Embedded content
+14.4.2 Images
+14.4.3 Attributes for embedded content and images
+14.4.4 Image maps
+14.5 Bindings
+14.5.1 Introduction
+14.5.2 The button element
+14.5.3 The details element
+14.5.4 The input element as a text entry widget
+14.5.5 The input element as domain-specific widgets
+14.5.6 The input element as a range control
+14.5.7 The input element as a color well
+14.5.8 The input element as a checkbox and radio button widgets
+14.5.9 The input element as a file upload control
+14.5.10 The input element as a button
+14.5.11 The marquee element
+14.5.12 The meter element
+14.5.13 The progress element
+14.5.14 The select element
+14.5.15 The textarea element
+14.5.16 The keygen element
+14.6 Frames and framesets
+14.7 Interactive media
+14.7.1 Links, forms, and navigation
+14.7.2 The title attribute
+14.7.3 Editing hosts
+14.7.4 Text rendered in native user interfaces
+14.8 Print media
+14.9 Unstyled XML documents
+15 Obsolete features
+15.1 Obsolete but conforming features
+15.1.1 Warnings for obsolete but conforming features
+15.2 Non-conforming features
+15.3 Requirements for implementations
+15.3.1 The applet element
+15.3.2 The marquee element
+15.3.3 Frames
+15.3.4 Other elements, attributes and APIs
+16 IANA considerations
+16.1 text/html
+16.2 multipart/x-mixed-replace
+16.3 application/xhtml+xml
+16.4 application/x-www-form-urlencoded
+16.5 text/cache-manifest
+16.6 text/ping
+16.7 application/microdata+json
+16.8 Ping-From
+16.9 Ping-To
+16.10 web+ scheme prefix
+Index
+Elements
+Element content categories
+Attributes
+Element Interfaces
+All Interfaces
+Events
+References
Acknowledgments
\ No newline at end of file
diff --git a/test/data/location-info/wiki-42/data.html b/test/data/location-info/wiki-42/data.html
index 86bf8ebc24f81e31773a40372b84d2b0346e2348..d26b0df6db55f1e79f616443865e96c23776d2c7 100644
--- a/test/data/location-info/wiki-42/data.html
+++ b/test/data/location-info/wiki-42/data.html
@@ -1,3141 +1,3141 @@
-
-
-42 (number) - Wikipedia, the free encyclopedia
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
42 (number)
-
-
From Wikipedia, the free encyclopedia
-
-
-
-
-
-
-
42 (forty-two ) is the natural number immediately following 41 and directly preceding 43 . The number has received considerable attention in popular culture as a result of its central appearance in The Hitchhiker's Guide to the Galaxy as the "Answer to The Ultimate Question of Life, the Universe, and Everything ".
-
-
-
-
Mathematics [ edit ]
-
-Forty-two is a pronic number and an abundant number ; its prime factorization 2 · 3 · 7 makes it the second sphenic number and also the second of the form { 2 · 3 · r }. As with all sphenic numbers of this form, the aliquot sum is abundant by 12. 42 is also the second sphenic number to be bracketed by twin primes ; 30 is also a pronic number and also rests between two primes. 42 has a 14 member aliquot sequence 42, 54, 66, 78, 90, 144, 259, 45, 33, 15, 9, 4, 3, 1, 0 and is itself part of the aliquot sequence commencing with the first sphenic number 30 . Further, 42 is the 10th member of the 3-aliquot tree.
-It is the third primary pseudoperfect number .
-It is a Catalan number . Consequently; 42 is the number of noncrossing partitions of a set of five elements, the number of triangulations of a heptagon , the number of rooted ordered binary trees with six leaves, the number of ways in which five pairs of nested parentheses can be arranged, etc.
-It is the number of partitions of 10 - the number of ways of expressing 10 as a sum of positive integers (note a different sense of partition from that above).
-
-
-
-
-
-The 3 × 3 × 3 magic cube with rows summing to 42.
-
-
-
-Given 27 same-size cubes whose nominal values progress from 1 to 27, a 3×3×3 magic cube can be constructed such that every row, column, and corridor, and every diagonal passing through the center, is composed of 3 cubes whose sum of values is 42.
-It is the third pentadecagonal number . It is a meandric number and an open meandric number .
-It is conjectured to be the scaling factor in the leading order term of the "sixth moment of the Riemann zeta function ". In particular, Conrey & Ghosh have conjectured that
-
-
-.
-where the infinite product is over all prime numbers, p .[ 1] [ 2]
-
-
-42 is a Størmer number .
-In base 10, this number is a Harshad number and a self number , while it is a repdigit in base 4 (as 222).
-42 is the only known value that is the number of sets of four distinct positive integers a,b,c,d, each less than the value itself, such that ab-cd, ac-bd, and ad-bc are each multiples of the value. Whether there are other values remains an open question.[ 3]
-42 is a (2,6)-perfect number (super-multiperfect ), as [ 4]
-42 is a perfect score on the USA Math Olympiad (USAMO )[ 5] and International Mathematical Olympiad (IMO).[ 6]
-42 is the maximum of core points awarded in International Baccalaureate Diploma Programme.
-42 is the resulting number of the original Smith number (4937775): Both the sum of its digits (4+9+3+7+7+7+5) as the sum of the digits in its prime factorization (3+5+5+(6+5+8+3+7)) result in 42.
-The dimension of the Borel subalgebra in the exceptional Lie algebra e 6 is 42.
-
-
Science [ edit ]
-
-The atomic number of molybdenum .
-The angle rounded to whole degrees for which a rainbow appears (the critical angle).
-In 1966, mathematician Paul Cooper theorized that the fastest, most efficient way to travel across continents would be to bore a straight hollow tube directly through the Earth , connecting a set of antipodes , remove the air from the tube and fall through.[ 7] The first half of the journey consists of free-fall acceleration, while the second half consists of an exactly equal deceleration. The time for such a journey works out to be 42 minutes. Even if the tube does not pass through the exact center of the Earth, the time for a journey powered entirely by gravity (known as a gravity train ) always works out to be 42 minutes, so long as the tube remains friction-free, as while the force of gravity would be lessened, the distance traveled is reduced at an equal rate.[ 8] [ 9] (The same idea was proposed, without calculation by Lewis Carroll in 1893 in Sylvie and Bruno Concluded .[ 10] )
-
-
Technology [ edit ]
-
-Magic numbers used by programmers :
-
-The glyph, or character, corresponding to the number 42 in the ASCII character set, is *, the asterisk , commonly known as the wildcard character .
-In the TIFF image file format, the second 16-bit word of every file is 42, which is used together with the first word to indicate byte order .
-In the reiser4 file system, 42 is the inode number of the root directory .
-In the military IRIG 106 Chapter 10 data recording standard, the hex value 0x464F52545974776F (ASCII "FORTYtwo") is used as a magic number to identify directory blocks.
-
-
-The GNU C Library , a set of standard routines available for use in computer programming , contains a function —memfrob() —which performs an XOR combination of a given variable and the binary pattern 00101010 (42) as an XOR cipher .
-42 is the result given by the web search engines Google and Wolfram Alpha when the query "the answer to life the universe and everything " is entered as a search.
-Tiling a plane using regular hexagons , which is honeycomb in appearance, is approximated in a topological sense to an accuracy of better than 1% using a stretcher bond brick pattern with bricks of 42 squares (6 by 7).[ 11]
-The password expiration policy for a Microsoft Windows domain defaults to 42 days.[ 12]
-
-
Astronomy [ edit ]
-
-Messier object M42 , a magnitude 5.0 diffuse nebula in the constellation Orion , also known as the Orion Nebula
-The New General Catalogue object NGC 42, a spiral galaxy in the constellation Pegasus
-In January 2004, asteroid 2001 DA42 was given the permanent name 25924 Douglasadams , for the author Douglas Adams who popularized the number 42 and died in 2001. Brian G. Marsden , the director of the Minor Planet Center and the secretary for the naming committee, remarked that, with even his initials in the provisional designation, "This was sort of made for him, wasn't it?"
-Kepler-42 , a red dwarf in the constellation Cygnus around which orbits the three smallest exoplanets found to date.
-
-
Religion [ edit ]
-
-In Japanese culture, the number 42 is considered unlucky because the numerals when pronounced separately — "shi ni" (four two) — sound like the phrase, "unto death".[ 13]
-There are 42 principles of Ma'at , the Ancient Egyptian personification of physical and moral law, order, and truth. In the judgment scene described in the Egyptian and the Book of the Coming/Going Forth by Day (the Book of the Dead (which evolved from the Coffin Texts and the Pyramid Texts )), there are 42 gods and goddesses of Egypt, personifying the principles of Ma'at . These 42 correspond to the 42 Nomes (Governmental Units) of Egypt. If the departed successfully answers all 42, s/he becomes an Osiris .
-42 is the number with which God creates the Universe in Kabbalistic tradition . In Kabbalah, the most significant name is that of the En Sof (also known as "Ein Sof ", "Infinite" or "Endless"), who is above the Sefirot (sometimes spelled "Sephirot ").[ 14] The Forty-Two-Lettered Name contains four combined names which are spelled in Hebrew letters (spelled in letters = 42 letters), which is the name of Azilut (or "Atziluth " "Emanation"). While there are obvious links between the Forty-Two Lettered Name of the Babylonian Talmud and the Kabbalah's Forty-Two Lettered Name, they are probably not identical because of the Kabbalah's emphasis on numbers. The Kabbalah also contains a Forty-Five Lettered Name and a Seventy-Two Lettered Name.
-The number 42 appears in various contexts in Christianity . There are 42 generations (names) in the Gospel of Matthew 's version of the Genealogy of Jesus ; it is prophesied that for 42 months the Beast will hold dominion over the Earth (Revelation 13:5); 42 men of Beth-azmaveth were counted in the census of men of Israel upon return from exile (Ezra 2:24); God sent bears to maul 42 of the teenage boys who mocked Elisha for his baldness (2 Kings 2:23), etc.
-In Judaism , the number (in the Babylonian Talmud , compiled 375 AD to 499 AD) of the "Forty-Two Lettered Name" ascribed to God. Rab (or Rabhs), a 3rd-century source in the Talmud stated "The Forty-Two Lettered Name is entrusted only to him who is pious, meek, middle-aged, free from bad temper, sober, and not insistent on his rights". [Source: Talmud Kidduschin 71a, Translated by Rabbi Dr. I. Epstein]. Maimonides felt that the original Talmudic Forty-Two Lettered Name was perhaps composed of several combined divine names [Maimonides "Moreh"]. The apparently unpronouncable Tetragrammaton provides the backdrop from the Twelve-Lettered Name and the Forty-Two Lettered Name of the Talmud.[citation needed ]
-The Gutenberg Bible is also known as the "42-line Bible", as the book contained 42 lines per page.
-The Forty-Two Articles (1552) , largely the work of Thomas Cranmer , were intended to summarise Anglican doctrine, as it now existed under the reign of Edward VI .
-
-
Popular culture [ edit ]
-
The Hitchhiker's Guide to the Galaxy [ edit ]
-
The number 42 is, in The Hitchhiker's Guide to the Galaxy by Douglas Adams , "The Answer to the Ultimate Question of Life, the Universe, and Everything ", calculated by an enormous supercomputer over a period of 7.5 million years. Unfortunately no one knows what the question is. Thus, to calculate the Ultimate Question, a special computer the size of a small planet and built from organic components was created and named "Earth". This appeared first in the radio play and later in the novelization of The Hitchhiker's Guide to the Galaxy . The fourth book in the series, the novel So Long, and Thanks for All the Fish , contains 42 chapters. According to the novel Mostly Harmless , 42 is the street address of Stavromula Beta . In 1994 Adams created the 42 Puzzle , a game based on the number 42.
-
The book 42: Douglas Adams' Amazingly Accurate Answer to Life, the Universe and Everything [ 15] examines Adams' choice of the number 42 and also contains a compendium of some instances of the number in science, popular culture, and humour.
-
Works of Lewis Carroll [ edit ]
-
Lewis Carroll [ 16] made repeated use of this number in his writings.[ 17]
-
Examples of Carroll's use of 42:
-
-Alice's Adventures in Wonderland has 42 illustrations.
-Rule Forty-two in Alice's Adventures in Wonderland ("All persons more than a mile high to leave the court").
-Rule 42 of the Code in the preface[ 18] to The Hunting of the Snark ("No one shall speak to the Man at the Helm").
-In "fit the first" of The Hunting of the Snark the Baker had "forty-two boxes, all carefully packed, With his name painted clearly on each."[ 19]
-The White Queen announces her age as "one hundred and one, five months and a day", which - if the best possible date is assumed for the action of Through the Looking-Glass - gives a total of 37,044 days. With the further (textually unconfirmed) assumption that both Queens were born on the same day their combined age becomes 74,088 days, which is 42 x 42 x 42. Some commentators have asserted that this is deliberate on Carroll's part.[ 20]
-
-
-
-
Television and film [ edit ]
-
-The Kumars at No. 42 television series. In 2003, Sanjeev Bhaskar hosted a BBC show nominating The Hitchhiker's Guide to the Galaxy as Britain 's Best Loved Book .
-A made for TV movie 42: Forty Two Up - an installment in a series of documentaries wherein the director revisits the same group of British-born individuals every 7 years.[ 21]
-"42 " is an episode of Doctor Who , set in real time lasting approximately 42 minutes.
-The USS Enterprise D had 42 decks
-In an episode of Stargate Atlantis the character John Sheppard reveals that the number is the ultimate answer to life, the universe and everything, to the confusion of his alien companion.
-On the game show Jeopardy! , "Watson " the IBM supercomputer, has 42 "threads" in its avatar.[ 22]
-On the Unusuals TV-show there's an episode called "42". Detective Leo Banks recently turned 42. On account of his father, uncle, and grandfather dropping dead at 42, Leo is convinced he'll share their fate. There were 42s all over the episode.
-42 (film) is a film on the life of American baseball player Jackie Robinson.
-I, Robot (film) 42 is the number of the first robot shown in the movie, a FedEx Delivery robot.
-42 is the number of Tony Stark 's latest armor (Mark 42) in Marvel Studios ' movie Iron Man 3 by Shane Black starring Robert Downey Jr .
-
-
Video games [ edit ]
-
-42 Entertainment is the company responsible for several alternate reality games , including I Love Bees , Year Zero , and Why So Serious .
-In Spore , reaching the center of the galaxy yields a powerful item known as the "Staff of Life" which has a limited 42 uses. It also grants the player an achievement titled "42".
-In Fable II , the last in a series of ancient artifacts the player can find says "Now just think of the number 42."
-In Left 4 Dead 2 , 42 is the number of Moustachios that must be shot in the Dark Carnival campaign's Whack-a-Mole style mini-game in order to unlock the STACH WACKER achievement.
-In Halo Wars there is a Spartan-II Commando called Douglas-042.
-
-
-
-
-
-
-
-
-The jersey number of Jackie Robinson , which is the only number retired by all Major League Baseball teams. Although the number was retired in 1997, Mariano Rivera of the New York Yankees , the last professional baseball player to wear number 42, continued to wear it until he retired at the end of the 2013 season. As of the 2014 season, no player will ever again wear the number 42 in Major League Baseball except on Jackie Robinson Day (April 15), when all uniformed personnel (players, managers, coaches, and umpires) wear the number.
-The jersey number of basketball Hall of Famer and one of the 50 Greatest Players in NBA History James Worthy , small forward for the Los Angeles Lakers , who retired his jersey number in 1995.
-The jersey number of American football Hall of Fame , Ronnie Lott , safety for the San Francisco 49ers , who retired his jersey number in 2003.
-The jersey number of Chicago Bears legend Sid Luckman , which was retired by the Bears.
-The jersey number of Pat Tillman , which was retired on November 13, 2004 by Arizona State University .
-The jersey number of baseball Hall of Famer Bruce Sutter , retired by the St. Louis Cardinals on September 17, 2006.
-The number of laws of cricket
-Rule 42 is the historic name of a Gaelic Athletic Association rule (now codified in Rule 5.1 and Rule 44) that in practice prohibits the playing of "foreign sports" (generally association football and the rugby codes ) at GAA grounds.
-42 is the number of a NASCAR car owned by Earnhardt Ganassi Racing . As of the upcoming 2014 season, it will be driven by Kyle Larson .
-
-
Other fields [ edit ]
-
-the 3D games of TRIADEM use 42 pieces with 6 players and the board structure consists of many occurrences of 42.
-+42 is the historic Country calling code for the former country of Czechoslovakia .
-There are 42 US gallons in a barrel of oil.
-42 is the number of the French department of Loire . The number is also reflected in the postal code for that area.
-The board game Risk (game) has forty-two territories
-Tower 42 is a skyscraper in the City of London , formerly known as the NatWest Tower.
-The name of a Texan trick-taking game played with dominoes (see 42 (dominoes) ).
-The number of spots (or pips, circular patches or pits) on a pair of standard six-sided dice .
-In New York City , 42nd Street is a main and very popular two-way thoroughfare. Landmarks on it include the Chrysler Building , Grand Central Terminal , the main branch of the New York Public Library , and Times Square . The New York City street is also the setting for a movie by the same name (which also gave fame to its eponymous title song), and which later inspired a musical adaptation, 42nd Street .
-Popular gadget magazine Stuff did not produce an issue numbered 42, in honor of The Hitchhiker's Guide to the Galaxy, instead, the 41st issue was followed by the 43rd.
-The designation within ISO/IEC JTC1/SC7 of its working group on Architecture was chosen to be "WG 42" because architecture is the answer to "Life, the Universe and Everything", skipping over designations 26 through 41.
-Fictional comic book superhero Miles Morales is bitten by a genetically altered spider with a red 42 marked on its abdomen. Morales later assumes the role of Spider-Man as a result of the bite and following the death of Peter Parker in the Ultimate Marvel universe from Marvel Comics . Morales also wins a coveted spot in a prestigious charter school after his number (42) is chosen during a lottery.
-In the Shakespearean play Romeo and Juliet , Juliet takes a potion that makes her appear dead for 42 hours.
-42 is a free tabloid devoted to technology news in Huntsville, Alabama . It is published by the Huntsville Times and is named for "The Answer to the Ultimate Question of Life, the Universe, and Everything "
-
-
Other languages [ edit ]
-
-
References [ edit ]
-
-
-^ J. B. Conrey & A. Ghosh, "A conjecture for the sixth power moment of the Riemann zeta-function" International Mathematics Research Notices (1998)
-^ J. B. Conrey & S. M. Gonek, "High moments of the Riemann zeta-function" Duke Math J. 107 3 (2001): 577 – 604
-^ Differently Perfect - mathpages.com
-^ Sequence A019283 in OEIS
-^ Alex Zhai ties for second-highest score in 2007 USA Mathematical Olympiad - By Andrew Lovdahl Gargoyle staff reporter Posted Monday, May 7, 2007, The OG, news & student awards - Online Gargoyle
-^ CBC News staff, "Canadian math champ's skills add up to a perfect score " CBC News July 20, 2004. "A 16-year-old Canadian was one of four students who achieved a perfect score at an international mathematics competition. Jacob Tsimerman of Toronto scored 42 out of 42, making him one of 45 individual gold medallists at the 45th International Mathematical Olympiad in Athens."
-^ Cooper, Paul W. (1966). "Through the Earth in Forty Minutes". American Journal of Physics 34 (1): 68–69. doi :10.1119/1.1972773 .
-^ "To Everywhere in 42 Minutes" . Time . February 11, 1966. Archived from the original on 12 May 2008. Retrieved 2008-05-18 .
-^ "Jumping into a 7,965 mile deep hole" . Archived from the original on June 2, 2008. Retrieved 2008-05-18 .
-^ Carroll, Lewis (29 December 1893). "Chapter 7". Sylvie and Bruno Concluded 2 . illustrated by Harry Furniss . United Kingdom: Macmillan and Co. "Each railway is in a long tunnel, perfectly straight: so of course the middle of it is nearer the centre of the globe than the two ends: so every train runs half-way down -hill, and that gives it force enough to run the other half up -hill."
-^ Lee Middleton; Jayanthi Sivaswamy (2002). "Framework for practical hexagonal-image processing" . Journal of Electronic Imaging 11 (104). doi :10.1117/1.1426078 . Retrieved January 17, 2010 (abstract only) .
-^ "Maximum password age" . Microsoft TechNet. Retrieved 15 January 2014 .
-^ Niiya, Brian. Japanese American history: an A-to-Z reference from 1868 to the present. Facts on File, Inc., 1993, p. 352
-^ Joel Primack; Nancy E. Abrams. "In A Beginning...Quantum Cosmology and Kabbalah" (PDF). Retrieved 2008-03-14 .
-^ Gill, Peter (February 3, 2011). "42: Douglas Adams' Amazingly Accurate Answer to Life the Universe and Everything" . London: Guardian. Retrieved 03/04/2011 .
-^ Lewis Carroll and Douglas Adams
-^ The Mystery of Lewis Carroll, Jenny Woolf
-^ The Hunting of the Snark, by Lewis Carroll
-^ The Hunting of the Snark, by Lewis Carroll
-^ What Lewis Carroll Taught Us: Alice's creator knew all about role-playing. by Seth Lerer, March 4, 2010
-^ 42: Forty Two Up at IMDB
-^ http://www.slate.com/id/2284721/ Ken Jennings
-
-
-
External links [ edit ]
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+42 (number) - Wikipedia, the free encyclopedia
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
42 (number)
+
+
From Wikipedia, the free encyclopedia
+
+
+
+
+
+
+
42 (forty-two ) is the natural number immediately following 41 and directly preceding 43 . The number has received considerable attention in popular culture as a result of its central appearance in The Hitchhiker's Guide to the Galaxy as the "Answer to The Ultimate Question of Life, the Universe, and Everything ".
+
+
+
+
Mathematics [ edit ]
+
+Forty-two is a pronic number and an abundant number ; its prime factorization 2 · 3 · 7 makes it the second sphenic number and also the second of the form { 2 · 3 · r }. As with all sphenic numbers of this form, the aliquot sum is abundant by 12. 42 is also the second sphenic number to be bracketed by twin primes ; 30 is also a pronic number and also rests between two primes. 42 has a 14 member aliquot sequence 42, 54, 66, 78, 90, 144, 259, 45, 33, 15, 9, 4, 3, 1, 0 and is itself part of the aliquot sequence commencing with the first sphenic number 30 . Further, 42 is the 10th member of the 3-aliquot tree.
+It is the third primary pseudoperfect number .
+It is a Catalan number . Consequently; 42 is the number of noncrossing partitions of a set of five elements, the number of triangulations of a heptagon , the number of rooted ordered binary trees with six leaves, the number of ways in which five pairs of nested parentheses can be arranged, etc.
+It is the number of partitions of 10 - the number of ways of expressing 10 as a sum of positive integers (note a different sense of partition from that above).
+
+
+
+
+
+The 3 × 3 × 3 magic cube with rows summing to 42.
+
+
+
+Given 27 same-size cubes whose nominal values progress from 1 to 27, a 3×3×3 magic cube can be constructed such that every row, column, and corridor, and every diagonal passing through the center, is composed of 3 cubes whose sum of values is 42.
+It is the third pentadecagonal number . It is a meandric number and an open meandric number .
+It is conjectured to be the scaling factor in the leading order term of the "sixth moment of the Riemann zeta function ". In particular, Conrey & Ghosh have conjectured that
+
+
+.
+where the infinite product is over all prime numbers, p .[ 1] [ 2]
+
+
+42 is a Størmer number .
+In base 10, this number is a Harshad number and a self number , while it is a repdigit in base 4 (as 222).
+42 is the only known value that is the number of sets of four distinct positive integers a,b,c,d, each less than the value itself, such that ab-cd, ac-bd, and ad-bc are each multiples of the value. Whether there are other values remains an open question.[ 3]
+42 is a (2,6)-perfect number (super-multiperfect ), as [ 4]
+42 is a perfect score on the USA Math Olympiad (USAMO )[ 5] and International Mathematical Olympiad (IMO).[ 6]
+42 is the maximum of core points awarded in International Baccalaureate Diploma Programme.
+42 is the resulting number of the original Smith number (4937775): Both the sum of its digits (4+9+3+7+7+7+5) as the sum of the digits in its prime factorization (3+5+5+(6+5+8+3+7)) result in 42.
+The dimension of the Borel subalgebra in the exceptional Lie algebra e 6 is 42.
+
+
Science [ edit ]
+
+The atomic number of molybdenum .
+The angle rounded to whole degrees for which a rainbow appears (the critical angle).
+In 1966, mathematician Paul Cooper theorized that the fastest, most efficient way to travel across continents would be to bore a straight hollow tube directly through the Earth , connecting a set of antipodes , remove the air from the tube and fall through.[ 7] The first half of the journey consists of free-fall acceleration, while the second half consists of an exactly equal deceleration. The time for such a journey works out to be 42 minutes. Even if the tube does not pass through the exact center of the Earth, the time for a journey powered entirely by gravity (known as a gravity train ) always works out to be 42 minutes, so long as the tube remains friction-free, as while the force of gravity would be lessened, the distance traveled is reduced at an equal rate.[ 8] [ 9] (The same idea was proposed, without calculation by Lewis Carroll in 1893 in Sylvie and Bruno Concluded .[ 10] )
+
+
Technology [ edit ]
+
+Magic numbers used by programmers :
+
+The glyph, or character, corresponding to the number 42 in the ASCII character set, is *, the asterisk , commonly known as the wildcard character .
+In the TIFF image file format, the second 16-bit word of every file is 42, which is used together with the first word to indicate byte order .
+In the reiser4 file system, 42 is the inode number of the root directory .
+In the military IRIG 106 Chapter 10 data recording standard, the hex value 0x464F52545974776F (ASCII "FORTYtwo") is used as a magic number to identify directory blocks.
+
+
+The GNU C Library , a set of standard routines available for use in computer programming , contains a function —memfrob() —which performs an XOR combination of a given variable and the binary pattern 00101010 (42) as an XOR cipher .
+42 is the result given by the web search engines Google and Wolfram Alpha when the query "the answer to life the universe and everything " is entered as a search.
+Tiling a plane using regular hexagons , which is honeycomb in appearance, is approximated in a topological sense to an accuracy of better than 1% using a stretcher bond brick pattern with bricks of 42 squares (6 by 7).[ 11]
+The password expiration policy for a Microsoft Windows domain defaults to 42 days.[ 12]
+
+
Astronomy [ edit ]
+
+Messier object M42 , a magnitude 5.0 diffuse nebula in the constellation Orion , also known as the Orion Nebula
+The New General Catalogue object NGC 42, a spiral galaxy in the constellation Pegasus
+In January 2004, asteroid 2001 DA42 was given the permanent name 25924 Douglasadams , for the author Douglas Adams who popularized the number 42 and died in 2001. Brian G. Marsden , the director of the Minor Planet Center and the secretary for the naming committee, remarked that, with even his initials in the provisional designation, "This was sort of made for him, wasn't it?"
+Kepler-42 , a red dwarf in the constellation Cygnus around which orbits the three smallest exoplanets found to date.
+
+
Religion [ edit ]
+
+In Japanese culture, the number 42 is considered unlucky because the numerals when pronounced separately — "shi ni" (four two) — sound like the phrase, "unto death".[ 13]
+There are 42 principles of Ma'at , the Ancient Egyptian personification of physical and moral law, order, and truth. In the judgment scene described in the Egyptian and the Book of the Coming/Going Forth by Day (the Book of the Dead (which evolved from the Coffin Texts and the Pyramid Texts )), there are 42 gods and goddesses of Egypt, personifying the principles of Ma'at . These 42 correspond to the 42 Nomes (Governmental Units) of Egypt. If the departed successfully answers all 42, s/he becomes an Osiris .
+42 is the number with which God creates the Universe in Kabbalistic tradition . In Kabbalah, the most significant name is that of the En Sof (also known as "Ein Sof ", "Infinite" or "Endless"), who is above the Sefirot (sometimes spelled "Sephirot ").[ 14] The Forty-Two-Lettered Name contains four combined names which are spelled in Hebrew letters (spelled in letters = 42 letters), which is the name of Azilut (or "Atziluth " "Emanation"). While there are obvious links between the Forty-Two Lettered Name of the Babylonian Talmud and the Kabbalah's Forty-Two Lettered Name, they are probably not identical because of the Kabbalah's emphasis on numbers. The Kabbalah also contains a Forty-Five Lettered Name and a Seventy-Two Lettered Name.
+The number 42 appears in various contexts in Christianity . There are 42 generations (names) in the Gospel of Matthew 's version of the Genealogy of Jesus ; it is prophesied that for 42 months the Beast will hold dominion over the Earth (Revelation 13:5); 42 men of Beth-azmaveth were counted in the census of men of Israel upon return from exile (Ezra 2:24); God sent bears to maul 42 of the teenage boys who mocked Elisha for his baldness (2 Kings 2:23), etc.
+In Judaism , the number (in the Babylonian Talmud , compiled 375 AD to 499 AD) of the "Forty-Two Lettered Name" ascribed to God. Rab (or Rabhs), a 3rd-century source in the Talmud stated "The Forty-Two Lettered Name is entrusted only to him who is pious, meek, middle-aged, free from bad temper, sober, and not insistent on his rights". [Source: Talmud Kidduschin 71a, Translated by Rabbi Dr. I. Epstein]. Maimonides felt that the original Talmudic Forty-Two Lettered Name was perhaps composed of several combined divine names [Maimonides "Moreh"]. The apparently unpronouncable Tetragrammaton provides the backdrop from the Twelve-Lettered Name and the Forty-Two Lettered Name of the Talmud.[citation needed ]
+The Gutenberg Bible is also known as the "42-line Bible", as the book contained 42 lines per page.
+The Forty-Two Articles (1552) , largely the work of Thomas Cranmer , were intended to summarise Anglican doctrine, as it now existed under the reign of Edward VI .
+
+
Popular culture [ edit ]
+
The Hitchhiker's Guide to the Galaxy [ edit ]
+
The number 42 is, in The Hitchhiker's Guide to the Galaxy by Douglas Adams , "The Answer to the Ultimate Question of Life, the Universe, and Everything ", calculated by an enormous supercomputer over a period of 7.5 million years. Unfortunately no one knows what the question is. Thus, to calculate the Ultimate Question, a special computer the size of a small planet and built from organic components was created and named "Earth". This appeared first in the radio play and later in the novelization of The Hitchhiker's Guide to the Galaxy . The fourth book in the series, the novel So Long, and Thanks for All the Fish , contains 42 chapters. According to the novel Mostly Harmless , 42 is the street address of Stavromula Beta . In 1994 Adams created the 42 Puzzle , a game based on the number 42.
+
The book 42: Douglas Adams' Amazingly Accurate Answer to Life, the Universe and Everything [ 15] examines Adams' choice of the number 42 and also contains a compendium of some instances of the number in science, popular culture, and humour.
+
Works of Lewis Carroll [ edit ]
+
Lewis Carroll [ 16] made repeated use of this number in his writings.[ 17]
+
Examples of Carroll's use of 42:
+
+Alice's Adventures in Wonderland has 42 illustrations.
+Rule Forty-two in Alice's Adventures in Wonderland ("All persons more than a mile high to leave the court").
+Rule 42 of the Code in the preface[ 18] to The Hunting of the Snark ("No one shall speak to the Man at the Helm").
+In "fit the first" of The Hunting of the Snark the Baker had "forty-two boxes, all carefully packed, With his name painted clearly on each."[ 19]
+The White Queen announces her age as "one hundred and one, five months and a day", which - if the best possible date is assumed for the action of Through the Looking-Glass - gives a total of 37,044 days. With the further (textually unconfirmed) assumption that both Queens were born on the same day their combined age becomes 74,088 days, which is 42 x 42 x 42. Some commentators have asserted that this is deliberate on Carroll's part.[ 20]
+
+
+
+
Television and film [ edit ]
+
+The Kumars at No. 42 television series. In 2003, Sanjeev Bhaskar hosted a BBC show nominating The Hitchhiker's Guide to the Galaxy as Britain 's Best Loved Book .
+A made for TV movie 42: Forty Two Up - an installment in a series of documentaries wherein the director revisits the same group of British-born individuals every 7 years.[ 21]
+"42 " is an episode of Doctor Who , set in real time lasting approximately 42 minutes.
+The USS Enterprise D had 42 decks
+In an episode of Stargate Atlantis the character John Sheppard reveals that the number is the ultimate answer to life, the universe and everything, to the confusion of his alien companion.
+On the game show Jeopardy! , "Watson " the IBM supercomputer, has 42 "threads" in its avatar.[ 22]
+On the Unusuals TV-show there's an episode called "42". Detective Leo Banks recently turned 42. On account of his father, uncle, and grandfather dropping dead at 42, Leo is convinced he'll share their fate. There were 42s all over the episode.
+42 (film) is a film on the life of American baseball player Jackie Robinson.
+I, Robot (film) 42 is the number of the first robot shown in the movie, a FedEx Delivery robot.
+42 is the number of Tony Stark 's latest armor (Mark 42) in Marvel Studios ' movie Iron Man 3 by Shane Black starring Robert Downey Jr .
+
+
Video games [ edit ]
+
+42 Entertainment is the company responsible for several alternate reality games , including I Love Bees , Year Zero , and Why So Serious .
+In Spore , reaching the center of the galaxy yields a powerful item known as the "Staff of Life" which has a limited 42 uses. It also grants the player an achievement titled "42".
+In Fable II , the last in a series of ancient artifacts the player can find says "Now just think of the number 42."
+In Left 4 Dead 2 , 42 is the number of Moustachios that must be shot in the Dark Carnival campaign's Whack-a-Mole style mini-game in order to unlock the STACH WACKER achievement.
+In Halo Wars there is a Spartan-II Commando called Douglas-042.
+
+
+
+
+
+
+
+
+The jersey number of Jackie Robinson , which is the only number retired by all Major League Baseball teams. Although the number was retired in 1997, Mariano Rivera of the New York Yankees , the last professional baseball player to wear number 42, continued to wear it until he retired at the end of the 2013 season. As of the 2014 season, no player will ever again wear the number 42 in Major League Baseball except on Jackie Robinson Day (April 15), when all uniformed personnel (players, managers, coaches, and umpires) wear the number.
+The jersey number of basketball Hall of Famer and one of the 50 Greatest Players in NBA History James Worthy , small forward for the Los Angeles Lakers , who retired his jersey number in 1995.
+The jersey number of American football Hall of Fame , Ronnie Lott , safety for the San Francisco 49ers , who retired his jersey number in 2003.
+The jersey number of Chicago Bears legend Sid Luckman , which was retired by the Bears.
+The jersey number of Pat Tillman , which was retired on November 13, 2004 by Arizona State University .
+The jersey number of baseball Hall of Famer Bruce Sutter , retired by the St. Louis Cardinals on September 17, 2006.
+The number of laws of cricket
+Rule 42 is the historic name of a Gaelic Athletic Association rule (now codified in Rule 5.1 and Rule 44) that in practice prohibits the playing of "foreign sports" (generally association football and the rugby codes ) at GAA grounds.
+42 is the number of a NASCAR car owned by Earnhardt Ganassi Racing . As of the upcoming 2014 season, it will be driven by Kyle Larson .
+
+
Other fields [ edit ]
+
+the 3D games of TRIADEM use 42 pieces with 6 players and the board structure consists of many occurrences of 42.
++42 is the historic Country calling code for the former country of Czechoslovakia .
+There are 42 US gallons in a barrel of oil.
+42 is the number of the French department of Loire . The number is also reflected in the postal code for that area.
+The board game Risk (game) has forty-two territories
+Tower 42 is a skyscraper in the City of London , formerly known as the NatWest Tower.
+The name of a Texan trick-taking game played with dominoes (see 42 (dominoes) ).
+The number of spots (or pips, circular patches or pits) on a pair of standard six-sided dice .
+In New York City , 42nd Street is a main and very popular two-way thoroughfare. Landmarks on it include the Chrysler Building , Grand Central Terminal , the main branch of the New York Public Library , and Times Square . The New York City street is also the setting for a movie by the same name (which also gave fame to its eponymous title song), and which later inspired a musical adaptation, 42nd Street .
+Popular gadget magazine Stuff did not produce an issue numbered 42, in honor of The Hitchhiker's Guide to the Galaxy, instead, the 41st issue was followed by the 43rd.
+The designation within ISO/IEC JTC1/SC7 of its working group on Architecture was chosen to be "WG 42" because architecture is the answer to "Life, the Universe and Everything", skipping over designations 26 through 41.
+Fictional comic book superhero Miles Morales is bitten by a genetically altered spider with a red 42 marked on its abdomen. Morales later assumes the role of Spider-Man as a result of the bite and following the death of Peter Parker in the Ultimate Marvel universe from Marvel Comics . Morales also wins a coveted spot in a prestigious charter school after his number (42) is chosen during a lottery.
+In the Shakespearean play Romeo and Juliet , Juliet takes a potion that makes her appear dead for 42 hours.
+42 is a free tabloid devoted to technology news in Huntsville, Alabama . It is published by the Huntsville Times and is named for "The Answer to the Ultimate Question of Life, the Universe, and Everything "
+
+
Other languages [ edit ]
+
+
References [ edit ]
+
+
+^ J. B. Conrey & A. Ghosh, "A conjecture for the sixth power moment of the Riemann zeta-function" International Mathematics Research Notices (1998)
+^ J. B. Conrey & S. M. Gonek, "High moments of the Riemann zeta-function" Duke Math J. 107 3 (2001): 577 – 604
+^ Differently Perfect - mathpages.com
+^ Sequence A019283 in OEIS
+^ Alex Zhai ties for second-highest score in 2007 USA Mathematical Olympiad - By Andrew Lovdahl Gargoyle staff reporter Posted Monday, May 7, 2007, The OG, news & student awards - Online Gargoyle
+^ CBC News staff, "Canadian math champ's skills add up to a perfect score " CBC News July 20, 2004. "A 16-year-old Canadian was one of four students who achieved a perfect score at an international mathematics competition. Jacob Tsimerman of Toronto scored 42 out of 42, making him one of 45 individual gold medallists at the 45th International Mathematical Olympiad in Athens."
+^ Cooper, Paul W. (1966). "Through the Earth in Forty Minutes". American Journal of Physics 34 (1): 68–69. doi :10.1119/1.1972773 .
+^ "To Everywhere in 42 Minutes" . Time . February 11, 1966. Archived from the original on 12 May 2008. Retrieved 2008-05-18 .
+^ "Jumping into a 7,965 mile deep hole" . Archived from the original on June 2, 2008. Retrieved 2008-05-18 .
+^ Carroll, Lewis (29 December 1893). "Chapter 7". Sylvie and Bruno Concluded 2 . illustrated by Harry Furniss . United Kingdom: Macmillan and Co. "Each railway is in a long tunnel, perfectly straight: so of course the middle of it is nearer the centre of the globe than the two ends: so every train runs half-way down -hill, and that gives it force enough to run the other half up -hill."
+^ Lee Middleton; Jayanthi Sivaswamy (2002). "Framework for practical hexagonal-image processing" . Journal of Electronic Imaging 11 (104). doi :10.1117/1.1426078 . Retrieved January 17, 2010 (abstract only) .
+^ "Maximum password age" . Microsoft TechNet. Retrieved 15 January 2014 .
+^ Niiya, Brian. Japanese American history: an A-to-Z reference from 1868 to the present. Facts on File, Inc., 1993, p. 352
+^ Joel Primack; Nancy E. Abrams. "In A Beginning...Quantum Cosmology and Kabbalah" (PDF). Retrieved 2008-03-14 .
+^ Gill, Peter (February 3, 2011). "42: Douglas Adams' Amazingly Accurate Answer to Life the Universe and Everything" . London: Guardian. Retrieved 03/04/2011 .
+^ Lewis Carroll and Douglas Adams
+^ The Mystery of Lewis Carroll, Jenny Woolf
+^ The Hunting of the Snark, by Lewis Carroll
+^ The Hunting of the Snark, by Lewis Carroll
+^ What Lewis Carroll Taught Us: Alice's creator knew all about role-playing. by Seth Lerer, March 4, 2010
+^ 42: Forty Two Up at IMDB
+^ http://www.slate.com/id/2284721/ Ken Jennings
+
+
+
External links [ edit ]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/test/utils/common.js:Zone.Identifier b/test/utils/common.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/test/utils/common.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/test/utils/generate-location-info-parser-tests.js:Zone.Identifier b/test/utils/generate-location-info-parser-tests.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/test/utils/generate-location-info-parser-tests.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/test/utils/generate-parsing-tests.js:Zone.Identifier b/test/utils/generate-parsing-tests.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/test/utils/generate-parsing-tests.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/test/utils/generate-serializer-tests.js:Zone.Identifier b/test/utils/generate-serializer-tests.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/test/utils/generate-serializer-tests.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/test/utils/generate-tokenization-tests.js:Zone.Identifier b/test/utils/generate-tokenization-tests.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/test/utils/generate-tokenization-tests.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/test/utils/load-sax-parser-test-data.js:Zone.Identifier b/test/utils/load-sax-parser-test-data.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/test/utils/load-sax-parser-test-data.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/test/utils/parse-dat-file.js:Zone.Identifier b/test/utils/parse-dat-file.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/test/utils/parse-dat-file.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1
diff --git a/test/utils/serialize-to-dat-file-format.js:Zone.Identifier b/test/utils/serialize-to-dat-file-format.js:Zone.Identifier
new file mode 100644
index 0000000000000000000000000000000000000000..3888334e4569453fac461744a4d1d71f68e8d37e
--- /dev/null
+++ b/test/utils/serialize-to-dat-file-format.js:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/inikulin/parse5/releases
+HostUrl=https://codeload.github.com/inikulin/parse5/zip/refs/tags/v5.1.1