summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/conformance-checkers/html/elements/q
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/conformance-checkers/html/elements/q')
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-file-slash-slash-abc-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/model-isvalid.html23
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/q/model-novalid.html25
69 files changed, 406 insertions, 0 deletions
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite-empty-isvalid.html
new file mode 100644
index 0000000000..1621184c72
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty cite is valid</title>
+<q cite=""></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite-isvalid.html
new file mode 100644
index 0000000000..109f7bb954
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid cite</title>
+<q cite="a:foo.com"></q><!-- scheme-private -->
+<q cite="foo:/"></q><!-- scheme-private-slash -->
+<q cite="foo://"></q><!-- scheme-private-slash-slash -->
+<q cite="foo:/bar.com/"></q><!-- scheme-private-path -->
+<q cite="foo://///////"></q><!-- scheme-private-path-leading-slashes-only -->
+<q cite="foo://///////bar.com/"></q><!-- scheme-private-path-leading-slashes-chars -->
+<q cite="foo:////://///"></q><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<q cite="c:/foo"></q><!-- scheme-private-single-letter -->
+<q cite="madeupscheme:/example.com/"></q><!-- scheme-private-single-slash -->
+<q cite="file:/example.com/"></q><!-- scheme-file-single-slash -->
+<q cite="ftps:/example.com/"></q><!-- scheme-ftps-single-slash -->
+<q cite="gopher:/example.com/"></q><!-- scheme-gopher-single-slash -->
+<q cite="ws:/example.com/"></q><!-- scheme-ws-single-slash -->
+<q cite="wss:/example.com/"></q><!-- scheme-wss-single-slash -->
+<q cite="javascript:/example.com/"></q><!-- scheme-javascript-single-slash -->
+<q cite="mailto:/example.com/"></q><!-- scheme-mailto-single-slash -->
+<q cite="madeupscheme:example.com/"></q><!-- scheme-private-no-slash -->
+<q cite="ftps:example.com/"></q><!-- scheme-ftps-no-slash -->
+<q cite="gopher:example.com/"></q><!-- scheme-gopher-no-slash -->
+<q cite="wss:example.com/"></q><!-- scheme-wss-no-slash -->
+<q cite="mailto:example.com/"></q><!-- scheme-mailto-no-slash -->
+<q cite="data:text/plain,foo"></q><!-- scheme-data-no-slash -->
+<q cite="http://user:pass@foo:21/bar;par?b#c"></q><!-- userinfo -->
+<q cite="http://[2001::1]"></q><!-- host-ipv6 -->
+<q cite="http://[2001::1]:80"></q><!-- host-ipv6-port -->
+<q cite="http://f:/c"></q><!-- port-none-but-colon -->
+<q cite="http://f:0/c"></q><!-- port-0 -->
+<q cite="http://f:00000000000000/c"></q><!-- port-00000000000000 -->
+<q cite="http://f:00000000000000000000080/c"></q><!-- port-00000000000000000000080 -->
+<q cite="http://a:b@c:29/d"></q><!-- userinfo-host-port-path -->
+<q cite="http://foo.com:b@d/"></q><!-- userinfo-username-non-alpha -->
+<q cite="http://foo/abcd?efgh?ijkl"></q><!-- query-contains-question-mark -->
+<q cite="http://foo/abcd#foo?bar"></q><!-- fragment-contains-question-mark -->
+<q cite="http://example.com/foo/%2e"></q><!-- path-percent-encoded-dot -->
+<q cite="http://example.com/%20foo"></q><!-- path-percent-encoded-space -->
+<q cite="http://example.com/©zbar"></q><!-- path-non-ascii -->
+<q cite="http://example.com/foo%41%7a"></q><!-- path-percent-encoded-multiple -->
+<q cite="http://example.com/foo%91"></q><!-- path-percent-encoded-u0091 -->
+<q cite="http://example.com/foo%00"></q><!-- path-percent-encoded-u0000 -->
+<q cite="http://example.com/%3A%3a%3C%3c"></q><!-- path-percent-encoded-mixed-case -->
+<q cite="http://example.com/你好你好"></q><!-- path-unicode-han -->
+<q cite="http://example.com//foo"></q><!-- path-uFEFF -->
+<q cite="http://example.com/‮/foo/‭/bar"></q><!-- path-u202E-u202D -->
+<q cite="http://💩"></q><!-- host-is-pile-of-poo -->
+<q cite="http💩//:foo"></q><!-- path-contains-pile-of-poo -->
+<q cite="http://example.com/foo?💩"></q><!-- query-contains-pile-of-poo -->
+<q cite="http://example.com/foo#💩"></q><!-- fragment-contains-pile-of-poo -->
+<q cite="http://192.0x00A80001"></q><!-- host-192.0x00A80001 -->
+<q cite="http://%25DOMAIN:foobar@foodomain.com"></q><!-- userinfo-username-contains-percent-encoded -->
+<q cite="http://@www.example.com"></q><!-- userinfo-empty -->
+<q cite="http://:b@www.example.com"></q><!-- userinfo-user-empty -->
+<q cite="http://a:@www.example.com"></q><!-- userinfo-password-empty -->
+<q cite="http://GOO​⁠goo.com"></q><!-- host-exotic-whitespace -->
+<q cite="http://www.foo。bar.com"></q><!-- host-exotic-dot -->
+<q cite="http://Go.com"></q><!-- host-fullwidth -->
+<q cite="http://你好你好"></q><!-- host-idn-unicode-han -->
+<q cite="http://192.168.0.257/"></q><!-- host-IP-address-broken -->
+<q cite="//foo/bar"></q><!-- scheme-schemeless-relative -->
+<q cite="/"></q><!-- path-slash-only-relative -->
+<q cite="/a/b/c"></q><!-- path-simple-relative -->
+<q cite="/a%2fc"></q><!-- path-percent-encoded-slash-relative -->
+<q cite="/a/%2f/c"></q><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<q cite="?"></q><!-- query-empty-no-path-relative -->
+<q cite="#"></q><!-- fragment-empty-hash-only-no-path-relative -->
+<q cite="#/"></q><!-- fragment-slash-relative -->
+<q cite="#;?"></q><!-- fragment-semicolon-question-mark-relative -->
+<q cite="#β"></q><!-- fragment-non-ascii-relative -->
+<q cite="foo.com"></q><!-- scheme-none-relative -->
+<q cite=":"></q><!-- path-colon-relative -->
+<q cite=":a"></q><!-- path-leading-colon-letter-relative -->
+<q cite=":foo.com"></q><!-- path-leading-colon-chars-relative -->
+<q cite=":/"></q><!-- path-leading-colon-slash-relative -->
+<q cite=":#"></q><!-- path-leading-colon-hash-relative -->
+<q cite=":23"></q><!-- path-leading-colon-number-relative -->
+<q cite="/:23"></q><!-- path-slash-colon-number-relative -->
+<q cite="::"></q><!-- path-leading-colon-colon-relative -->
+<q cite="::23"></q><!-- path-colon-colon-number-relative -->
+<q cite="💩http://foo"></q><!-- path-starts-with-pile-of-poo -->
+<q cite="/💩"></q><!-- path-slash-pile-of-poo -->
+<q cite="File://foo/bar.html"></q><!-- scheme-file-uppercase -->
+<q cite="file://C|/foo/bar"></q><!-- scheme-file-slash-slash-c-bar -->
+<q cite="file://server/foo/bar"></q><!-- scheme-file-host-included -->
+<q cite="file:///foo/bar.txt"></q><!-- scheme-file-host-empty -->
+<q cite="file:"></q><!-- scheme-file-scheme-only -->
+<q cite="file:/"></q><!-- scheme-file-slash-only -->
+<q cite="file://"></q><!-- scheme-file-slash-slash-only -->
+<q cite="file:///"></q><!-- scheme-file-slash-slash-slash-only -->
+<q cite="file:test"></q><!-- scheme-file-no-slash -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/fragment-backslash-novalid.html
new file mode 100644
index 0000000000..6c7cc13940
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: fragment-backslash</title>
+<q cite="#\"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/fragment-contains-hash-novalid.html
new file mode 100644
index 0000000000..7a7af4f659
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: fragment-contains-hash</title>
+<q cite="http://foo/path#f#g"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/fragment-leading-space-novalid.html
new file mode 100644
index 0000000000..25b1122c3a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: fragment-leading-space</title>
+<q cite="http://f:21/b# e"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-cr-novalid.html
new file mode 100644
index 0000000000..cf065e28c7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-cr</title>
+<q cite="http://example. org"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-double-percent-encoded-novalid.html
new file mode 100644
index 0000000000..1c89424f3c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-double-percent-encoded</title>
+<q cite="http://%41.com"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..30cdf591dc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-double-percent-encoded-percent-encoded</title>
+<q cite="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-empty-novalid.html
new file mode 100644
index 0000000000..59318111b3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-empty</title>
+<q cite="http://"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 0000000000..2bc854d87b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-empty-userinfo-empty</title>
+<q cite="http://@/www.example.com"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-empty-with-userinfo-novalid.html
new file mode 100644
index 0000000000..e495b8067c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-empty-with-userinfo</title>
+<q cite="http://user:pass@/"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-hostname-in-brackets-novalid.html
new file mode 100644
index 0000000000..49dfc87da9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-hostname-in-brackets</title>
+<q cite="http://[www.google.com]/"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-invalid-unicode-novalid.html
new file mode 100644
index 0000000000..02e4b63d04
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-invalid-unicode</title>
+<q cite="http://﷐zyx.com"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 0000000000..d9ac64ee49
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-invalid-unicode-percent-encoded</title>
+<q cite="http://%ef%b7%90zyx.com"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-newline-novalid.html
new file mode 100644
index 0000000000..081c966eb8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-newline</title>
+<q cite="http://example.
+org"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-space-novalid.html
new file mode 100644
index 0000000000..f12f661672
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-space</title>
+<q cite="http://example .org"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 0000000000..cdf2f79cbc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-square-brackets-port-contains-colon</title>
+<q cite="http://[1::2]:3:4"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-tab-novalid.html
new file mode 100644
index 0000000000..479577b08d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-tab</title>
+<q cite="http://example .org"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 0000000000..1ef717a06b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-u0000-percent-encoded</title>
+<q cite="http://%00.com"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..ab08fdf8de
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-u0000-percent-encoded-percent-encoded</title>
+<q cite="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-bare-percent-sign-novalid.html
new file mode 100644
index 0000000000..0751ebd03d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-bare-percent-sign</title>
+<q cite="http://example.com/foo%"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-contains-space-novalid.html
new file mode 100644
index 0000000000..c262da55dd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-contains-space</title>
+<q cite="/a/ /c"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 0000000000..67bb53f459
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-leading-backslash-at-sign</title>
+<q cite="http://foo.com/\@"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-leading-colon-backslash-novalid.html
new file mode 100644
index 0000000000..2210cde73d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-leading-colon-backslash</title>
+<q cite=":\"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 0000000000..96cedcfc06
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-leading-colon-chars-backslash</title>
+<q cite=":foo.com\"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-leading-space-novalid.html
new file mode 100644
index 0000000000..3339c6f749
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-leading-space</title>
+<q cite="http://f:21/ b"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 0000000000..d186e987c5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-percent-encoded-malformed</title>
+<q cite="http://example.com/foo/%2e%2"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-relative-square-brackets-novalid.html
new file mode 100644
index 0000000000..1e7b9025fa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-relative-square-brackets</title>
+<q cite="[61:24:74]:98"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-tab-novalid.html
new file mode 100644
index 0000000000..636733d65e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-tab</title>
+<q cite="http://example.com/foo bar"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-trailing-space-novalid.html
new file mode 100644
index 0000000000..9526b3d3db
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-trailing-space</title>
+<q cite="http://f:21/b ?"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-u0091-novalid.html
new file mode 100644
index 0000000000..93340436ab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-u0091</title>
+<q cite="http://example.com/foo‘"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-999999-novalid.html
new file mode 100644
index 0000000000..2f0ddf3156
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-999999</title>
+<q cite="http://f:999999/c"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-cr-novalid.html
new file mode 100644
index 0000000000..976e030aaa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-cr</title>
+<q cite="http://f: /c"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 0000000000..0d2cdef269
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-leading-colon-bracket-colon</title>
+<q cite="http://2001::1]:80"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-leading-colon-novalid.html
new file mode 100644
index 0000000000..0edae205d1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-leading-colon</title>
+<q cite="http://2001::1"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-leading-dash-novalid.html
new file mode 100644
index 0000000000..7e0ae9e730
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-leading-dash</title>
+<q cite="http://foo:-80/"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-multiple-letters-novalid.html
new file mode 100644
index 0000000000..32c1e93b12
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-multiple-letters</title>
+<q cite="http://f:fifty-two/c"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-newline-novalid.html
new file mode 100644
index 0000000000..3b79fcda40
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-newline</title>
+<q cite="http://f:
+/c"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-single-letter-novalid.html
new file mode 100644
index 0000000000..47a7fb952b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-single-letter</title>
+<q cite="http://f:b/c"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-space-novalid.html
new file mode 100644
index 0000000000..4e88d64833
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-space</title>
+<q cite="http://f: /c"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-tab-novalid.html
new file mode 100644
index 0000000000..f2cf428fcc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-tab</title>
+<q cite="http://f: /c"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/query-leading-space-novalid.html
new file mode 100644
index 0000000000..2b1713d255
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: query-leading-space</title>
+<q cite="http://f:21/b? d"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/query-trailing-space-novalid.html
new file mode 100644
index 0000000000..7dd56090b8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: query-trailing-space</title>
+<q cite="http://f:21/b?d #"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 0000000000..6c0e8e9d4a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>data:text/html,test#test warning: scheme-data-contains-fragment</title>
+<q cite="data:text/html,test#test"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-data-single-slash-novalid.html
new file mode 100644
index 0000000000..35713a0cd8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-data-single-slash</title>
+<q cite="data:/example.com/"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-file-backslash-novalid.html
new file mode 100644
index 0000000000..9fd2264d37
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-file-backslash</title>
+<q cite="file:c:\foo\bar.html"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..fa4d6b9af7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-file-single-slash-c-bar</title>
+<q cite="file:/C|/foo/bar"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-file-slash-slash-abc-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-file-slash-slash-abc-bar-novalid.html
new file mode 100644
index 0000000000..dedff79939
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-file-slash-slash-abc-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-file-slash-slash-abc-bar</title>
+<q cite="file://abc|/foo/bar"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..17355d9695
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-file-triple-slash-c-bar</title>
+<q cite="file:///C|/foo/bar"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 0000000000..b842e1a181
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-ftp-no-slash</title>
+<q cite="ftp:example.com/"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 0000000000..8bdafa6b82
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-ftp-single-slash</title>
+<q cite="ftp:/example.com/"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-backslash-novalid.html
new file mode 100644
index 0000000000..78bc526458
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-http-backslash</title>
+<q cite="http:\\foo.com\"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 0000000000..60a6b9b975
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-http-no-slash-colon</title>
+<q cite="http::@c:29"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-novalid.html
new file mode 100644
index 0000000000..edf9a5d7f1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-http-no-slash</title>
+<q cite="http:foo.com"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 0000000000..6858419ba0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-http-no-slash-square-bracket</title>
+<q cite="http:[61:27]/:foo"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-single-slash-novalid.html
new file mode 100644
index 0000000000..fb470d393c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-http-single-slash</title>
+<q cite="http:/example.com/"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-https-no-slash-novalid.html
new file mode 100644
index 0000000000..78ebcaf575
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-https-no-slash</title>
+<q cite="https:example.com/"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-https-single-slash-novalid.html
new file mode 100644
index 0000000000..77e41fdaf5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-https-single-slash</title>
+<q cite="https:/example.com/"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-trailing-cr-novalid.html
new file mode 100644
index 0000000000..885454d649
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-trailing-cr</title>
+<q cite="a: foo.com"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-trailing-newline-novalid.html
new file mode 100644
index 0000000000..7d637e10ee
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-trailing-newline</title>
+<q cite="a:
+foo.com"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-trailing-space-novalid.html
new file mode 100644
index 0000000000..37ca55f73e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-trailing-space</title>
+<q cite="a: foo.com"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-trailing-tab-novalid.html
new file mode 100644
index 0000000000..a38c794de8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-trailing-tab</title>
+<q cite="a: foo.com"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-backslash-novalid.html
new file mode 100644
index 0000000000..f83002c231
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: userinfo-backslash</title>
+<q cite="http://a\b:c\d@foo.com"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 0000000000..8992b51154
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: userinfo-password-bad-chars</title>
+<q cite="http://&a:foo(b]c@d:2/"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..aed0a86045
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: userinfo-password-contains-pile-of-poo</title>
+<q cite="http://foo:💩@example.com"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 0000000000..d78aaab346
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: userinfo-username-contains-at-sign</title>
+<q cite="http://::@c@d:2"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..2aa14ab993
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: userinfo-username-contains-pile-of-poo</title>
+<q cite="http://💩:foo@example.com"></q>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/model-isvalid.html
new file mode 100644
index 0000000000..c8d8073749
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/model-isvalid.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;q&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><q cite="url" class="class" lang="en">text</q></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><q cite="url" class="class" lang="en">text</q></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <q></q></p>
+ <p>text <dfn><q></q></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><q><a>text</a></q></p>
+ <p><dfn><q><a>text</a></q></dfn></p>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/q/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/model-novalid.html
new file mode 100644
index 0000000000..c742f757fb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/model-novalid.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;q&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><q cite="url" class="class" lang="en">text</q></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><q cite="url" class="class" lang="en">text</q></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <q></q></p>
+ <p>text <dfn><q></q></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><q><a>text</a></q></p>
+ <p><dfn><q><a>text</a></q></dfn></p>
+
+ <!-- cannot contain structured inline -->
+ <p><q>text <ul><li>list</li></ul> <em>elem</em></q></p>
+</body>
+</html>