summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/conformance-checkers/html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/conformance-checkers/html')
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/Makefile20
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/attributes/accesskey/duplicate-key-labels-novalid.html9
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/attributes/accesskey/multi-character-key-label-novalid.html9
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/attributes/data/no-characters-after-hyphen-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/attributes/data/not-xml-serializable-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/attributes/data/value-isvalid.html7
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/attributes/lang/deprecated-tag-haswarn.html9
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/attributes/lang/empty-isvalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/attributes/lang/extlang-bad-novalid.html9
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/attributes/lang/xmllang-different-value-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/attributes/lang/xmllang-only-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/attributes/lang/xmllang-same-isvalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/attributes/role/unrecognized-role-name-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/attributes/spellcheck/value-bad-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/attributes/spellcheck/value-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/download-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href-isvalid.html92
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/media-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/model-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/model-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/a/name-empty-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/abbr/model-isvalid.html24
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/abbr/model-novalid.html18
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/address/model-isvalid.html17
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/address/model-novalid.html17
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/download-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/media-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/model-isvalid.html30
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/area/model-novalid.html53
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/model-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/model-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href-and-target-missing-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-pile-of-poo-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-question-mark-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-empty-hash-only-no-path-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-non-ascii-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-semicolon-question-mark-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-slash-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-192.0x00A80001-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-broken-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-fullwidth-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-percent-encoded-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-exotic-dot-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-exotic-whitespace-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-fullwidth-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-idn-unicode-han-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-ipv6-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-ipv6-port-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-is-pile-of-poo-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-colon-colon-number-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-colon-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-contains-pile-of-poo-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-colon-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-hash-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-letter-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-number-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-slash-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-non-ascii-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-dot-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-mixed-case-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-multiple-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-plus-slashes-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-space-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0000-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0091-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-simple-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-slash-colon-number-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-slash-only-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-starts-with-pile-of-poo-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-u202E-u202D-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-uFEFF-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-unicode-han-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-0-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-00000000000000-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-00000000000000000000080-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-none-but-colon-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-contains-pile-of-poo-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-contains-question-mark-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-empty-no-path-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-no-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-host-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-host-included-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-no-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-scheme-only-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-only-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-abc-bar-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-c-bar-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-only-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-slash-only-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-uppercase-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftps-no-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftps-single-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-gopher-no-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-gopher-single-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-javascript-single-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-mailto-no-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-mailto-single-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-none-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-no-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-chars-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-colon-slashes-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-only-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-single-letter-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-single-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-slash-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-schemeless-relative-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ws-single-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-wss-no-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-wss-single-slash-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-host-port-path-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-user-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-percent-encoded-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-non-alpha-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/bdo/model-isvalid.html28
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/bdo/model-novalid.html21
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/model-isvalid.html18
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/blockquote/model-novalid.html31
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/br/model-isvalid.html16
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/br/model-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/canvas/model-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/canvas/model-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/cite/model-isvalid.html24
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/cite/model-novalid.html18
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/code/model-isvalid.html22
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/code/model-novalid.html25
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/cite/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-0004-02-29-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-0005-02-29-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-0214-09-29-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-1900-02-29-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-1969-02-29-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-20014-09-29-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-2014-02-29-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-2100-02-29-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-2200-02-29-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-01-32-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-03-32-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-04-31-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-05-32-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-06-31-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-07-32-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-08-32-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-09-31-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-10-32-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-11-31-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-12-32-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-missing-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-one-digit-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-three-digits-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-iso8601-YYYYMMDD-no-hyphen-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-leading-bom-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-leading-whitespace-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-00-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-13-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-missing-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-one-digit-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-three-digits-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-non-ascii-digit-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-trailing-U+0000-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-trailing-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-trailing-whitespace-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-wrong-day-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-wrong-month-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-year-0000-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-year-five-digits-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-year-negative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/date-year-three-digits-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/datetime-isvalid.html33
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/duration-P-form-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/duration-time-component-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-2400-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-60-minutes-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-60-seconds-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-bad-fraction-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-four-digit-fraction-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-hour-one-digit-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-hour-three-digits-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hh-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hhmm-no-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hhmmss-no-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-lowercase-z-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-minutes-one-digit-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-minutes-three-digits-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-missing-minutes-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-missing-seconds-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-nbsp-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-seconds-one-digit-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-seconds-three-digits-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-space-before-timezone-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-60-minutes-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-iso8601-two-digit-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-lowercase-t-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minus-1300-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minus-2400-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minutes-15-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-multiple-spaces-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-non-T-character-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-offset-colon-start-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-offset-space-start-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-one-digit-hour-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-one-digit-minute-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-plus-1500-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-plus-2400-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-three-digit-hour-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-three-digit-minute-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-with-seconds-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-with-both-T-and-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-wrong-minutes-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-wrong-seconds-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-zero-digit-fraction-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/local-date-and-time-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/model-isvalid.html32
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/model-novalid.html45
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/month-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/time-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/week-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/year-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/del/yearless-date-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/dfn/model-isvalid.html24
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/dfn/model-novalid.html18
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/dialog/model-novalid.html15
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/div/model-isvalid.html20
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/div/model-novalid.html27
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/dl/model-isvalid.html55
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/dl/model-novalid.html75
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/em/model-isvalid.html22
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/em/model-novalid.html25
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/height-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/type-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/embed/width-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/footer/nested-footer-novalid.html12
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/footer/nested-header-novalid.html12
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/h1/model-isvalid.html17
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/h1/model-novalid.html29
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/h2/model-isvalid.html17
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/h2/model-novalid.html29
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/h3/model-isvalid.html17
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/h3/model-novalid.html29
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/h4/model-isvalid.html17
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/h4/model-novalid.html29
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/h5/model-isvalid.html17
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/h5/model-novalid.html29
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/h6/model-isvalid.html17
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/h6/model-novalid.html29
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/header/nested-footer-novalid.html12
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/header/nested-header-novalid.html12
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/hr/model-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/hr/model-novalid.html28
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest-empty-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest-whitespace-only-novalid.html6
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-backslash-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-contains-hash-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-contains-pile-of-poo-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-contains-question-mark-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-empty-hash-only-no-path-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-leading-space-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-non-ascii-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-semicolon-question-mark-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-slash-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-192.0x00A80001-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-IP-address-broken-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-IP-address-fullwidth-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-IP-address-percent-encoded-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-cr-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-double-percent-encoded-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-double-percent-encoded-percent-encoded-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-empty-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-empty-userinfo-empty-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-empty-with-userinfo-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-exotic-dot-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-exotic-whitespace-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-fullwidth-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-hostname-in-brackets-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-idn-unicode-han-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-invalid-unicode-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-invalid-unicode-percent-encoded-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-ipv6-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-ipv6-port-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-is-pile-of-poo-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-newline-novalid.html6
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-space-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-square-brackets-port-contains-colon-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-tab-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-u0000-percent-encoded-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-u0000-percent-encoded-percent-encoded-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-bare-percent-sign-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-colon-colon-number-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-colon-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-contains-pile-of-poo-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-contains-space-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-backslash-at-sign-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-backslash-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-chars-backslash-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-chars-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-colon-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-hash-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-letter-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-number-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-slash-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-space-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-non-ascii-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-dot-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-malformed-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-mixed-case-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-multiple-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-slash-plus-slashes-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-slash-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-space-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-u0000-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-u0091-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-relative-square-brackets-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-simple-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-slash-colon-number-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-slash-only-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-starts-with-pile-of-poo-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-tab-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-trailing-space-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-u0091-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-u202E-u202D-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-uFEFF-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-unicode-han-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-0-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-00000000000000-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-00000000000000000000080-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-999999-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-cr-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-leading-colon-bracket-colon-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-leading-colon-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-leading-dash-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-multiple-letters-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-newline-novalid.html6
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-none-but-colon-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-single-letter-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-space-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-tab-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-contains-pile-of-poo-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-contains-question-mark-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-empty-no-path-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-leading-space-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-trailing-space-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-data-contains-fragment-haswarn.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-data-no-slash-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-data-single-slash-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-backslash-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-host-empty-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-host-included-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-no-slash-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-scheme-only-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-single-slash-c-bar-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-single-slash-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-only-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-abc-bar-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-c-bar-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-only-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-slash-only-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-triple-slash-c-bar-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-uppercase-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ftp-no-slash-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ftp-single-slash-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ftps-no-slash-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ftps-single-slash-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-gopher-no-slash-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-gopher-single-slash-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-backslash-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-colon-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-square-bracket-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-single-slash-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-https-no-slash-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-https-single-slash-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-javascript-no-slash-malformed-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-javascript-single-slash-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-mailto-no-slash-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-mailto-single-slash-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-none-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-no-slash-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-chars-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-colon-slashes-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-only-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-single-letter-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-single-slash-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-slash-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-slash-slash-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-schemeless-relative-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-cr-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-newline-novalid.html6
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-space-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-tab-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ws-single-slash-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-wss-no-slash-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-wss-single-slash-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-backslash-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-empty-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-host-port-path-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-password-bad-chars-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-password-contains-pile-of-poo-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-password-empty-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-user-empty-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-at-sign-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-percent-encoded-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-pile-of-poo-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-username-non-alpha-isvalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/i/model-isvalid.html24
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/i/model-novalid.html18
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/model-isvalid.html36
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/model-novalid.html74
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/model-isvalid.html31
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/model-novalid.html33
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/usemap-bad-value-novalid.html1
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/usemap-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/width-height-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/img/width-height-negative-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/list-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/pattern-asterisk-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/pattern-paren-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value-isvalid.html70
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-empty-hash-only-no-path-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-non-ascii-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-semicolon-question-mark-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-slash-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-plus-slashes-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-simple-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-slash-only-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-empty-no-path-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-schemeless-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-0004-02-29-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-0005-02-29-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-0214-09-29-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-1900-02-29-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-1969-02-29-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-20014-09-29-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-2014-02-29-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-2100-02-29-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-2200-02-29-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-01-32-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-03-32-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-04-31-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-05-32-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-06-31-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-07-32-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-08-32-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-09-31-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-10-32-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-11-31-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-12-32-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-missing-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-one-digit-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-three-digits-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-iso8601-YYYYMMDD-no-hyphen-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-leading-bom-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-leading-whitespace-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-00-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-13-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-missing-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-one-digit-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-three-digits-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-non-ascii-digit-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-trailing-U+0000-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-trailing-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-trailing-whitespace-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-wrong-day-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-wrong-month-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-year-0000-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-year-five-digits-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-year-negative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/date-year-three-digits-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/datetime-isvalid.html33
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/duration-P-form-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/duration-time-component-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-2400-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-60-minutes-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-60-seconds-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-bad-fraction-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-four-digit-fraction-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-hour-one-digit-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-hour-three-digits-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hh-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hhmm-no-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hhmmss-no-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-lowercase-z-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-minutes-one-digit-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-minutes-three-digits-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-missing-minutes-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-missing-seconds-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-nbsp-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-seconds-one-digit-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-seconds-three-digits-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-space-before-timezone-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-60-minutes-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-iso8601-two-digit-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-lowercase-t-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minus-1300-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minus-2400-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minutes-15-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-multiple-spaces-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-non-T-character-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-offset-colon-start-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-offset-space-start-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-one-digit-hour-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-one-digit-minute-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-plus-1500-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-plus-2400-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-three-digit-hour-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-three-digit-minute-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-with-seconds-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-with-both-T-and-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-wrong-minutes-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-wrong-seconds-separator-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-zero-digit-fraction-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/local-date-and-time-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/model-isvalid.html32
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/model-novalid.html46
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/month-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/time-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/week-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/year-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ins/yearless-date-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/kbd/model-isvalid.html23
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/kbd/model-novalid.html18
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/keygen/challenge-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/keygen/id-bad-novalid.html12
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/keygen/id-missing-novalid.html12
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/keygen/id-redundant-novalid.html13
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/keygen/keytype-bad-value-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/keygen/keytype-empty-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/keygen/keytype-isvalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/keygen/model-isvalid.html12
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/keygen/model-novalid.html12
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/keygen/no-attributes-isvalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/keygen/non-void-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/label/for-descendant-no-id-novalid.html1
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/label/for-isvalid.html1
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/label/multiple-descendants-novalid.html1
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href-missing-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/map/model-isvalid.html27
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/map/model-novalid.html27
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/mark/model-isvalid.html23
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/meta/names-registered-isvalid.html768
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/meta/names-standard-isvalid.html21
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/meta/refresh-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/noscript/model-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data-type-missing-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/model-isvalid.html79
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/object/model-novalid.html81
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ol/model-isvalid.html38
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ol/model-novalid.html55
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/option/label-isvalid.html6
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/option/label-novalid.html6
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/option/model-isvalid.html6
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/option/model-novalid.html6
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/p/model-isvalid.html15
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/p/model-novalid.html17
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/param/model-isvalid.html18
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/param/model-novalid.html40
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-all-spaces-with-following-source-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-all-with-following-source-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-empty-with-following-source-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-spaces-with-following-source-srcset-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-uppercase-with-following-source-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-sizes-with-following-source-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-img-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-media-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-type-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/audio-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-img-end-tag-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-picture-no-end-tag-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-picture-slash-no-end-tag-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-picture-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-source-end-tag-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-with-picture-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-with-source-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-with-srcset-and-picture-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-with-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/img-srcset-no-descriptor-with-sizes-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/img-srcset-w-and-x-width-sizes-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/img-srcset-w-no-sizes-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/img-type-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/img-type-with-picture-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/img-with-sizes-no-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/input-type-image-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-br-after-img-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-br-after-source-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-br-before-img-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-br-before-source-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-figure-wrapping-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-input-type-hidden-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-math-nog-img-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-noscript-after-source-no-img-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-noscript-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-p-after-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-p-before-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-p-wrapping-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-picture-before-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-picture-wrapping-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-span-after-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-span-before-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-span-wrapping-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-style-scroped-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-svg-no-img-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-svg-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-text-after-img-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-text-after-source-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-text-before-img-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-text-before-source-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-video-before-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-video-no-img-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/link-rel-icon-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-empty-picture-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-only-script-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-only-source-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-script-and-source-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-source-and-script-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/multiple-img-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/multiple-img-with-script-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/multiple-img-with-source-and-script-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/multiple-img-with-source-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/object-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/parent-dl-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/parent-hgroup-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/parent-noscript-in-head-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/parent-ul-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-align-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-alt-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-application-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-button-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-img-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-presentation-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-region-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-border-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-crossorigin-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-height-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-hspace-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-ismap-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-isvalid.html106
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-longdesc-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-lowsrc-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-media-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-name-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-sizes-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-src-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-usemap-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-vspace-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-width-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-auto-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-comma-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-css-comment-after-plus-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-css-comment-before-unit-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-default-first-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-default-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-deg-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dpcm-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dpi-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dppx-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-foo-bar-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-grad-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-hz-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-inherit-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-initial-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-junk-in-default-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-junk-in-source-size-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-khz-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-all-and-min-width-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-all-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-bad-junk-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-general-enclosed-junk-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-min-width-no-parenthesis-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-ms-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-negative-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-no-unit-in-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-percent-in-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-rad-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-s-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-scientific-notation-negative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-scientific-notation-non-integer-in-exponent-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-trailing-comma-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-trailing-junk-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-turn-source-size-value-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-two-defaults-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-after-img-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-align-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-alt-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-aria-role-img-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-aria-role-presentation-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-before-and-after-img-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-border-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-crossorigin-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-height-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-hspace-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-ismap-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-longdesc-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-name-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-no-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-no-srcset-with-media-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-no-srcset-with-sizes-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-no-srcset-with-type-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-src-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-src-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-srcset-h-with-sizes-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-srcset-w-and-x-with-sizes-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-srcset-w-no-sizes-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-srcset-x-with-sizes-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-type-srcset-w-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-usemap-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-vspace-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/source-width-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-broken-url-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-comma-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-css-comment-after-descriptor-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-curly-bracket-junk-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-function-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-h-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-infinity-x-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-comma-multiple-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-comma-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-dot-x-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-nan-x-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-w-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-x-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-zero-w-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-zero-x-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-non-integer-w-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-parenthesis-junk-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-pipe-junk-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-plus-w-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-plus-x-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-scientific-notation-w-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-square-bracket-junk-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-trailing-comma-multiple-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-trailing-comma-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-1x-and-omitted-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-2x-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-integer-and-decimals-x-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-w-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-uppercase-w-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-w-and-h-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-w-and-no-descriptor-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-x-and-h-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-x-and-w-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-zero-w-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-zero-x-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/svg-image-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/track-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/video-source-media-src-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/video-source-sizes-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/video-source-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/video-source-srcset-src-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/picture/video-srcset-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/pre/model-isvalid.html17
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/pre/model-novalid.html26
-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-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-javascript-no-slash-malformed-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
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ruby/empty-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ruby/missing-rt-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/s/model-isvalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/samp/model-isvalid.html23
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/samp/model-novalid.html25
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/language-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/small/model-isvalid.html23
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/small/model-novalid.html25
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/span/model-isvalid.html23
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/span/model-novalid.html25
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/strong/model-isvalid.html22
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/strong/model-novalid.html25
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/style/model-isvalid.html20
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-as-div-child-novalid.html8
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-as-p-child-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-in-head-novalid.html6
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-model-novalid.html8
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-multiple-adjacent-novalid.html9
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/sub/model-isvalid.html24
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/sub/model-novalid.html18
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/sup/model-isvalid.html24
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/sup/model-novalid.html18
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/table/model-input-child-hidden-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/table/model-input-child-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/table/model-input-type-child-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/time/datetime-isvalid.html57
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/title/empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/title/missing-novalid.html2
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/u/model-isvalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ul/model-isvalid.html39
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/ul/model-novalid.html55
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/var/model-isvalid.html24
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/var/model-novalid.html18
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/model-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/model-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/001-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/001-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/002-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/002-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/003-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/003-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/004-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/005-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/005-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/006-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/006-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/007-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/007-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/008-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/008-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/009-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/009-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/010-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/010-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/011-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/011-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/012-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/012-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/013-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/013-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/014-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/014-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/015-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/016-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/017-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/018-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/019-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/019-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/020-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/020-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/021-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/022-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/023-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/024-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/025-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/026-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/027-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/028-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/029-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/030-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/031-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/032-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/033-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/device-aspect-ratio-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/projection-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/source-isvalid.txt33
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/source-novalid.txt24
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/media-queries/tv-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid-scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype-isvalid.html70
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype-scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-empty-hash-only-no-path-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-non-ascii-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-semicolon-question-mark-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-slash-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-slash-plus-slashes-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-slash-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-simple-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-slash-only-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/query-empty-no-path-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-javascript-no-slash-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-schemeless-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/001-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/001-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/002-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/002-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/003-isvalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/003-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/004-isvalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/004-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/005-isvalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/005-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/006-isvalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/006-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/007-isvalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/007-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/008-isvalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/008-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/009-isvalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/009-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/010-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/010-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/011-isvalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/011-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/source-isvalid.txt11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/mime-types/source-novalid.txt11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/obsolete/acronym-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/obsolete/applet-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/obsolete/basefont-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/obsolete/big-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/obsolete/center-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/obsolete/dir-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/obsolete/font-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/obsolete/frameset-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/obsolete/noframes-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/obsolete/profile-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/obsolete/strike-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/obsolete/tt-novalid.html10
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/other/applet-novalid.html108
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/other/obj-novalid.html123
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/parser/cr-charref-novalid.html1
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/parser/range-charref-novalid.html1
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/parser/u000b-charref-novalid.html1
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/parser/u000b-novalid.html1
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/parser/u007f-charref-novalid.html1
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/parser/u10ffff-charref-novalid.html1
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/parser/ufffe-charref-novalid.html1
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/parser/unassigned-charref-novalid.html1
2662 files changed, 17251 insertions, 0 deletions
diff --git a/testing/web-platform/tests/conformance-checkers/html/Makefile b/testing/web-platform/tests/conformance-checkers/html/Makefile
new file mode 100644
index 000000000..332591348
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/Makefile
@@ -0,0 +1,20 @@
+PYTHON=python
+PYTHONFLAGS=
+META_EXTENSIONS=http://help.whatwg.org/extensions/meta-name/
+CURL=curl
+CURLFLAGS=
+PYTHON=python
+PYTHONFLAGS=
+
+.PHONY: ins-del-datetime .FORCE
+
+all: ins-del-datetime tools/meta-extensions elements/meta/names-registered-isvalid.html
+
+ins-del-datetime: tools/ins-del-datetime.py
+ $(PYTHON) $(PYTHONFLAGS) $<
+
+tools/meta-extensions: .FORCE
+ $(CURL) $(CURLFLAGS) $(META_EXTENSIONS) > $@
+
+elements/meta/names-registered-isvalid.html: .FORCE
+ $(PYTHON) $(PYTHONFLAGS) tools/meta-name.py
diff --git a/testing/web-platform/tests/conformance-checkers/html/attributes/accesskey/duplicate-key-labels-novalid.html b/testing/web-platform/tests/conformance-checkers/html/attributes/accesskey/duplicate-key-labels-novalid.html
new file mode 100644
index 000000000..1c9800d62
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/attributes/accesskey/duplicate-key-labels-novalid.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html>
+<head><meta charset="UTF-8">
+<title>accesskey attribute with duplicate key labels</title>
+</head>
+<body>
+<a href=url accesskey="a b ぬ c ぬ">foo</a>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/attributes/accesskey/multi-character-key-label-novalid.html b/testing/web-platform/tests/conformance-checkers/html/attributes/accesskey/multi-character-key-label-novalid.html
new file mode 100644
index 000000000..303e1ea92
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/attributes/accesskey/multi-character-key-label-novalid.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html>
+<head><meta charset="UTF-8">
+<title>accesskey attribute with multi-character key label</title>
+</head>
+<body>
+<a href=url accesskey="a b ほげ">foo</a>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/attributes/data/no-characters-after-hyphen-novalid.html b/testing/web-platform/tests/conformance-checkers/html/attributes/data/no-characters-after-hyphen-novalid.html
new file mode 100644
index 000000000..b30b1f9a7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/attributes/data/no-characters-after-hyphen-novalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>starts with the string "data-", has at least one character after the hyphen, is XML-compatible, and contains no uppercase ASCII letters</title>
+<p data-=""> <!-- no characters after the hypen -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/attributes/data/not-xml-serializable-novalid.html b/testing/web-platform/tests/conformance-checkers/html/attributes/data/not-xml-serializable-novalid.html
new file mode 100644
index 000000000..7bcbfcbf5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/attributes/data/not-xml-serializable-novalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>starts with the string "data-", has at least one character after the hyphen, is XML-compatible, and contains no uppercase ASCII letters</title>
+<p data-z:foo=""><!-- not serializable as XML -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/attributes/data/value-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/attributes/data/value-isvalid.html
new file mode 100644
index 000000000..96f0917d4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/attributes/data/value-isvalid.html
@@ -0,0 +1,7 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>valid data-</title>
+<!-- starts with the string "data-", has at least one character after the hyphen, is XML-compatible, and contains no uppercase ASCII letters -->
+<p data-z="">
+<!-- starts with the string "data-", has at least one character after the hyphen, is XML-compatible, and contains no uppercase ASCII letters -->
+<p data-78zxyabc123-foo_bar_baz="">
diff --git a/testing/web-platform/tests/conformance-checkers/html/attributes/lang/deprecated-tag-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/attributes/lang/deprecated-tag-haswarn.html
new file mode 100644
index 000000000..4fc1aaaaf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/attributes/lang/deprecated-tag-haswarn.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>must be a valid BCP 47 language tag, or the empty string</title>
+<meta charset=utf-8>
+</head>
+<body lang=mo><!-- deprecated subtag -->
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/attributes/lang/empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/attributes/lang/empty-isvalid.html
new file mode 100644
index 000000000..f88354d01
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/attributes/lang/empty-isvalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html lang="">
+<head>
+<meta charset=utf-8>
+<title>must be a valid BCP 47 language tag, or the empty string</title>
+</head>
+<body>
+<p></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/attributes/lang/extlang-bad-novalid.html b/testing/web-platform/tests/conformance-checkers/html/attributes/lang/extlang-bad-novalid.html
new file mode 100644
index 000000000..7908f08c3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/attributes/lang/extlang-bad-novalid.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>must be a valid BCP 47 language tag, or the empty string</title>
+<meta charset=utf-8>
+</head>
+<body lang=bat-smg><!-- bad extlang -->
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/attributes/lang/xmllang-different-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/attributes/lang/xmllang-different-value-novalid.html
new file mode 100644
index 000000000..8e9f82fe5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/attributes/lang/xmllang-different-value-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html xml:lang="en" lang="fr">
+<head>
+<meta charset=utf-8>
+<title>When "xml:lang" is specified, the element must also have "lang" present with the same value</title>
+</head>
+<body>
+<p></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/attributes/lang/xmllang-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/attributes/lang/xmllang-only-novalid.html
new file mode 100644
index 000000000..7f4571ef1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/attributes/lang/xmllang-only-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html xml:lang="en">
+<head>
+<meta charset=utf-8>
+<title>When "xml:lang" is specified, the element must also have "lang" present with the same value</title>
+</head>
+<body>
+<p></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/attributes/lang/xmllang-same-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/attributes/lang/xmllang-same-isvalid.html
new file mode 100644
index 000000000..71418a5f6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/attributes/lang/xmllang-same-isvalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html xml:lang="en" lang="en">
+<head>
+<meta charset=utf-8>
+<title>When "xml:lang" is specified, the element must also have "lang" present with the same value</title>
+</head>
+<body>
+<p></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/attributes/role/unrecognized-role-name-novalid.html b/testing/web-platform/tests/conformance-checkers/html/attributes/role/unrecognized-role-name-novalid.html
new file mode 100644
index 000000000..b7b7f726b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/attributes/role/unrecognized-role-name-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>The attribute value MUST allow a token list as the value</title>
+<input type=checkbox aria-checked=true role="switch menuitemcheckbox checkbox input">
+<!-- "switch" & "input" are unrecognized; "checkbox" is superfluous -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/attributes/spellcheck/value-bad-novalid.html b/testing/web-platform/tests/conformance-checkers/html/attributes/spellcheck/value-bad-novalid.html
new file mode 100644
index 000000000..6cbf57e78
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/attributes/spellcheck/value-bad-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>spellcheck="badvalue"</title>
+</head>
+<body>
+<p spellcheck="badvalue"></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/attributes/spellcheck/value-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/attributes/spellcheck/value-isvalid.html
new file mode 100644
index 000000000..2ce71c581
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/attributes/spellcheck/value-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>valid spellcheck</title>
+</head>
+<body>
+<p spellcheck="true"></p>
+<p spellcheck="false"></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/download-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/download-isvalid.html
new file mode 100644
index 000000000..0d1fe6f1e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/download-isvalid.html
@@ -0,0 +1,5 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>valid download</title>
+<a download>foo</a><!-- empty download -->
+<a download=baz>foo</a><!-- arbitrary value for download -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href-isvalid.html
new file mode 100644
index 000000000..504ec6e37
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href-isvalid.html
@@ -0,0 +1,92 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href</title>
+<a href="file:///"></a><!-- scheme-file-slash-slash-slash-only -->
+<a href="http://a:@www.example.com"></a><!-- userinfo-password-empty -->
+<a href="foo://///////"></a><!-- scheme-private-path-leading-slashes-only -->
+<a href="file://abc|/foo/bar"></a><!-- scheme-file-slash-slash-abc-bar -->
+<a href="/a/b/c"></a><!-- path-simple-relative -->
+<a href="http://example.com/你好你好"></a><!-- path-unicode-han -->
+<a href="/a/%2f/c"></a><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<a href="http://f:/c"></a><!-- port-none-but-colon -->
+<a href="http://example.com/foo%41%7a"></a><!-- path-percent-encoded-multiple -->
+<a href="http://192.168.0.257/"></a><!-- host-IP-address-broken -->
+<a href="madeupscheme:example.com/"></a><!-- scheme-private-no-slash -->
+<a href="?"></a><!-- query-empty-no-path-relative -->
+<a href="http://example.com/%20foo"></a><!-- path-percent-encoded-space -->
+<a href="mailto:/example.com/"></a><!-- scheme-mailto-single-slash -->
+<a href="::"></a><!-- path-leading-colon-colon-relative -->
+<a href="http://example.com/%3A%3a%3C%3c"></a><!-- path-percent-encoded-mixed-case -->
+<a href="http://user:pass@foo:21/bar;par?b#c"></a><!-- userinfo -->
+<a href="ws:/example.com/"></a><!-- scheme-ws-single-slash -->
+<a href="foo://"></a><!-- scheme-private-slash-slash -->
+<a href="#"></a><!-- fragment-empty-hash-only-no-path-relative -->
+<a href="http://f:00000000000000/c"></a><!-- port-00000000000000 -->
+<a href="foo:////://///"></a><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<a href=":23"></a><!-- path-leading-colon-number-relative -->
+<a href="foo:/"></a><!-- scheme-private-slash -->
+<a href="http://💩"></a><!-- host-is-pile-of-poo -->
+<a href="file:test"></a><!-- scheme-file-no-slash -->
+<a href="file://C|/foo/bar"></a><!-- scheme-file-slash-slash-c-bar -->
+<a href="#/"></a><!-- fragment-slash-relative -->
+<a href="http://192.0x00A80001"></a><!-- host-192.0x00A80001 -->
+<a href="foo.com"></a><!-- scheme-none-relative -->
+<a href="http💩//:foo"></a><!-- path-contains-pile-of-poo -->
+<a href="File://foo/bar.html"></a><!-- scheme-file-uppercase -->
+<a href=":/"></a><!-- path-leading-colon-slash-relative -->
+<a href="http://www.foo。bar.com"></a><!-- host-exotic-dot -->
+<a href="http://GOO​⁠goo.com"></a><!-- host-exotic-whitespace -->
+<a href="file:///foo/bar.txt"></a><!-- scheme-file-host-empty -->
+<a href="javascript:/example.com/"></a><!-- scheme-javascript-single-slash -->
+<a href="gopher:/example.com/"></a><!-- scheme-gopher-single-slash -->
+<a href="ftps:example.com/"></a><!-- scheme-ftps-no-slash -->
+<a href="file://server/foo/bar"></a><!-- scheme-file-host-included -->
+<a href="http://example.com/foo%00"></a><!-- path-percent-encoded-u0000 -->
+<a href="a:foo.com"></a><!-- scheme-private -->
+<a href=":"></a><!-- path-colon-relative -->
+<a href="http://:b@www.example.com"></a><!-- userinfo-user-empty -->
+<a href="file:/"></a><!-- scheme-file-slash-only -->
+<a href="wss:example.com/"></a><!-- scheme-wss-no-slash -->
+<a href="::23"></a><!-- path-colon-colon-number-relative -->
+<a href="/a%2fc"></a><!-- path-percent-encoded-slash-relative -->
+<a href="http://a:b@c:29/d"></a><!-- userinfo-host-port-path -->
+<a href="gopher:example.com/"></a><!-- scheme-gopher-no-slash -->
+<a href="madeupscheme:/example.com/"></a><!-- scheme-private-single-slash -->
+<a href="mailto:example.com/"></a><!-- scheme-mailto-no-slash -->
+<a href="http://%25DOMAIN:foobar@foodomain.com"></a><!-- userinfo-username-contains-percent-encoded -->
+<a href="/:23"></a><!-- path-slash-colon-number-relative -->
+<a href="foo://///////bar.com/"></a><!-- scheme-private-path-leading-slashes-chars -->
+<a href="http://[2001::1]:80"></a><!-- host-ipv6-port -->
+<a href="data:text/plain,foo"></a><!-- scheme-data-no-slash -->
+<a href="http://example.com/foo/%2e"></a><!-- path-percent-encoded-dot -->
+<a href="file:/example.com/"></a><!-- scheme-file-single-slash -->
+<a href="http://example.com/©zbar"></a><!-- path-non-ascii -->
+<a href="http://example.com//foo"></a><!-- path-uFEFF -->
+<a href="wss:/example.com/"></a><!-- scheme-wss-single-slash -->
+<a href="http://foo/abcd#foo?bar"></a><!-- fragment-contains-question-mark -->
+<a href=":#"></a><!-- path-leading-colon-hash-relative -->
+<a href="http://example.com/foo%91"></a><!-- path-percent-encoded-u0091 -->
+<a href="c:/foo"></a><!-- scheme-private-single-letter -->
+<a href=":foo.com"></a><!-- path-leading-colon-chars-relative -->
+<a href="http://你好你好"></a><!-- host-idn-unicode-han -->
+<a href="http://example.com/foo#💩"></a><!-- fragment-contains-pile-of-poo -->
+<a href="file:"></a><!-- scheme-file-scheme-only -->
+<a href="#β"></a><!-- fragment-non-ascii-relative -->
+<a href="foo:/bar.com/"></a><!-- scheme-private-path -->
+<a href="http://f:0/c"></a><!-- port-0 -->
+<a href="#;?"></a><!-- fragment-semicolon-question-mark-relative -->
+<a href="http://Go.com"></a><!-- host-fullwidth -->
+<a href="http://@www.example.com"></a><!-- userinfo-empty -->
+<a href="http://example.com/‮/foo/‭/bar"></a><!-- path-u202E-u202D -->
+<a href="http://[2001::1]"></a><!-- host-ipv6 -->
+<a href="💩http://foo"></a><!-- path-starts-with-pile-of-poo -->
+<a href="http://foo/abcd?efgh?ijkl"></a><!-- query-contains-question-mark -->
+<a href="//foo/bar"></a><!-- scheme-schemeless-relative -->
+<a href="ftps:/example.com/"></a><!-- scheme-ftps-single-slash -->
+<a href="http://foo.com:b@d/"></a><!-- userinfo-username-non-alpha -->
+<a href=":a"></a><!-- path-leading-colon-letter-relative -->
+<a href="/"></a><!-- path-slash-only-relative -->
+<a href="http://example.com/foo?💩"></a><!-- query-contains-pile-of-poo -->
+<a href="http://f:00000000000000000000080/c"></a><!-- port-00000000000000000000080 -->
+<a href="file://"></a><!-- scheme-file-slash-slash-only -->
+<a href=""></a><!-- empty-href -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/fragment-backslash-novalid.html
new file mode 100644
index 000000000..0bcbffd20
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-backslash</title>
+<a href="#\"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..5810a3d8e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-contains-hash</title>
+<a href="http://foo/path#f#g"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..f1c73cbb7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-leading-space</title>
+<a href="http://f:21/b# e"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-cr-novalid.html
new file mode 100644
index 000000000..8d7d4d8e4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-cr</title>
+<a href="http://example. org"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..20914774b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-double-percent-encoded</title>
+<a href="http://%41.com"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..28ede588d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-double-percent-encoded-percent-encoded</title>
+<a href="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-empty-novalid.html
new file mode 100644
index 000000000..cdd21ebff
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-empty</title>
+<a href="http://"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..c4bcebfc9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-empty-userinfo-empty</title>
+<a href="http://@/www.example.com"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..33305eda8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-empty-with-userinfo</title>
+<a href="http://user:pass@/"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..8e99033b2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-hostname-in-brackets</title>
+<a href="http://[www.google.com]/"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..2efec4830
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-invalid-unicode</title>
+<a href="http://﷐zyx.com"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..faf12df19
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-invalid-unicode-percent-encoded</title>
+<a href="http://%ef%b7%90zyx.com"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-newline-novalid.html
new file mode 100644
index 000000000..20a24039b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-newline</title>
+<a href="http://example.
+org"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-space-novalid.html
new file mode 100644
index 000000000..28fbf6839
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-space</title>
+<a href="http://example .org"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..2032854dc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-square-brackets-port-contains-colon</title>
+<a href="http://[1::2]:3:4"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-tab-novalid.html
new file mode 100644
index 000000000..0b0810498
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-tab</title>
+<a href="http://example .org"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..fefaeb29c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-u0000-percent-encoded</title>
+<a href="http://%00.com"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..91bca31a0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-u0000-percent-encoded-percent-encoded</title>
+<a href="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..d473c10fc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-bare-percent-sign</title>
+<a href="http://example.com/foo%"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-contains-space-novalid.html
new file mode 100644
index 000000000..2084b1f25
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-contains-space</title>
+<a href="/a/ /c"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..5e3bad4e2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-backslash-at-sign</title>
+<a href="http://foo.com/\@"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..c6a6de865
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-colon-backslash</title>
+<a href=":\"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..333461a2a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-colon-chars-backslash</title>
+<a href=":foo.com\"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-leading-space-novalid.html
new file mode 100644
index 000000000..a247910e4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-space</title>
+<a href="http://f:21/ b"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..3547c071f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-percent-encoded-malformed</title>
+<a href="http://example.com/foo/%2e%2"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..3ca2e6da1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-relative-square-brackets</title>
+<a href="[61:24:74]:98"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-tab-novalid.html
new file mode 100644
index 000000000..6ed16e83c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-tab</title>
+<a href="http://example.com/foo bar"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-trailing-space-novalid.html
new file mode 100644
index 000000000..98b950ea5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-trailing-space</title>
+<a href="http://f:21/b ?"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-u0091-novalid.html
new file mode 100644
index 000000000..9a5f8af70
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-u0091</title>
+<a href="http://example.com/foo‘"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-999999-novalid.html
new file mode 100644
index 000000000..8fcc801ef
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-999999</title>
+<a href="http://f:999999/c"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-cr-novalid.html
new file mode 100644
index 000000000..beef30828
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-cr</title>
+<a href="http://f: /c"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..9d5839c7a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-leading-colon-bracket-colon</title>
+<a href="http://2001::1]:80"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-leading-colon-novalid.html
new file mode 100644
index 000000000..b5c692d8a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-leading-colon</title>
+<a href="http://2001::1"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-leading-dash-novalid.html
new file mode 100644
index 000000000..1a47b2e8b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-leading-dash</title>
+<a href="http://foo:-80/"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..47d9fd856
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-multiple-letters</title>
+<a href="http://f:fifty-two/c"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-newline-novalid.html
new file mode 100644
index 000000000..5b1d95d5c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-newline</title>
+<a href="http://f:
+/c"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-single-letter-novalid.html
new file mode 100644
index 000000000..9c289ff93
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-single-letter</title>
+<a href="http://f:b/c"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-space-novalid.html
new file mode 100644
index 000000000..219c7345a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-space</title>
+<a href="http://f: /c"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-tab-novalid.html
new file mode 100644
index 000000000..266dc9f22
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-tab</title>
+<a href="http://f: /c"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/query-leading-space-novalid.html
new file mode 100644
index 000000000..d786b5896
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: query-leading-space</title>
+<a href="http://f:21/b? d"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/query-trailing-space-novalid.html
new file mode 100644
index 000000000..7754c45a2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: query-trailing-space</title>
+<a href="http://f:21/b?d #"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..069e6ab38
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/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>
+<a href="data:text/html,test#test"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..8474eed4b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-data-single-slash</title>
+<a href="data:/example.com/"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..76564e13b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-file-backslash</title>
+<a href="file:c:\foo\bar.html"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..fecd0b753
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-file-single-slash-c-bar</title>
+<a href="file:/C|/foo/bar"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..bf05a0bfa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-file-triple-slash-c-bar</title>
+<a href="file:///C|/foo/bar"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..52a9131f0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-ftp-no-slash</title>
+<a href="ftp:example.com/"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..a885cdf33
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-ftp-single-slash</title>
+<a href="ftp:/example.com/"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..90bf03e8f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-backslash</title>
+<a href="http:\\foo.com\"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..4c9df6145
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-no-slash-colon</title>
+<a href="http::@c:29"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..6797c6be3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-no-slash</title>
+<a href="http:foo.com"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..3f3acb11d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-no-slash-square-bracket</title>
+<a href="http:[61:27]/:foo"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..e88638d13
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-single-slash</title>
+<a href="http:/example.com/"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..40325a5c3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-https-no-slash</title>
+<a href="https:example.com/"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..391c317a1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-https-single-slash</title>
+<a href="https:/example.com/"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..e818ba76b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-javascript-no-slash-malformed</title>
+<a href="javascript:example.com/"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..784922f51
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-cr</title>
+<a href="a: foo.com"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..12bbe55a7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-newline</title>
+<a href="a:
+foo.com"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..975a72eb8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-space</title>
+<a href="a: foo.com"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..38a4e338d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-tab</title>
+<a href="a: foo.com"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..c147fea49
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-backslash</title>
+<a href="http://a\b:c\d@foo.com"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..6f344e19a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-password-bad-chars</title>
+<a href="http://&a:foo(b]c@d:2/"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..26add7698
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-password-contains-pile-of-poo</title>
+<a href="http://foo:💩@example.com"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..a7c56342b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-username-contains-at-sign</title>
+<a href="http://::@c@d:2"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..6571b3846
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/href/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-username-contains-pile-of-poo</title>
+<a href="http://💩:foo@example.com"></a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/media-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/media-novalid.html
new file mode 100644
index 000000000..756ab7642
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/media-novalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>anchor element with "media" attribute</title>
+<a media=all>foo</a>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/model-isvalid.html
new file mode 100644
index 000000000..4704893e2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/model-isvalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>valid anchor element</title>
+<div><a><p>foo</p></a></div><!-- with flow content and flow parent -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/model-novalid.html
new file mode 100644
index 000000000..86bcdf3fc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/model-novalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>anchor with flow content and phrasing parent</title>
+<span><a><p>foo</p></a></span>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/a/name-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/a/name-empty-novalid.html
new file mode 100644
index 000000000..21eec58c1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/a/name-empty-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>invalid empty value for a/@name</title>
+<meta charset=utf-8>
+</head>
+<body>
+<a name=''></a>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/abbr/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/abbr/model-isvalid.html
new file mode 100644
index 000000000..59518af28
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/abbr/model-isvalid.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;abbr&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><abbr class="class" lang="en" title=''>text</abbr></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><abbr title="text1" class="class" lang="en">text</abbr></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <abbr title=''></abbr></p>
+ <p>text <dfn><abbr title=''></abbr></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><abbr title=''><a>text</a></abbr></p>
+ <p><dfn><abbr title=''><a>text</a></abbr></dfn></p>
+
+ <!-- cannot contain structured inline -->
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/abbr/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/abbr/model-novalid.html
new file mode 100644
index 000000000..924c98ea3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/abbr/model-novalid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;abbr&gt;</title>
+</head>
+<body>
+ <!-- not a block -->
+ <abbr>text</abbr>
+
+ <!-- cannot contain structured inline -->
+ <p><abbr><ul><li>text</li></ul></abbr></p>
+
+ <!-- cannot contain interactive if parent forbids interactive -->
+ <p><a><abbr><a>text</a></abbr></a></p>
+ <p><a><dfn><abbr><a>text</a></abbr></dfn></a></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/address/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/address/model-isvalid.html
new file mode 100644
index 000000000..94934bba1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/address/model-isvalid.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;address&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <address class="class" id="id" lang="en">text</address>
+
+ <!-- can contain interactive -->
+ <address><a>text</a></address>
+
+ <!-- cannot contain structured inline -->
+ <address>text <em>elem</em></address>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/address/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/address/model-novalid.html
new file mode 100644
index 000000000..3c4575944
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/address/model-novalid.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;address&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <address class="class" id="id" lang="en">text</address>
+
+ <!-- can contain interactive -->
+ <address><a>text</a></address>
+
+ <!-- cannot contain address inline -->
+ <address>text <address>elem</address></address>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/download-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/download-isvalid.html
new file mode 100644
index 000000000..12a881fc6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/download-isvalid.html
@@ -0,0 +1,5 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>valid download</title>
+<map name=bar><area download>foo</map><!-- empty download -->
+<map name=bar><area download=baz>foo</map><!-- arbitrary value for download -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href-empty-isvalid.html
new file mode 100644
index 000000000..06fd9ac77
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty href is valid</title>
+<map name=foo><area href="" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href-isvalid.html
new file mode 100644
index 000000000..ea068dccf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href</title>
+<map name=foo><area href="file:///" alt></map><!-- scheme-file-slash-slash-slash-only -->
+<map name=foo><area href="http://a:@www.example.com" alt></map><!-- userinfo-password-empty -->
+<map name=foo><area href="foo://///////" alt></map><!-- scheme-private-path-leading-slashes-only -->
+<map name=foo><area href="file://abc|/foo/bar" alt></map><!-- scheme-file-slash-slash-abc-bar -->
+<map name=foo><area href="/a/b/c" alt></map><!-- path-simple-relative -->
+<map name=foo><area href="http://example.com/你好你好" alt></map><!-- path-unicode-han -->
+<map name=foo><area href="/a/%2f/c" alt></map><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<map name=foo><area href="http://f:/c" alt></map><!-- port-none-but-colon -->
+<map name=foo><area href="http://example.com/foo%41%7a" alt></map><!-- path-percent-encoded-multiple -->
+<map name=foo><area href="http://192.168.0.257/" alt></map><!-- host-IP-address-broken -->
+<map name=foo><area href="madeupscheme:example.com/" alt></map><!-- scheme-private-no-slash -->
+<map name=foo><area href="?" alt></map><!-- query-empty-no-path-relative -->
+<map name=foo><area href="http://example.com/%20foo" alt></map><!-- path-percent-encoded-space -->
+<map name=foo><area href="mailto:/example.com/" alt></map><!-- scheme-mailto-single-slash -->
+<map name=foo><area href="::" alt></map><!-- path-leading-colon-colon-relative -->
+<map name=foo><area href="http://example.com/%3A%3a%3C%3c" alt></map><!-- path-percent-encoded-mixed-case -->
+<map name=foo><area href="http://user:pass@foo:21/bar;par?b#c" alt></map><!-- userinfo -->
+<map name=foo><area href="ws:/example.com/" alt></map><!-- scheme-ws-single-slash -->
+<map name=foo><area href="foo://" alt></map><!-- scheme-private-slash-slash -->
+<map name=foo><area href="#" alt></map><!-- fragment-empty-hash-only-no-path-relative -->
+<map name=foo><area href="http://f:00000000000000/c" alt></map><!-- port-00000000000000 -->
+<map name=foo><area href="foo:////://///" alt></map><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<map name=foo><area href=":23" alt></map><!-- path-leading-colon-number-relative -->
+<map name=foo><area href="foo:/" alt></map><!-- scheme-private-slash -->
+<map name=foo><area href="http://💩" alt></map><!-- host-is-pile-of-poo -->
+<map name=foo><area href="file:test" alt></map><!-- scheme-file-no-slash -->
+<map name=foo><area href="file://C|/foo/bar" alt></map><!-- scheme-file-slash-slash-c-bar -->
+<map name=foo><area href="#/" alt></map><!-- fragment-slash-relative -->
+<map name=foo><area href="http://192.0x00A80001" alt></map><!-- host-192.0x00A80001 -->
+<map name=foo><area href="foo.com" alt></map><!-- scheme-none-relative -->
+<map name=foo><area href="http💩//:foo" alt></map><!-- path-contains-pile-of-poo -->
+<map name=foo><area href="File://foo/bar.html" alt></map><!-- scheme-file-uppercase -->
+<map name=foo><area href=":/" alt></map><!-- path-leading-colon-slash-relative -->
+<map name=foo><area href="http://www.foo。bar.com" alt></map><!-- host-exotic-dot -->
+<map name=foo><area href="http://GOO​⁠goo.com" alt></map><!-- host-exotic-whitespace -->
+<map name=foo><area href="file:///foo/bar.txt" alt></map><!-- scheme-file-host-empty -->
+<map name=foo><area href="javascript:/example.com/" alt></map><!-- scheme-javascript-single-slash -->
+<map name=foo><area href="gopher:/example.com/" alt></map><!-- scheme-gopher-single-slash -->
+<map name=foo><area href="ftps:example.com/" alt></map><!-- scheme-ftps-no-slash -->
+<map name=foo><area href="file://server/foo/bar" alt></map><!-- scheme-file-host-included -->
+<map name=foo><area href="http://example.com/foo%00" alt></map><!-- path-percent-encoded-u0000 -->
+<map name=foo><area href="a:foo.com" alt></map><!-- scheme-private -->
+<map name=foo><area href=":" alt></map><!-- path-colon-relative -->
+<map name=foo><area href="http://:b@www.example.com" alt></map><!-- userinfo-user-empty -->
+<map name=foo><area href="file:/" alt></map><!-- scheme-file-slash-only -->
+<map name=foo><area href="wss:example.com/" alt></map><!-- scheme-wss-no-slash -->
+<map name=foo><area href="::23" alt></map><!-- path-colon-colon-number-relative -->
+<map name=foo><area href="/a%2fc" alt></map><!-- path-percent-encoded-slash-relative -->
+<map name=foo><area href="http://a:b@c:29/d" alt></map><!-- userinfo-host-port-path -->
+<map name=foo><area href="gopher:example.com/" alt></map><!-- scheme-gopher-no-slash -->
+<map name=foo><area href="madeupscheme:/example.com/" alt></map><!-- scheme-private-single-slash -->
+<map name=foo><area href="mailto:example.com/" alt></map><!-- scheme-mailto-no-slash -->
+<map name=foo><area href="http://%25DOMAIN:foobar@foodomain.com" alt></map><!-- userinfo-username-contains-percent-encoded -->
+<map name=foo><area href="/:23" alt></map><!-- path-slash-colon-number-relative -->
+<map name=foo><area href="foo://///////bar.com/" alt></map><!-- scheme-private-path-leading-slashes-chars -->
+<map name=foo><area href="http://[2001::1]:80" alt></map><!-- host-ipv6-port -->
+<map name=foo><area href="data:text/plain,foo" alt></map><!-- scheme-data-no-slash -->
+<map name=foo><area href="http://example.com/foo/%2e" alt></map><!-- path-percent-encoded-dot -->
+<map name=foo><area href="file:/example.com/" alt></map><!-- scheme-file-single-slash -->
+<map name=foo><area href="http://example.com/©zbar" alt></map><!-- path-non-ascii -->
+<map name=foo><area href="http://example.com//foo" alt></map><!-- path-uFEFF -->
+<map name=foo><area href="wss:/example.com/" alt></map><!-- scheme-wss-single-slash -->
+<map name=foo><area href="http://foo/abcd#foo?bar" alt></map><!-- fragment-contains-question-mark -->
+<map name=foo><area href=":#" alt></map><!-- path-leading-colon-hash-relative -->
+<map name=foo><area href="http://example.com/foo%91" alt></map><!-- path-percent-encoded-u0091 -->
+<map name=foo><area href="c:/foo" alt></map><!-- scheme-private-single-letter -->
+<map name=foo><area href=":foo.com" alt></map><!-- path-leading-colon-chars-relative -->
+<map name=foo><area href="http://你好你好" alt></map><!-- host-idn-unicode-han -->
+<map name=foo><area href="http://example.com/foo#💩" alt></map><!-- fragment-contains-pile-of-poo -->
+<map name=foo><area href="file:" alt></map><!-- scheme-file-scheme-only -->
+<map name=foo><area href="#β" alt></map><!-- fragment-non-ascii-relative -->
+<map name=foo><area href="foo:/bar.com/" alt></map><!-- scheme-private-path -->
+<map name=foo><area href="http://f:0/c" alt></map><!-- port-0 -->
+<map name=foo><area href="#;?" alt></map><!-- fragment-semicolon-question-mark-relative -->
+<map name=foo><area href="http://Go.com" alt></map><!-- host-fullwidth -->
+<map name=foo><area href="http://@www.example.com" alt></map><!-- userinfo-empty -->
+<map name=foo><area href="http://example.com/‮/foo/‭/bar" alt></map><!-- path-u202E-u202D -->
+<map name=foo><area href="http://[2001::1]" alt></map><!-- host-ipv6 -->
+<map name=foo><area href="💩http://foo" alt></map><!-- path-starts-with-pile-of-poo -->
+<map name=foo><area href="http://foo/abcd?efgh?ijkl" alt></map><!-- query-contains-question-mark -->
+<map name=foo><area href="//foo/bar" alt></map><!-- scheme-schemeless-relative -->
+<map name=foo><area href="ftps:/example.com/" alt></map><!-- scheme-ftps-single-slash -->
+<map name=foo><area href="http://foo.com:b@d/" alt></map><!-- userinfo-username-non-alpha -->
+<map name=foo><area href=":a" alt></map><!-- path-leading-colon-letter-relative -->
+<map name=foo><area href="/" alt></map><!-- path-slash-only-relative -->
+<map name=foo><area href="http://example.com/foo?💩" alt></map><!-- query-contains-pile-of-poo -->
+<map name=foo><area href="http://f:00000000000000000000080/c" alt></map><!-- port-00000000000000000000080 -->
+<map name=foo><area href="file://" alt></map><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/fragment-backslash-novalid.html
new file mode 100644
index 000000000..2c6df4076
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-backslash</title>
+<map name=foo><area href="#\" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..6e785fcf7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-contains-hash</title>
+<map name=foo><area href="http://foo/path#f#g" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..6d361df80
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-leading-space</title>
+<map name=foo><area href="http://f:21/b# e" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-cr-novalid.html
new file mode 100644
index 000000000..f5d426039
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-cr</title>
+<map name=foo><area href="http://example. org" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..b4231d3fc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-double-percent-encoded</title>
+<map name=foo><area href="http://%41.com" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..98cb2ac4a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-double-percent-encoded-percent-encoded</title>
+<map name=foo><area href="http://%ef%bc%85%ef%bc%94%ef%bc%91.com" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-empty-novalid.html
new file mode 100644
index 000000000..22684d89d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-empty</title>
+<map name=foo><area href="http://" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..d29da9360
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-empty-userinfo-empty</title>
+<map name=foo><area href="http://@/www.example.com" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..5ca0ed764
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-empty-with-userinfo</title>
+<map name=foo><area href="http://user:pass@/" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..c60734adf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-hostname-in-brackets</title>
+<map name=foo><area href="http://[www.google.com]/" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..c7d111119
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-invalid-unicode</title>
+<map name=foo><area href="http://﷐zyx.com" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..ef79d37f5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-invalid-unicode-percent-encoded</title>
+<map name=foo><area href="http://%ef%b7%90zyx.com" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-newline-novalid.html
new file mode 100644
index 000000000..ece26cf6a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-newline</title>
+<map name=foo><area href="http://example.
+org" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-space-novalid.html
new file mode 100644
index 000000000..65a3611a4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-space</title>
+<map name=foo><area href="http://example .org" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..b3a163954
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-square-brackets-port-contains-colon</title>
+<map name=foo><area href="http://[1::2]:3:4" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-tab-novalid.html
new file mode 100644
index 000000000..cc58fb54c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-tab</title>
+<map name=foo><area href="http://example .org" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..1200b50e0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-u0000-percent-encoded</title>
+<map name=foo><area href="http://%00.com" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..fc52797d4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-u0000-percent-encoded-percent-encoded</title>
+<map name=foo><area href="http://%ef%bc%85%ef%bc%90%ef%bc%90.com" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..12a06504b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-bare-percent-sign</title>
+<map name=foo><area href="http://example.com/foo%" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-contains-space-novalid.html
new file mode 100644
index 000000000..ef2889cd7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-contains-space</title>
+<map name=foo><area href="/a/ /c" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..667e6313c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-backslash-at-sign</title>
+<map name=foo><area href="http://foo.com/\@" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..7f9994a76
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-colon-backslash</title>
+<map name=foo><area href=":\" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..7eede5dec
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-colon-chars-backslash</title>
+<map name=foo><area href=":foo.com\" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-leading-space-novalid.html
new file mode 100644
index 000000000..ff1738954
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-space</title>
+<map name=foo><area href="http://f:21/ b" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..9e5f0e8e1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-percent-encoded-malformed</title>
+<map name=foo><area href="http://example.com/foo/%2e%2" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..69b04b4f2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-relative-square-brackets</title>
+<map name=foo><area href="[61:24:74]:98" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-tab-novalid.html
new file mode 100644
index 000000000..a6f023c40
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-tab</title>
+<map name=foo><area href="http://example.com/foo bar" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-trailing-space-novalid.html
new file mode 100644
index 000000000..65b1e02a4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-trailing-space</title>
+<map name=foo><area href="http://f:21/b ?" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-u0091-novalid.html
new file mode 100644
index 000000000..aa0fcde34
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-u0091</title>
+<map name=foo><area href="http://example.com/foo‘" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-999999-novalid.html
new file mode 100644
index 000000000..13106ac22
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-999999</title>
+<map name=foo><area href="http://f:999999/c" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-cr-novalid.html
new file mode 100644
index 000000000..b38c7ba8f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-cr</title>
+<map name=foo><area href="http://f: /c" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..f6668e151
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-leading-colon-bracket-colon</title>
+<map name=foo><area href="http://2001::1]:80" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-leading-colon-novalid.html
new file mode 100644
index 000000000..6de34e1ad
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-leading-colon</title>
+<map name=foo><area href="http://2001::1" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-leading-dash-novalid.html
new file mode 100644
index 000000000..215197e7b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-leading-dash</title>
+<map name=foo><area href="http://foo:-80/" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..548f23927
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-multiple-letters</title>
+<map name=foo><area href="http://f:fifty-two/c" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-newline-novalid.html
new file mode 100644
index 000000000..0efb34e3b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-newline</title>
+<map name=foo><area href="http://f:
+/c" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-single-letter-novalid.html
new file mode 100644
index 000000000..5efc977c0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-single-letter</title>
+<map name=foo><area href="http://f:b/c" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-space-novalid.html
new file mode 100644
index 000000000..85c7e60db
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-space</title>
+<map name=foo><area href="http://f: /c" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-tab-novalid.html
new file mode 100644
index 000000000..591c3c736
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-tab</title>
+<map name=foo><area href="http://f: /c" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/query-leading-space-novalid.html
new file mode 100644
index 000000000..3843fe553
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: query-leading-space</title>
+<map name=foo><area href="http://f:21/b? d" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/query-trailing-space-novalid.html
new file mode 100644
index 000000000..7e2e981f8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: query-trailing-space</title>
+<map name=foo><area href="http://f:21/b?d #" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..ba727f533
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>href warning: scheme-data-contains-fragment</title>
+<map name=foo><area href="data:text/html,test#test" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..79ee412f8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-data-single-slash</title>
+<map name=foo><area href="data:/example.com/" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..e21e8173d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-file-backslash</title>
+<map name=foo><area href="file:c:\foo\bar.html" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..dbb9912cf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-file-single-slash-c-bar</title>
+<map name=foo><area href="file:/C|/foo/bar" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..07276a244
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-file-triple-slash-c-bar</title>
+<map name=foo><area href="file:///C|/foo/bar" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..e92a75d01
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-ftp-no-slash</title>
+<map name=foo><area href="ftp:example.com/" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..180e0d272
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-ftp-single-slash</title>
+<map name=foo><area href="ftp:/example.com/" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..d1281c4de
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-backslash</title>
+<map name=foo><area href="http:\\foo.com\" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..4986f1a22
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-no-slash-colon</title>
+<map name=foo><area href="http::@c:29" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..2d3ba5b5b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-no-slash</title>
+<map name=foo><area href="http:foo.com" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..bc4ddc247
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-no-slash-square-bracket</title>
+<map name=foo><area href="http:[61:27]/:foo" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..eb2cb78f9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-single-slash</title>
+<map name=foo><area href="http:/example.com/" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..84e8a816c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-https-no-slash</title>
+<map name=foo><area href="https:example.com/" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..cc6ea3237
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-https-single-slash</title>
+<map name=foo><area href="https:/example.com/" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..bb12e65f5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-javascript-no-slash-malformed</title>
+<map name=foo><area href="javascript:example.com/" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..503145635
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-cr</title>
+<map name=foo><area href="a: foo.com" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..422c685e5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-newline</title>
+<map name=foo><area href="a:
+foo.com" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..aa877fe96
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-space</title>
+<map name=foo><area href="a: foo.com" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..fb9055a41
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-tab</title>
+<map name=foo><area href="a: foo.com" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..9419fd0a7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-backslash</title>
+<map name=foo><area href="http://a\b:c\d@foo.com" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..f9d210a06
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-password-bad-chars</title>
+<map name=foo><area href="http://&a:foo(b]c@d:2/" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..48131d7fb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-password-contains-pile-of-poo</title>
+<map name=foo><area href="http://foo:💩@example.com" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..6404378f3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-username-contains-at-sign</title>
+<map name=foo><area href="http://::@c@d:2" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..ecbd4bffb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/href/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-username-contains-pile-of-poo</title>
+<map name=foo><area href="http://💩:foo@example.com" alt></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/media-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/media-novalid.html
new file mode 100644
index 000000000..c88391e4e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/media-novalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>area element with "media" attribute</title>
+<map name=foo><area media=all></map>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/model-isvalid.html
new file mode 100644
index 000000000..6f4504fc8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/model-isvalid.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;area&gt;</title>
+</head>
+<body>
+ <map id='foo' name='foo'>
+ <p>p
+ <!-- default -->
+ <area alt="text" shape="default" href='url'>
+
+ <!-- rect -->
+ <area alt="text" shape="rect" coords="-01,2,3,4" href="url">
+ <area alt="text" shape="rect" coords="1,2,3,4" href="url">
+ <area alt="text" coords="1,-24,388,45" href="url">
+ <area alt="text" coords="1,2,3,4" href="url">
+
+ <!-- circle -->
+ <area alt="text" shape="circle" coords="01,-223,32" href="url">
+ <area alt="text" shape="circle" coords="1,2,3" href="url">
+
+ <!-- poly -->
+ <area alt="text" shape="poly" coords="01,223,42,-35,94,-94" href="url">
+ <area alt="text" shape="poly" coords="01,223,42,35,94,94,003,2" href="url">
+ <area alt="text" shape="poly" coords="-1,2,3,4,5,6,7,8,9,10" href="url">
+ </p>
+ </map>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/area/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/area/model-novalid.html
new file mode 100644
index 000000000..921ac4494
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/area/model-novalid.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;area&gt;</title>
+</head>
+<body>
+ <map name="map1">
+ <!-- default has no coords -->
+ <area alt="text" shape="default" coords="1,2">
+
+ <!-- rect, circle, poly must have coords -->
+ <area alt="text" shape="rect">
+ <area alt="text" shape="circle">
+ <area alt="text" shape="poly">
+
+ <!-- rect must have four coords -->
+ <area alt="text" shape="rect" coords="1,2,3">
+ <area alt="text" shape="rect" coords=" 1 , 2 , 3 , 4 , 5, 6">
+ <area alt="text" coords="1,2,3,4,5,6">
+ <area alt="text" coords=" 1 , 2 , 3 , 4 ,">
+
+ <!-- circle must have three coords -->
+ <area alt="text" shape="circle" coords="1,2">
+ <area alt="text" shape="circle" coords=" 1 , 2 , 3 , 4 ">
+
+ <!-- poly must have coords in pairs, and at least 3 sets -->
+ <area alt="text" shape="poly" coords="1,2,3,4,5">
+ <area alt="text" shape="poly" coords="1,2,3,4,5,6,7,">
+ <area alt="text" shape="poly" coords=" 1 , 2 , 3 ,4 ,5,
+ 6 ,7 ,8, ,9 ">
+
+ <!-- coords must be int or percent, +/- allowed -->
+ <area alt="text" shape="rect" coords="1.5,2,3,4">
+ <area alt="text" shape="rect" coords="1,2px,3,4">
+ <area alt="text" shape="rect" coords="1 %,2,3,4">
+ <area alt="text" shape="rect" coords="1,- 2,3,4">
+ <area alt="text" shape="rect" coords="1, 2,+ 3,4">
+
+ <area alt="text" shape="circle" coords="1.5,2,3">
+ <area alt="text" shape="circle" coords="1,2px,3">
+ <area alt="text" shape="circle" coords="1 %,2,3">
+ <area alt="text" shape="circle" coords="1,- 2,3">
+ <area alt="text" shape="circle" coords="1, 2,+ 3">
+
+ <area alt="text" shape="poly" coords="5,6,1.5,2,3,4">
+ <area alt="text" shape="poly" coords="5,6,1,2px,3,4">
+ <area alt="text" shape="poly" coords="5,6,1 %,2,3,4">
+ <area alt="text" shape="poly" coords="5,6,1,- 2,3,4">
+ <area alt="text" shape="poly" coords="5,6,1, 2,+ 3,4">
+ </map>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/model-isvalid.html
new file mode 100644
index 000000000..6588326bd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/model-isvalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>audio with flow content and flow parent</title>
+<div><audio><p>foo</p></audio></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/model-novalid.html
new file mode 100644
index 000000000..0c3d590c6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/model-novalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>audio with flow content and phrasing parent</title>
+<span><audio><p>foo</p></audio></span>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src-empty-novalid.html
new file mode 100644
index 000000000..96deecbb6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty audio src is not valid</title>
+<audio src=""></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src-isvalid.html
new file mode 100644
index 000000000..c13d03b61
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid src</title>
+<audio src="file:///"></audio><!-- scheme-file-slash-slash-slash-only -->
+<audio src="http://a:@www.example.com"></audio><!-- userinfo-password-empty -->
+<audio src="foo://///////"></audio><!-- scheme-private-path-leading-slashes-only -->
+<audio src="file://abc|/foo/bar"></audio><!-- scheme-file-slash-slash-abc-bar -->
+<audio src="/a/b/c"></audio><!-- path-simple-relative -->
+<audio src="http://example.com/你好你好"></audio><!-- path-unicode-han -->
+<audio src="/a/%2f/c"></audio><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<audio src="http://f:/c"></audio><!-- port-none-but-colon -->
+<audio src="http://example.com/foo%41%7a"></audio><!-- path-percent-encoded-multiple -->
+<audio src="http://192.168.0.257/"></audio><!-- host-IP-address-broken -->
+<audio src="madeupscheme:example.com/"></audio><!-- scheme-private-no-slash -->
+<audio src="?"></audio><!-- query-empty-no-path-relative -->
+<audio src="http://example.com/%20foo"></audio><!-- path-percent-encoded-space -->
+<audio src="mailto:/example.com/"></audio><!-- scheme-mailto-single-slash -->
+<audio src="::"></audio><!-- path-leading-colon-colon-relative -->
+<audio src="http://example.com/%3A%3a%3C%3c"></audio><!-- path-percent-encoded-mixed-case -->
+<audio src="http://user:pass@foo:21/bar;par?b#c"></audio><!-- userinfo -->
+<audio src="ws:/example.com/"></audio><!-- scheme-ws-single-slash -->
+<audio src="foo://"></audio><!-- scheme-private-slash-slash -->
+<audio src="#"></audio><!-- fragment-empty-hash-only-no-path-relative -->
+<audio src="http://f:00000000000000/c"></audio><!-- port-00000000000000 -->
+<audio src="foo:////://///"></audio><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<audio src=":23"></audio><!-- path-leading-colon-number-relative -->
+<audio src="foo:/"></audio><!-- scheme-private-slash -->
+<audio src="http://💩"></audio><!-- host-is-pile-of-poo -->
+<audio src="file:test"></audio><!-- scheme-file-no-slash -->
+<audio src="file://C|/foo/bar"></audio><!-- scheme-file-slash-slash-c-bar -->
+<audio src="#/"></audio><!-- fragment-slash-relative -->
+<audio src="http://192.0x00A80001"></audio><!-- host-192.0x00A80001 -->
+<audio src="foo.com"></audio><!-- scheme-none-relative -->
+<audio src="http💩//:foo"></audio><!-- path-contains-pile-of-poo -->
+<audio src="File://foo/bar.html"></audio><!-- scheme-file-uppercase -->
+<audio src=":/"></audio><!-- path-leading-colon-slash-relative -->
+<audio src="http://www.foo。bar.com"></audio><!-- host-exotic-dot -->
+<audio src="http://GOO​⁠goo.com"></audio><!-- host-exotic-whitespace -->
+<audio src="file:///foo/bar.txt"></audio><!-- scheme-file-host-empty -->
+<audio src="javascript:/example.com/"></audio><!-- scheme-javascript-single-slash -->
+<audio src="gopher:/example.com/"></audio><!-- scheme-gopher-single-slash -->
+<audio src="ftps:example.com/"></audio><!-- scheme-ftps-no-slash -->
+<audio src="file://server/foo/bar"></audio><!-- scheme-file-host-included -->
+<audio src="http://example.com/foo%00"></audio><!-- path-percent-encoded-u0000 -->
+<audio src="a:foo.com"></audio><!-- scheme-private -->
+<audio src=":"></audio><!-- path-colon-relative -->
+<audio src="http://:b@www.example.com"></audio><!-- userinfo-user-empty -->
+<audio src="file:/"></audio><!-- scheme-file-slash-only -->
+<audio src="wss:example.com/"></audio><!-- scheme-wss-no-slash -->
+<audio src="::23"></audio><!-- path-colon-colon-number-relative -->
+<audio src="/a%2fc"></audio><!-- path-percent-encoded-slash-relative -->
+<audio src="http://a:b@c:29/d"></audio><!-- userinfo-host-port-path -->
+<audio src="gopher:example.com/"></audio><!-- scheme-gopher-no-slash -->
+<audio src="madeupscheme:/example.com/"></audio><!-- scheme-private-single-slash -->
+<audio src="mailto:example.com/"></audio><!-- scheme-mailto-no-slash -->
+<audio src="http://%25DOMAIN:foobar@foodomain.com"></audio><!-- userinfo-username-contains-percent-encoded -->
+<audio src="/:23"></audio><!-- path-slash-colon-number-relative -->
+<audio src="foo://///////bar.com/"></audio><!-- scheme-private-path-leading-slashes-chars -->
+<audio src="http://[2001::1]:80"></audio><!-- host-ipv6-port -->
+<audio src="data:text/plain,foo"></audio><!-- scheme-data-no-slash -->
+<audio src="http://example.com/foo/%2e"></audio><!-- path-percent-encoded-dot -->
+<audio src="file:/example.com/"></audio><!-- scheme-file-single-slash -->
+<audio src="http://example.com/©zbar"></audio><!-- path-non-ascii -->
+<audio src="http://example.com//foo"></audio><!-- path-uFEFF -->
+<audio src="wss:/example.com/"></audio><!-- scheme-wss-single-slash -->
+<audio src="http://foo/abcd#foo?bar"></audio><!-- fragment-contains-question-mark -->
+<audio src=":#"></audio><!-- path-leading-colon-hash-relative -->
+<audio src="http://example.com/foo%91"></audio><!-- path-percent-encoded-u0091 -->
+<audio src="c:/foo"></audio><!-- scheme-private-single-letter -->
+<audio src=":foo.com"></audio><!-- path-leading-colon-chars-relative -->
+<audio src="http://你好你好"></audio><!-- host-idn-unicode-han -->
+<audio src="http://example.com/foo#💩"></audio><!-- fragment-contains-pile-of-poo -->
+<audio src="file:"></audio><!-- scheme-file-scheme-only -->
+<audio src="#β"></audio><!-- fragment-non-ascii-relative -->
+<audio src="foo:/bar.com/"></audio><!-- scheme-private-path -->
+<audio src="http://f:0/c"></audio><!-- port-0 -->
+<audio src="#;?"></audio><!-- fragment-semicolon-question-mark-relative -->
+<audio src="http://Go.com"></audio><!-- host-fullwidth -->
+<audio src="http://@www.example.com"></audio><!-- userinfo-empty -->
+<audio src="http://example.com/‮/foo/‭/bar"></audio><!-- path-u202E-u202D -->
+<audio src="http://[2001::1]"></audio><!-- host-ipv6 -->
+<audio src="💩http://foo"></audio><!-- path-starts-with-pile-of-poo -->
+<audio src="http://foo/abcd?efgh?ijkl"></audio><!-- query-contains-question-mark -->
+<audio src="//foo/bar"></audio><!-- scheme-schemeless-relative -->
+<audio src="ftps:/example.com/"></audio><!-- scheme-ftps-single-slash -->
+<audio src="http://foo.com:b@d/"></audio><!-- userinfo-username-non-alpha -->
+<audio src=":a"></audio><!-- path-leading-colon-letter-relative -->
+<audio src="/"></audio><!-- path-slash-only-relative -->
+<audio src="http://example.com/foo?💩"></audio><!-- query-contains-pile-of-poo -->
+<audio src="http://f:00000000000000000000080/c"></audio><!-- port-00000000000000000000080 -->
+<audio src="file://"></audio><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src-whitespace-only-novalid.html
new file mode 100644
index 000000000..73508d334
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty audio src is not valid</title>
+<audio src="
+"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/fragment-backslash-novalid.html
new file mode 100644
index 000000000..7c18367b5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-backslash</title>
+<audio src="#\"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..aed50092d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-contains-hash</title>
+<audio src="http://foo/path#f#g"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..98ed32230
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-leading-space</title>
+<audio src="http://f:21/b# e"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-cr-novalid.html
new file mode 100644
index 000000000..2e585b927
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-cr</title>
+<audio src="http://example. org"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..4cb4a9acf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded</title>
+<audio src="http://%41.com"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..856db00f6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded-percent-encoded</title>
+<audio src="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-empty-novalid.html
new file mode 100644
index 000000000..e10355480
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty</title>
+<audio src="http://"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..49b2e028c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-userinfo-empty</title>
+<audio src="http://@/www.example.com"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..c1b63d760
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-with-userinfo</title>
+<audio src="http://user:pass@/"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..11a047f37
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-hostname-in-brackets</title>
+<audio src="http://[www.google.com]/"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..75195b59c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode</title>
+<audio src="http://﷐zyx.com"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..afcc32114
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode-percent-encoded</title>
+<audio src="http://%ef%b7%90zyx.com"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-newline-novalid.html
new file mode 100644
index 000000000..511ca1471
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-newline</title>
+<audio src="http://example.
+org"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-space-novalid.html
new file mode 100644
index 000000000..b7cd4ed45
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-space</title>
+<audio src="http://example .org"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..0455fffea
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-square-brackets-port-contains-colon</title>
+<audio src="http://[1::2]:3:4"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-tab-novalid.html
new file mode 100644
index 000000000..518010071
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-tab</title>
+<audio src="http://example .org"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..04fab6d15
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded</title>
+<audio src="http://%00.com"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..b9cc63cb5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded-percent-encoded</title>
+<audio src="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..2ee3f0937
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-bare-percent-sign</title>
+<audio src="http://example.com/foo%"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-contains-space-novalid.html
new file mode 100644
index 000000000..8def346ca
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-contains-space</title>
+<audio src="/a/ /c"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..56ee35351
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-backslash-at-sign</title>
+<audio src="http://foo.com/\@"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..edc0cbfa7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-backslash</title>
+<audio src=":\"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..3f6aa0319
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-chars-backslash</title>
+<audio src=":foo.com\"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-leading-space-novalid.html
new file mode 100644
index 000000000..9a512c35e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-space</title>
+<audio src="http://f:21/ b"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..d84fd0c3b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-percent-encoded-malformed</title>
+<audio src="http://example.com/foo/%2e%2"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..3efbb56b3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-relative-square-brackets</title>
+<audio src="[61:24:74]:98"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-tab-novalid.html
new file mode 100644
index 000000000..1e368d117
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-tab</title>
+<audio src="http://example.com/foo bar"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-trailing-space-novalid.html
new file mode 100644
index 000000000..9751a76b8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-trailing-space</title>
+<audio src="http://f:21/b ?"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-u0091-novalid.html
new file mode 100644
index 000000000..453e2095f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-u0091</title>
+<audio src="http://example.com/foo‘"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-999999-novalid.html
new file mode 100644
index 000000000..76b70598e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-999999</title>
+<audio src="http://f:999999/c"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-cr-novalid.html
new file mode 100644
index 000000000..26ac72f8a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-cr</title>
+<audio src="http://f: /c"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..c8a549b4e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon-bracket-colon</title>
+<audio src="http://2001::1]:80"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-leading-colon-novalid.html
new file mode 100644
index 000000000..836a94eb7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon</title>
+<audio src="http://2001::1"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-leading-dash-novalid.html
new file mode 100644
index 000000000..822e666a7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-dash</title>
+<audio src="http://foo:-80/"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..55b0a0c50
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-multiple-letters</title>
+<audio src="http://f:fifty-two/c"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-newline-novalid.html
new file mode 100644
index 000000000..e9a34b0ee
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-newline</title>
+<audio src="http://f:
+/c"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-single-letter-novalid.html
new file mode 100644
index 000000000..5f7f44ef3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-single-letter</title>
+<audio src="http://f:b/c"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-space-novalid.html
new file mode 100644
index 000000000..a931754b8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-space</title>
+<audio src="http://f: /c"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-tab-novalid.html
new file mode 100644
index 000000000..80c169a68
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-tab</title>
+<audio src="http://f: /c"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/query-leading-space-novalid.html
new file mode 100644
index 000000000..76bab5cc9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-leading-space</title>
+<audio src="http://f:21/b? d"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/query-trailing-space-novalid.html
new file mode 100644
index 000000000..009d50449
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-trailing-space</title>
+<audio src="http://f:21/b?d #"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..d96f8742f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/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>
+<audio src="data:text/html,test#test"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..693bd23c9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-data-single-slash</title>
+<audio src="data:/example.com/"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..a84f17e15
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-backslash</title>
+<audio src="file:c:\foo\bar.html"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..473c5219f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-single-slash-c-bar</title>
+<audio src="file:/C|/foo/bar"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..941f34e21
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-triple-slash-c-bar</title>
+<audio src="file:///C|/foo/bar"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..9798091d4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-no-slash</title>
+<audio src="ftp:example.com/"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..fa86c3a48
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-single-slash</title>
+<audio src="ftp:/example.com/"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..5a9d6a89f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-backslash</title>
+<audio src="http:\\foo.com\"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..bb71cdeed
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-colon</title>
+<audio src="http::@c:29"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..7f795d50f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash</title>
+<audio src="http:foo.com"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..ed81ac62c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-square-bracket</title>
+<audio src="http:[61:27]/:foo"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..51b819644
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-single-slash</title>
+<audio src="http:/example.com/"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..8f67ab00f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-no-slash</title>
+<audio src="https:example.com/"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..be23c7b20
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-single-slash</title>
+<audio src="https:/example.com/"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..7d37b16af
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-javascript-no-slash-malformed</title>
+<audio src="javascript:example.com/"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..3e40e8a83
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-cr</title>
+<audio src="a: foo.com"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..79e9dd14f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-newline</title>
+<audio src="a:
+foo.com"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..b09f7aad8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-space</title>
+<audio src="a: foo.com"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..2f6137be5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-tab</title>
+<audio src="a: foo.com"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..0b95aa979
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-backslash</title>
+<audio src="http://a\b:c\d@foo.com"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..c2823588c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-bad-chars</title>
+<audio src="http://&a:foo(b]c@d:2/"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..f8039e76b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-contains-pile-of-poo</title>
+<audio src="http://foo:💩@example.com"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..f50b2b25f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-at-sign</title>
+<audio src="http://::@c@d:2"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..fa769f894
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/audio/src/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-pile-of-poo</title>
+<audio src="http://💩:foo@example.com"></audio>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href-and-target-missing-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href-and-target-missing-novalid.html
new file mode 100644
index 000000000..32085fc8d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href-and-target-missing-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta charset=utf-8>
+<base>
+<title>base element missing href and target attribute</title>
+</head>
+<body>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href-empty-isvalid.html
new file mode 100644
index 000000000..c3b766dfd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty href is valid</title>
+<base href="">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-backslash-novalid.html
new file mode 100644
index 000000000..6528b43ce
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-backslash</title>
+<base href="#\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..b5079588a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-contains-hash</title>
+<base href="http://foo/path#f#g">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-pile-of-poo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-pile-of-poo-isvalid.html
new file mode 100644
index 000000000..2ac59a318
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-pile-of-poo-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: fragment-contains-pile-of-poo</title>
+<base href="http://example.com/foo#💩">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-question-mark-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-question-mark-isvalid.html
new file mode 100644
index 000000000..7c0479125
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-contains-question-mark-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: fragment-contains-question-mark</title>
+<base href="http://foo/abcd#foo?bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-empty-hash-only-no-path-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-empty-hash-only-no-path-relative-isvalid.html
new file mode 100644
index 000000000..3d0970066
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-empty-hash-only-no-path-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: fragment-empty-hash-only-no-path-relative</title>
+<base href="#">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..84150eadc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-leading-space</title>
+<base href="http://f:21/b# e">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-non-ascii-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-non-ascii-relative-isvalid.html
new file mode 100644
index 000000000..15858fde1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-non-ascii-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: fragment-non-ascii-relative</title>
+<base href="#β">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-semicolon-question-mark-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-semicolon-question-mark-relative-isvalid.html
new file mode 100644
index 000000000..68a838c8d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-semicolon-question-mark-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: fragment-semicolon-question-mark-relative</title>
+<base href="#;?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-slash-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-slash-relative-isvalid.html
new file mode 100644
index 000000000..7edb0b4ed
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/fragment-slash-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: fragment-slash-relative</title>
+<base href="#/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-192.0x00A80001-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-192.0x00A80001-isvalid.html
new file mode 100644
index 000000000..75de62fdc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-192.0x00A80001-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-192.0x00A80001</title>
+<base href="http://192.0x00A80001">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-broken-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-broken-isvalid.html
new file mode 100644
index 000000000..dc2e02080
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-broken-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-IP-address-broken</title>
+<base href="http://192.168.0.257/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-fullwidth-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-fullwidth-isvalid.html
new file mode 100644
index 000000000..64535576d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-fullwidth-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-IP-address-fullwidth</title>
+<base href="http://0Xc0.0250.01">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-percent-encoded-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-percent-encoded-isvalid.html
new file mode 100644
index 000000000..8a092380d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-IP-address-percent-encoded-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-IP-address-percent-encoded</title>
+<base href="http://%30%78%63%30%2e%30%32%35%30.01">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-cr-novalid.html
new file mode 100644
index 000000000..cb631459e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-cr</title>
+<base href="http://example. org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..fc44eee8a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-double-percent-encoded</title>
+<base href="http://%41.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..eaee5db8a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-double-percent-encoded-percent-encoded</title>
+<base href="http://%ef%bc%85%ef%bc%94%ef%bc%91.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-novalid.html
new file mode 100644
index 000000000..08ce416ef
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-empty</title>
+<base href="http://">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..d41591fab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-empty-userinfo-empty</title>
+<base href="http://@/www.example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..47941b723
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-empty-with-userinfo</title>
+<base href="http://user:pass@/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-exotic-dot-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-exotic-dot-isvalid.html
new file mode 100644
index 000000000..d0d1f0a1d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-exotic-dot-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-exotic-dot</title>
+<base href="http://www.foo。bar.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-exotic-whitespace-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-exotic-whitespace-isvalid.html
new file mode 100644
index 000000000..adcc57480
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-exotic-whitespace-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-exotic-whitespace</title>
+<base href="http://GOO​⁠goo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-fullwidth-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-fullwidth-isvalid.html
new file mode 100644
index 000000000..65108edd4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-fullwidth-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-fullwidth</title>
+<base href="http://Go.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..c25a1a3ff
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-hostname-in-brackets</title>
+<base href="http://[www.google.com]/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-idn-unicode-han-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-idn-unicode-han-isvalid.html
new file mode 100644
index 000000000..576badf53
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-idn-unicode-han-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-idn-unicode-han</title>
+<base href="http://你好你好">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..4b2069201
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-invalid-unicode</title>
+<base href="http://﷐zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..4533dbc88
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-invalid-unicode-percent-encoded</title>
+<base href="http://%ef%b7%90zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-ipv6-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-ipv6-isvalid.html
new file mode 100644
index 000000000..112eacd95
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-ipv6-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-ipv6</title>
+<base href="http://[2001::1]">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-ipv6-port-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-ipv6-port-isvalid.html
new file mode 100644
index 000000000..3495478c7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-ipv6-port-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-ipv6-port</title>
+<base href="http://[2001::1]:80">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-is-pile-of-poo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-is-pile-of-poo-isvalid.html
new file mode 100644
index 000000000..f286407a0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-is-pile-of-poo-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: host-is-pile-of-poo</title>
+<base href="http://💩">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-newline-novalid.html
new file mode 100644
index 000000000..44e53c36f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-newline</title>
+<base href="http://example.
+org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-space-novalid.html
new file mode 100644
index 000000000..4b02459e3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-space</title>
+<base href="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..1839ee268
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-square-brackets-port-contains-colon</title>
+<base href="http://[1::2]:3:4">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-tab-novalid.html
new file mode 100644
index 000000000..335d7c842
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-tab</title>
+<base href="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..94a232712
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-u0000-percent-encoded</title>
+<base href="http://%00.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..bc934e670
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-u0000-percent-encoded-percent-encoded</title>
+<base href="http://%ef%bc%85%ef%bc%90%ef%bc%90.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..819a99d53
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-bare-percent-sign</title>
+<base href="http://example.com/foo%">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-colon-colon-number-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-colon-colon-number-relative-isvalid.html
new file mode 100644
index 000000000..643b01f07
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-colon-colon-number-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-colon-colon-number-relative</title>
+<base href="::23">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-colon-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-colon-relative-isvalid.html
new file mode 100644
index 000000000..f1254de8d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-colon-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-colon-relative</title>
+<base href=":">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-contains-pile-of-poo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-contains-pile-of-poo-isvalid.html
new file mode 100644
index 000000000..f491b503f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-contains-pile-of-poo-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-contains-pile-of-poo</title>
+<base href="http💩//:foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-contains-space-novalid.html
new file mode 100644
index 000000000..87c76dd30
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-contains-space</title>
+<base href="/a/ /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..785ecad74
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-backslash-at-sign</title>
+<base href="http://foo.com/\@">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..1e61b71c3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-colon-backslash</title>
+<base href=":\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..5ae57974b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-colon-chars-backslash</title>
+<base href=":foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-relative-isvalid.html
new file mode 100644
index 000000000..11b94a6e1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-chars-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-leading-colon-chars-relative</title>
+<base href=":foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-colon-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-colon-relative-isvalid.html
new file mode 100644
index 000000000..0589f8ae2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-colon-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-leading-colon-colon-relative</title>
+<base href="::">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-hash-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-hash-relative-isvalid.html
new file mode 100644
index 000000000..7114dd5f5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-hash-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-leading-colon-hash-relative</title>
+<base href=":#">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-letter-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-letter-relative-isvalid.html
new file mode 100644
index 000000000..279c2ce4c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-letter-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-leading-colon-letter-relative</title>
+<base href=":a">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-number-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-number-relative-isvalid.html
new file mode 100644
index 000000000..c66670292
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-number-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-leading-colon-number-relative</title>
+<base href=":23">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-slash-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-slash-relative-isvalid.html
new file mode 100644
index 000000000..77ec3dd2d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-colon-slash-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-leading-colon-slash-relative</title>
+<base href=":/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-space-novalid.html
new file mode 100644
index 000000000..3a6cc2f33
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-space</title>
+<base href="http://f:21/ b">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-non-ascii-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-non-ascii-isvalid.html
new file mode 100644
index 000000000..e9d396b02
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-non-ascii-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-non-ascii</title>
+<base href="http://example.com/©zbar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-dot-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-dot-isvalid.html
new file mode 100644
index 000000000..5921992d4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-dot-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-percent-encoded-dot</title>
+<base href="http://example.com/foo/%2e">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..c9cfe2328
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-percent-encoded-malformed</title>
+<base href="http://example.com/foo/%2e%2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-mixed-case-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-mixed-case-isvalid.html
new file mode 100644
index 000000000..677a564ba
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-mixed-case-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-percent-encoded-mixed-case</title>
+<base href="http://example.com/%3A%3a%3C%3c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-multiple-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-multiple-isvalid.html
new file mode 100644
index 000000000..75a512bab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-multiple-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-percent-encoded-multiple</title>
+<base href="http://example.com/foo%41%7a">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-plus-slashes-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-plus-slashes-relative-isvalid.html
new file mode 100644
index 000000000..f5ed17b90
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-plus-slashes-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-percent-encoded-slash-plus-slashes-relative</title>
+<base href="/a/%2f/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-relative-isvalid.html
new file mode 100644
index 000000000..79e89e3ab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-slash-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-percent-encoded-slash-relative</title>
+<base href="/a%2fc">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-space-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-space-isvalid.html
new file mode 100644
index 000000000..cc9b8b850
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-space-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-percent-encoded-space</title>
+<base href="http://example.com/%20foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0000-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0000-isvalid.html
new file mode 100644
index 000000000..515a7528e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0000-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-percent-encoded-u0000</title>
+<base href="http://example.com/foo%00">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0091-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0091-isvalid.html
new file mode 100644
index 000000000..16cec3605
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-percent-encoded-u0091-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-percent-encoded-u0091</title>
+<base href="http://example.com/foo%91">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..79af6ae6f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-relative-square-brackets</title>
+<base href="[61:24:74]:98">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-simple-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-simple-relative-isvalid.html
new file mode 100644
index 000000000..7e4c99fab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-simple-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-simple-relative</title>
+<base href="/a/b/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-slash-colon-number-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-slash-colon-number-relative-isvalid.html
new file mode 100644
index 000000000..3834395ce
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-slash-colon-number-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-slash-colon-number-relative</title>
+<base href="/:23">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-slash-only-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-slash-only-relative-isvalid.html
new file mode 100644
index 000000000..83a89c09a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-slash-only-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-slash-only-relative</title>
+<base href="/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-starts-with-pile-of-poo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-starts-with-pile-of-poo-isvalid.html
new file mode 100644
index 000000000..204b8b096
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-starts-with-pile-of-poo-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-starts-with-pile-of-poo</title>
+<base href="💩http://foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-tab-novalid.html
new file mode 100644
index 000000000..21f8b6e5d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-tab</title>
+<base href="http://example.com/foo bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-trailing-space-novalid.html
new file mode 100644
index 000000000..3a24cb6e4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-trailing-space</title>
+<base href="http://f:21/b ?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-u0091-novalid.html
new file mode 100644
index 000000000..78383c870
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-u0091</title>
+<base href="http://example.com/foo‘">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-u202E-u202D-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-u202E-u202D-isvalid.html
new file mode 100644
index 000000000..5d865b640
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-u202E-u202D-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-u202E-u202D</title>
+<base href="http://example.com/‮/foo/‭/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-uFEFF-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-uFEFF-isvalid.html
new file mode 100644
index 000000000..03c3a969f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-uFEFF-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-uFEFF</title>
+<base href="http://example.com//foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-unicode-han-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-unicode-han-isvalid.html
new file mode 100644
index 000000000..e6c290bc2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/path-unicode-han-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: path-unicode-han</title>
+<base href="http://example.com/你好你好">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-0-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-0-isvalid.html
new file mode 100644
index 000000000..6dd7298b5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-0-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: port-0</title>
+<base href="http://f:0/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-00000000000000-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-00000000000000-isvalid.html
new file mode 100644
index 000000000..314c8ad77
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-00000000000000-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: port-00000000000000</title>
+<base href="http://f:00000000000000/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-00000000000000000000080-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-00000000000000000000080-isvalid.html
new file mode 100644
index 000000000..34dd3d562
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-00000000000000000000080-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: port-00000000000000000000080</title>
+<base href="http://f:00000000000000000000080/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-999999-novalid.html
new file mode 100644
index 000000000..95393fab2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-999999</title>
+<base href="http://f:999999/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-cr-novalid.html
new file mode 100644
index 000000000..e5fe6bf68
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-cr</title>
+<base href="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..3bc673fe6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-leading-colon-bracket-colon</title>
+<base href="http://2001::1]:80">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-colon-novalid.html
new file mode 100644
index 000000000..c526a758f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-leading-colon</title>
+<base href="http://2001::1">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-dash-novalid.html
new file mode 100644
index 000000000..2270e65c9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-leading-dash</title>
+<base href="http://foo:-80/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..9d5ef7840
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-multiple-letters</title>
+<base href="http://f:fifty-two/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-newline-novalid.html
new file mode 100644
index 000000000..bef3487e4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-newline</title>
+<base href="http://f:
+/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-none-but-colon-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-none-but-colon-isvalid.html
new file mode 100644
index 000000000..4307c492c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-none-but-colon-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: port-none-but-colon</title>
+<base href="http://f:/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-single-letter-novalid.html
new file mode 100644
index 000000000..8daa066d6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-single-letter</title>
+<base href="http://f:b/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-space-novalid.html
new file mode 100644
index 000000000..77a3d5762
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-space</title>
+<base href="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-tab-novalid.html
new file mode 100644
index 000000000..e14664a74
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-tab</title>
+<base href="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-contains-pile-of-poo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-contains-pile-of-poo-isvalid.html
new file mode 100644
index 000000000..7ea7f4108
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-contains-pile-of-poo-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: query-contains-pile-of-poo</title>
+<base href="http://example.com/foo?💩">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-contains-question-mark-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-contains-question-mark-isvalid.html
new file mode 100644
index 000000000..f78635c4e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-contains-question-mark-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: query-contains-question-mark</title>
+<base href="http://foo/abcd?efgh?ijkl">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-empty-no-path-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-empty-no-path-relative-isvalid.html
new file mode 100644
index 000000000..82b66f064
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-empty-no-path-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: query-empty-no-path-relative</title>
+<base href="?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-leading-space-novalid.html
new file mode 100644
index 000000000..d26d8e196
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: query-leading-space</title>
+<base href="http://f:21/b? d">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-trailing-space-novalid.html
new file mode 100644
index 000000000..d099a9f0e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: query-trailing-space</title>
+<base href="http://f:21/b?d #">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..a1e740045
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>href warning: scheme-data-contains-fragment</title>
+<base href="data:text/html,test#test">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-no-slash-isvalid.html
new file mode 100644
index 000000000..e13d2677b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-no-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-data-no-slash</title>
+<base href="data:text/plain,foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..1f938779a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-data-single-slash</title>
+<base href="data:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..fda3e3d03
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-file-backslash</title>
+<base href="file:c:\foo\bar.html">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-host-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-host-empty-isvalid.html
new file mode 100644
index 000000000..a90aa6c71
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-host-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-host-empty</title>
+<base href="file:///foo/bar.txt">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-host-included-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-host-included-isvalid.html
new file mode 100644
index 000000000..322773e2e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-host-included-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-host-included</title>
+<base href="file://server/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-no-slash-isvalid.html
new file mode 100644
index 000000000..3a31f957e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-no-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-no-slash</title>
+<base href="file:test">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-scheme-only-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-scheme-only-isvalid.html
new file mode 100644
index 000000000..af318cdd9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-scheme-only-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-scheme-only</title>
+<base href="file:">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..87d17ed6c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-file-single-slash-c-bar</title>
+<base href="file:/C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-isvalid.html
new file mode 100644
index 000000000..f67878f46
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-single-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-single-slash</title>
+<base href="file:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-only-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-only-isvalid.html
new file mode 100644
index 000000000..a8c329f33
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-only-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-slash-only</title>
+<base href="file:/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-abc-bar-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-abc-bar-isvalid.html
new file mode 100644
index 000000000..4537d8c19
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-abc-bar-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-slash-slash-abc-bar</title>
+<base href="file://abc|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-c-bar-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-c-bar-isvalid.html
new file mode 100644
index 000000000..4d96a67da
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-c-bar-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-slash-slash-c-bar</title>
+<base href="file://C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-only-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-only-isvalid.html
new file mode 100644
index 000000000..dcef904aa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-only-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-slash-slash-only</title>
+<base href="file://">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-slash-only-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-slash-only-isvalid.html
new file mode 100644
index 000000000..ffe97bb72
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-slash-slash-slash-only-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-slash-slash-slash-only</title>
+<base href="file:///">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..06b8933be
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-file-triple-slash-c-bar</title>
+<base href="file:///C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-uppercase-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-uppercase-isvalid.html
new file mode 100644
index 000000000..58bb4a479
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-file-uppercase-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-file-uppercase</title>
+<base href="File://foo/bar.html">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..49285d808
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-ftp-no-slash</title>
+<base href="ftp:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..7ff694c98
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-ftp-single-slash</title>
+<base href="ftp:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftps-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftps-no-slash-isvalid.html
new file mode 100644
index 000000000..bc0ac07fe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftps-no-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-ftps-no-slash</title>
+<base href="ftps:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftps-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftps-single-slash-isvalid.html
new file mode 100644
index 000000000..758a74e17
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ftps-single-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-ftps-single-slash</title>
+<base href="ftps:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-gopher-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-gopher-no-slash-isvalid.html
new file mode 100644
index 000000000..ec35f0abb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-gopher-no-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-gopher-no-slash</title>
+<base href="gopher:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-gopher-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-gopher-single-slash-isvalid.html
new file mode 100644
index 000000000..aa97811b3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-gopher-single-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-gopher-single-slash</title>
+<base href="gopher:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..5923cf1df
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-backslash</title>
+<base href="http:\\foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..8146e78bb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-no-slash-colon</title>
+<base href="http::@c:29">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..6084b413f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-no-slash</title>
+<base href="http:foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..21f612d8a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-no-slash-square-bracket</title>
+<base href="http:[61:27]/:foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..4684b7b2b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-single-slash</title>
+<base href="http:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..76c139dfd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-https-no-slash</title>
+<base href="https:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..49d14bcec
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-https-single-slash</title>
+<base href="https:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..16b4187b8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-javascript-no-slash-malformed</title>
+<base href="javascript:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-javascript-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-javascript-single-slash-isvalid.html
new file mode 100644
index 000000000..cb6b793bc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-javascript-single-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-javascript-single-slash</title>
+<base href="javascript:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-mailto-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-mailto-no-slash-isvalid.html
new file mode 100644
index 000000000..5c96deb16
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-mailto-no-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-mailto-no-slash</title>
+<base href="mailto:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-mailto-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-mailto-single-slash-isvalid.html
new file mode 100644
index 000000000..ca07ab15f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-mailto-single-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-mailto-single-slash</title>
+<base href="mailto:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-none-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-none-relative-isvalid.html
new file mode 100644
index 000000000..672de82fb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-none-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-none-relative</title>
+<base href="foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-isvalid.html
new file mode 100644
index 000000000..d565575b5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private</title>
+<base href="a:foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-no-slash-isvalid.html
new file mode 100644
index 000000000..207a8d6cb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-no-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-no-slash</title>
+<base href="madeupscheme:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-isvalid.html
new file mode 100644
index 000000000..8e0552b70
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-path</title>
+<base href="foo:/bar.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-chars-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-chars-isvalid.html
new file mode 100644
index 000000000..6fa812d78
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-chars-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-path-leading-slashes-chars</title>
+<base href="foo://///////bar.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-colon-slashes-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-colon-slashes-isvalid.html
new file mode 100644
index 000000000..3e5a44a00
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-colon-slashes-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-path-leading-slashes-colon-slashes</title>
+<base href="foo:////://///">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-only-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-only-isvalid.html
new file mode 100644
index 000000000..8d6c0c9f8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-path-leading-slashes-only-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-path-leading-slashes-only</title>
+<base href="foo://///////">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-single-letter-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-single-letter-isvalid.html
new file mode 100644
index 000000000..bc82b8b7f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-single-letter-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-single-letter</title>
+<base href="c:/foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-single-slash-isvalid.html
new file mode 100644
index 000000000..c3639a432
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-single-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-single-slash</title>
+<base href="madeupscheme:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-slash-isvalid.html
new file mode 100644
index 000000000..d56b355cf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-slash</title>
+<base href="foo:/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-slash-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-slash-slash-isvalid.html
new file mode 100644
index 000000000..39a6b25cf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-private-slash-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-private-slash-slash</title>
+<base href="foo://">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-schemeless-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-schemeless-relative-isvalid.html
new file mode 100644
index 000000000..d86d3f68c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-schemeless-relative-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-schemeless-relative</title>
+<base href="//foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..e6097e4f7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-cr</title>
+<base href="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..acc6c91ff
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-newline</title>
+<base href="a:
+foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..c03abd547
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-space</title>
+<base href="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..0e1f91bce
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-tab</title>
+<base href="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ws-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ws-single-slash-isvalid.html
new file mode 100644
index 000000000..63e24e9b6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-ws-single-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-ws-single-slash</title>
+<base href="ws:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-wss-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-wss-no-slash-isvalid.html
new file mode 100644
index 000000000..2c4e88c3a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-wss-no-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-wss-no-slash</title>
+<base href="wss:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-wss-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-wss-single-slash-isvalid.html
new file mode 100644
index 000000000..a2b2b6fd5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/scheme-wss-single-slash-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: scheme-wss-single-slash</title>
+<base href="wss:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..99a6d7207
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-backslash</title>
+<base href="http://a\b:c\d@foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-empty-isvalid.html
new file mode 100644
index 000000000..8f641cf94
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: userinfo-empty</title>
+<base href="http://@www.example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-host-port-path-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-host-port-path-isvalid.html
new file mode 100644
index 000000000..e28a20b51
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-host-port-path-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: userinfo-host-port-path</title>
+<base href="http://a:b@c:29/d">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-isvalid.html
new file mode 100644
index 000000000..6f1d9eaea
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: userinfo</title>
+<base href="http://user:pass@foo:21/bar;par?b#c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..31a68b170
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-password-bad-chars</title>
+<base href="http://&a:foo(b]c@d:2/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..0fa8f0505
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-password-contains-pile-of-poo</title>
+<base href="http://foo:💩@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-empty-isvalid.html
new file mode 100644
index 000000000..cedf7ae3b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-password-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: userinfo-password-empty</title>
+<base href="http://a:@www.example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-user-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-user-empty-isvalid.html
new file mode 100644
index 000000000..b6f323d2d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-user-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: userinfo-user-empty</title>
+<base href="http://:b@www.example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..c3a16ce86
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-username-contains-at-sign</title>
+<base href="http://::@c@d:2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-percent-encoded-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-percent-encoded-isvalid.html
new file mode 100644
index 000000000..2c2dfebd2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-percent-encoded-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: userinfo-username-contains-percent-encoded</title>
+<base href="http://%25DOMAIN:foobar@foodomain.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..0ff54c4c9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-username-contains-pile-of-poo</title>
+<base href="http://💩:foo@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-non-alpha-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-non-alpha-isvalid.html
new file mode 100644
index 000000000..f75070337
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/base/href/userinfo-username-non-alpha-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href: userinfo-username-non-alpha</title>
+<base href="http://foo.com:b@d/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/bdo/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/bdo/model-isvalid.html
new file mode 100644
index 000000000..17a9d2c97
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/bdo/model-isvalid.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;bdo&gt;</title>
+</head>
+<body>
+ <!-- is structured inline; requires 'dir', test all attrs -->
+ <p><bdo dir="ltr"
+ lang="en"
+ style=""
+ class="class"
+ id="foo">text</bdo></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><bdo dir="ltr" class="class" lang="en">text</bdo></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <bdo dir="ltr"></bdo></p>
+ <p>text <dfn><bdo dir="ltr"></bdo></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><bdo dir="ltr"><a>text</a></bdo></p>
+ <p><dfn><bdo dir="ltr"><a>text</a></bdo></dfn></p>
+
+ <!-- cannot contain structured inline -->
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/bdo/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/bdo/model-novalid.html
new file mode 100644
index 000000000..5dee57cf7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/bdo/model-novalid.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;bdo&gt;</title>
+</head>
+<body>
+ <!-- not a block -->
+ <bdo dir="ltr">text</bdo>
+
+ <!-- 'dir' attribute required -->
+ <p><bdo>text</bdo></p>
+
+ <!-- cannot contain structured inline -->
+ <p><bdo dir="ltr"><ul><li>text</li></ul></bdo></p>
+
+ <!-- cannot contain interactive if parent forbids interactive -->
+ <p><a><bdo dir="ltr"><a>text</a></bdo></a></p>
+ <p><a><dfn><bdo dir="ltr"><a>text</a></bdo></dfn></a></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite-empty-isvalid.html
new file mode 100644
index 000000000..698d8634a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty cite is valid</title>
+<blockquote cite=""></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite-isvalid.html
new file mode 100644
index 000000000..03d498272
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid cite</title>
+<blockquote cite="file:///"></blockquote><!-- scheme-file-slash-slash-slash-only -->
+<blockquote cite="http://a:@www.example.com"></blockquote><!-- userinfo-password-empty -->
+<blockquote cite="foo://///////"></blockquote><!-- scheme-private-path-leading-slashes-only -->
+<blockquote cite="file://abc|/foo/bar"></blockquote><!-- scheme-file-slash-slash-abc-bar -->
+<blockquote cite="/a/b/c"></blockquote><!-- path-simple-relative -->
+<blockquote cite="http://example.com/你好你好"></blockquote><!-- path-unicode-han -->
+<blockquote cite="/a/%2f/c"></blockquote><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<blockquote cite="http://f:/c"></blockquote><!-- port-none-but-colon -->
+<blockquote cite="http://example.com/foo%41%7a"></blockquote><!-- path-percent-encoded-multiple -->
+<blockquote cite="http://192.168.0.257/"></blockquote><!-- host-IP-address-broken -->
+<blockquote cite="madeupscheme:example.com/"></blockquote><!-- scheme-private-no-slash -->
+<blockquote cite="?"></blockquote><!-- query-empty-no-path-relative -->
+<blockquote cite="http://example.com/%20foo"></blockquote><!-- path-percent-encoded-space -->
+<blockquote cite="mailto:/example.com/"></blockquote><!-- scheme-mailto-single-slash -->
+<blockquote cite="::"></blockquote><!-- path-leading-colon-colon-relative -->
+<blockquote cite="http://example.com/%3A%3a%3C%3c"></blockquote><!-- path-percent-encoded-mixed-case -->
+<blockquote cite="http://user:pass@foo:21/bar;par?b#c"></blockquote><!-- userinfo -->
+<blockquote cite="ws:/example.com/"></blockquote><!-- scheme-ws-single-slash -->
+<blockquote cite="foo://"></blockquote><!-- scheme-private-slash-slash -->
+<blockquote cite="#"></blockquote><!-- fragment-empty-hash-only-no-path-relative -->
+<blockquote cite="http://f:00000000000000/c"></blockquote><!-- port-00000000000000 -->
+<blockquote cite="foo:////://///"></blockquote><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<blockquote cite=":23"></blockquote><!-- path-leading-colon-number-relative -->
+<blockquote cite="foo:/"></blockquote><!-- scheme-private-slash -->
+<blockquote cite="http://💩"></blockquote><!-- host-is-pile-of-poo -->
+<blockquote cite="file:test"></blockquote><!-- scheme-file-no-slash -->
+<blockquote cite="file://C|/foo/bar"></blockquote><!-- scheme-file-slash-slash-c-bar -->
+<blockquote cite="#/"></blockquote><!-- fragment-slash-relative -->
+<blockquote cite="http://192.0x00A80001"></blockquote><!-- host-192.0x00A80001 -->
+<blockquote cite="foo.com"></blockquote><!-- scheme-none-relative -->
+<blockquote cite="http💩//:foo"></blockquote><!-- path-contains-pile-of-poo -->
+<blockquote cite="File://foo/bar.html"></blockquote><!-- scheme-file-uppercase -->
+<blockquote cite=":/"></blockquote><!-- path-leading-colon-slash-relative -->
+<blockquote cite="http://www.foo。bar.com"></blockquote><!-- host-exotic-dot -->
+<blockquote cite="http://GOO​⁠goo.com"></blockquote><!-- host-exotic-whitespace -->
+<blockquote cite="file:///foo/bar.txt"></blockquote><!-- scheme-file-host-empty -->
+<blockquote cite="javascript:/example.com/"></blockquote><!-- scheme-javascript-single-slash -->
+<blockquote cite="gopher:/example.com/"></blockquote><!-- scheme-gopher-single-slash -->
+<blockquote cite="ftps:example.com/"></blockquote><!-- scheme-ftps-no-slash -->
+<blockquote cite="file://server/foo/bar"></blockquote><!-- scheme-file-host-included -->
+<blockquote cite="http://example.com/foo%00"></blockquote><!-- path-percent-encoded-u0000 -->
+<blockquote cite="a:foo.com"></blockquote><!-- scheme-private -->
+<blockquote cite=":"></blockquote><!-- path-colon-relative -->
+<blockquote cite="http://:b@www.example.com"></blockquote><!-- userinfo-user-empty -->
+<blockquote cite="file:/"></blockquote><!-- scheme-file-slash-only -->
+<blockquote cite="wss:example.com/"></blockquote><!-- scheme-wss-no-slash -->
+<blockquote cite="::23"></blockquote><!-- path-colon-colon-number-relative -->
+<blockquote cite="/a%2fc"></blockquote><!-- path-percent-encoded-slash-relative -->
+<blockquote cite="http://a:b@c:29/d"></blockquote><!-- userinfo-host-port-path -->
+<blockquote cite="gopher:example.com/"></blockquote><!-- scheme-gopher-no-slash -->
+<blockquote cite="madeupscheme:/example.com/"></blockquote><!-- scheme-private-single-slash -->
+<blockquote cite="mailto:example.com/"></blockquote><!-- scheme-mailto-no-slash -->
+<blockquote cite="http://%25DOMAIN:foobar@foodomain.com"></blockquote><!-- userinfo-username-contains-percent-encoded -->
+<blockquote cite="/:23"></blockquote><!-- path-slash-colon-number-relative -->
+<blockquote cite="foo://///////bar.com/"></blockquote><!-- scheme-private-path-leading-slashes-chars -->
+<blockquote cite="http://[2001::1]:80"></blockquote><!-- host-ipv6-port -->
+<blockquote cite="data:text/plain,foo"></blockquote><!-- scheme-data-no-slash -->
+<blockquote cite="http://example.com/foo/%2e"></blockquote><!-- path-percent-encoded-dot -->
+<blockquote cite="file:/example.com/"></blockquote><!-- scheme-file-single-slash -->
+<blockquote cite="http://example.com/©zbar"></blockquote><!-- path-non-ascii -->
+<blockquote cite="http://example.com//foo"></blockquote><!-- path-uFEFF -->
+<blockquote cite="wss:/example.com/"></blockquote><!-- scheme-wss-single-slash -->
+<blockquote cite="http://foo/abcd#foo?bar"></blockquote><!-- fragment-contains-question-mark -->
+<blockquote cite=":#"></blockquote><!-- path-leading-colon-hash-relative -->
+<blockquote cite="http://example.com/foo%91"></blockquote><!-- path-percent-encoded-u0091 -->
+<blockquote cite="c:/foo"></blockquote><!-- scheme-private-single-letter -->
+<blockquote cite=":foo.com"></blockquote><!-- path-leading-colon-chars-relative -->
+<blockquote cite="http://你好你好"></blockquote><!-- host-idn-unicode-han -->
+<blockquote cite="http://example.com/foo#💩"></blockquote><!-- fragment-contains-pile-of-poo -->
+<blockquote cite="file:"></blockquote><!-- scheme-file-scheme-only -->
+<blockquote cite="#β"></blockquote><!-- fragment-non-ascii-relative -->
+<blockquote cite="foo:/bar.com/"></blockquote><!-- scheme-private-path -->
+<blockquote cite="http://f:0/c"></blockquote><!-- port-0 -->
+<blockquote cite="#;?"></blockquote><!-- fragment-semicolon-question-mark-relative -->
+<blockquote cite="http://Go.com"></blockquote><!-- host-fullwidth -->
+<blockquote cite="http://@www.example.com"></blockquote><!-- userinfo-empty -->
+<blockquote cite="http://example.com/‮/foo/‭/bar"></blockquote><!-- path-u202E-u202D -->
+<blockquote cite="http://[2001::1]"></blockquote><!-- host-ipv6 -->
+<blockquote cite="💩http://foo"></blockquote><!-- path-starts-with-pile-of-poo -->
+<blockquote cite="http://foo/abcd?efgh?ijkl"></blockquote><!-- query-contains-question-mark -->
+<blockquote cite="//foo/bar"></blockquote><!-- scheme-schemeless-relative -->
+<blockquote cite="ftps:/example.com/"></blockquote><!-- scheme-ftps-single-slash -->
+<blockquote cite="http://foo.com:b@d/"></blockquote><!-- userinfo-username-non-alpha -->
+<blockquote cite=":a"></blockquote><!-- path-leading-colon-letter-relative -->
+<blockquote cite="/"></blockquote><!-- path-slash-only-relative -->
+<blockquote cite="http://example.com/foo?💩"></blockquote><!-- query-contains-pile-of-poo -->
+<blockquote cite="http://f:00000000000000000000080/c"></blockquote><!-- port-00000000000000000000080 -->
+<blockquote cite="file://"></blockquote><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/fragment-backslash-novalid.html
new file mode 100644
index 000000000..3d5470070
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: fragment-backslash</title>
+<blockquote cite="#\"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..d754a5f0e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: fragment-contains-hash</title>
+<blockquote cite="http://foo/path#f#g"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..d5943ed30
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: fragment-leading-space</title>
+<blockquote cite="http://f:21/b# e"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-cr-novalid.html
new file mode 100644
index 000000000..ca67dfd5d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-cr</title>
+<blockquote cite="http://example. org"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..9fd5b80a6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http://%41.com"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..b88dd6848
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-empty-novalid.html
new file mode 100644
index 000000000..d5745e8bb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-empty</title>
+<blockquote cite="http://"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..5cfe6d18a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http://@/www.example.com"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..c6b78986a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http://user:pass@/"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..f3fedf4ae
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http://[www.google.com]/"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..c898f0a0d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-invalid-unicode</title>
+<blockquote cite="http://﷐zyx.com"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..5701cee95
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http://%ef%b7%90zyx.com"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-newline-novalid.html
new file mode 100644
index 000000000..8d82bfb3c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-newline</title>
+<blockquote cite="http://example.
+org"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-space-novalid.html
new file mode 100644
index 000000000..16a942e4a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-space</title>
+<blockquote cite="http://example .org"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..30ee45d59
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http://[1::2]:3:4"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-tab-novalid.html
new file mode 100644
index 000000000..2ce8d10bf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-tab</title>
+<blockquote cite="http://example .org"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..f9366ece0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http://%00.com"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..be3016d9f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..2bf77ec03
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http://example.com/foo%"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-contains-space-novalid.html
new file mode 100644
index 000000000..59bbbfecf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-contains-space</title>
+<blockquote cite="/a/ /c"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..6aa8ada46
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http://foo.com/\@"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..4b055ab47
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite=":\"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..d87b41796
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite=":foo.com\"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-leading-space-novalid.html
new file mode 100644
index 000000000..3d719228d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-leading-space</title>
+<blockquote cite="http://f:21/ b"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..28f0fb78f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http://example.com/foo/%2e%2"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..75717a0aa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="[61:24:74]:98"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-tab-novalid.html
new file mode 100644
index 000000000..a963adb9b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-tab</title>
+<blockquote cite="http://example.com/foo bar"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-trailing-space-novalid.html
new file mode 100644
index 000000000..cd6b5cf08
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-trailing-space</title>
+<blockquote cite="http://f:21/b ?"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-u0091-novalid.html
new file mode 100644
index 000000000..d0eb4bb44
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-u0091</title>
+<blockquote cite="http://example.com/foo‘"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-999999-novalid.html
new file mode 100644
index 000000000..1797e6467
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-999999</title>
+<blockquote cite="http://f:999999/c"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-cr-novalid.html
new file mode 100644
index 000000000..9a50760eb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-cr</title>
+<blockquote cite="http://f: /c"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..083eb40ce
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http://2001::1]:80"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-leading-colon-novalid.html
new file mode 100644
index 000000000..439411bcf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-leading-colon</title>
+<blockquote cite="http://2001::1"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-leading-dash-novalid.html
new file mode 100644
index 000000000..bb5fa178b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-leading-dash</title>
+<blockquote cite="http://foo:-80/"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..51f552ade
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-multiple-letters</title>
+<blockquote cite="http://f:fifty-two/c"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-newline-novalid.html
new file mode 100644
index 000000000..47b709ba2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-newline</title>
+<blockquote cite="http://f:
+/c"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-single-letter-novalid.html
new file mode 100644
index 000000000..3764232b8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-single-letter</title>
+<blockquote cite="http://f:b/c"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-space-novalid.html
new file mode 100644
index 000000000..19d237291
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-space</title>
+<blockquote cite="http://f: /c"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-tab-novalid.html
new file mode 100644
index 000000000..04330da76
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-tab</title>
+<blockquote cite="http://f: /c"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/query-leading-space-novalid.html
new file mode 100644
index 000000000..5d28efaf4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: query-leading-space</title>
+<blockquote cite="http://f:21/b? d"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/query-trailing-space-novalid.html
new file mode 100644
index 000000000..ce0f5ff05
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: query-trailing-space</title>
+<blockquote cite="http://f:21/b?d #"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..0eef9512a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="data:text/html,test#test"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..ac2501025
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="data:/example.com/"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..f00000b9b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-file-backslash</title>
+<blockquote cite="file:c:\foo\bar.html"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..cbf91993e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="file:/C|/foo/bar"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..b5a84d960
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="file:///C|/foo/bar"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..191211f0f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="ftp:example.com/"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..5ba4d6779
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="ftp:/example.com/"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..9ba1e317b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-http-backslash</title>
+<blockquote cite="http:\\foo.com\"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..ba549fc28
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http::@c:29"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..e103deb13
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http:foo.com"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..744a4f532
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http:[61:27]/:foo"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..2b787b273
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http:/example.com/"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..7a09e93d5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="https:example.com/"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..ef32ee1e7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="https:/example.com/"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..71df3f36e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-javascript-no-slash-malformed</title>
+<blockquote cite="javascript:example.com/"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..cafe0190b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-trailing-cr</title>
+<blockquote cite="a: foo.com"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..075d073f0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-trailing-newline</title>
+<blockquote cite="a:
+foo.com"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..1ccfb41ae
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-trailing-space</title>
+<blockquote cite="a: foo.com"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..2c81a25df
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-trailing-tab</title>
+<blockquote cite="a: foo.com"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..dc16d1467
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: userinfo-backslash</title>
+<blockquote cite="http://a\b:c\d@foo.com"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..4b5c9826d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http://&a:foo(b]c@d:2/"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..52388a2c2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http://foo:💩@example.com"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..76b235fbc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http://::@c@d:2"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/cite/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..cdf71cc0b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/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>
+<blockquote cite="http://💩:foo@example.com"></blockquote>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/model-isvalid.html
new file mode 100644
index 000000000..62497d33d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/model-isvalid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;blockquote&gt;</title>
+</head>
+<body>
+ <!-- is block, contains blocks -->
+ <blockquote cite="url" class="class" id="id" lang="en">
+ <h2>header</h2>
+ <p>text</p>
+ <p>text2</p>
+ </blockquote>
+
+ <!-- can contain interactive -->
+ <blockquote><p><a>text</a></p></blockquote>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/model-novalid.html
new file mode 100644
index 000000000..2985ed899
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/blockquote/model-novalid.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;blockquote&gt;</title>
+</head>
+<body>
+ <!-- is block, contains blocks -->
+ <blockquote cite="url" class="class" id="id" lang="en">
+ <h2>header</h2>
+ <p>text</p>
+ <p>text2</p>
+ </blockquote>
+
+ <!-- is structured inline -->
+ <p>paragraph
+ <blockquote>
+ <h2>header</h2>
+ <p>text</p>
+ </blockquote>
+ </p>
+
+ <!-- can contain interactive -->
+ <blockquote><p><a>text</a></p></blockquote>
+ <p>paragraph
+ <blockquote>
+ <p><a>text</a></p>
+ </blockquote>
+ </p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/br/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/br/model-isvalid.html
new file mode 100644
index 000000000..cdde875d6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/br/model-isvalid.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;br&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p>text <br class="class" lang="en"></p>
+
+ <!-- is strictly inline -->
+ <p>text <dfn><br class="class" lang="en"></dfn></p>
+
+ <!-- must be empty -->
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/br/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/br/model-novalid.html
new file mode 100644
index 000000000..c27c261f8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/br/model-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;br&gt;</title>
+</head>
+<body>
+ <br></br>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-empty-novalid.html
new file mode 100644
index 000000000..7c324e5f1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty formaction is not valid</title>
+<button formaction=""></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-isvalid.html
new file mode 100644
index 000000000..70e3ded98
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid formaction</title>
+<button formaction="file:///"></button><!-- scheme-file-slash-slash-slash-only -->
+<button formaction="http://a:@www.example.com"></button><!-- userinfo-password-empty -->
+<button formaction="foo://///////"></button><!-- scheme-private-path-leading-slashes-only -->
+<button formaction="file://abc|/foo/bar"></button><!-- scheme-file-slash-slash-abc-bar -->
+<button formaction="/a/b/c"></button><!-- path-simple-relative -->
+<button formaction="http://example.com/你好你好"></button><!-- path-unicode-han -->
+<button formaction="/a/%2f/c"></button><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<button formaction="http://f:/c"></button><!-- port-none-but-colon -->
+<button formaction="http://example.com/foo%41%7a"></button><!-- path-percent-encoded-multiple -->
+<button formaction="http://192.168.0.257/"></button><!-- host-IP-address-broken -->
+<button formaction="madeupscheme:example.com/"></button><!-- scheme-private-no-slash -->
+<button formaction="?"></button><!-- query-empty-no-path-relative -->
+<button formaction="http://example.com/%20foo"></button><!-- path-percent-encoded-space -->
+<button formaction="mailto:/example.com/"></button><!-- scheme-mailto-single-slash -->
+<button formaction="::"></button><!-- path-leading-colon-colon-relative -->
+<button formaction="http://example.com/%3A%3a%3C%3c"></button><!-- path-percent-encoded-mixed-case -->
+<button formaction="http://user:pass@foo:21/bar;par?b#c"></button><!-- userinfo -->
+<button formaction="ws:/example.com/"></button><!-- scheme-ws-single-slash -->
+<button formaction="foo://"></button><!-- scheme-private-slash-slash -->
+<button formaction="#"></button><!-- fragment-empty-hash-only-no-path-relative -->
+<button formaction="http://f:00000000000000/c"></button><!-- port-00000000000000 -->
+<button formaction="foo:////://///"></button><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<button formaction=":23"></button><!-- path-leading-colon-number-relative -->
+<button formaction="foo:/"></button><!-- scheme-private-slash -->
+<button formaction="http://💩"></button><!-- host-is-pile-of-poo -->
+<button formaction="file:test"></button><!-- scheme-file-no-slash -->
+<button formaction="file://C|/foo/bar"></button><!-- scheme-file-slash-slash-c-bar -->
+<button formaction="#/"></button><!-- fragment-slash-relative -->
+<button formaction="http://192.0x00A80001"></button><!-- host-192.0x00A80001 -->
+<button formaction="foo.com"></button><!-- scheme-none-relative -->
+<button formaction="http💩//:foo"></button><!-- path-contains-pile-of-poo -->
+<button formaction="File://foo/bar.html"></button><!-- scheme-file-uppercase -->
+<button formaction=":/"></button><!-- path-leading-colon-slash-relative -->
+<button formaction="http://www.foo。bar.com"></button><!-- host-exotic-dot -->
+<button formaction="http://GOO​⁠goo.com"></button><!-- host-exotic-whitespace -->
+<button formaction="file:///foo/bar.txt"></button><!-- scheme-file-host-empty -->
+<button formaction="javascript:/example.com/"></button><!-- scheme-javascript-single-slash -->
+<button formaction="gopher:/example.com/"></button><!-- scheme-gopher-single-slash -->
+<button formaction="ftps:example.com/"></button><!-- scheme-ftps-no-slash -->
+<button formaction="file://server/foo/bar"></button><!-- scheme-file-host-included -->
+<button formaction="http://example.com/foo%00"></button><!-- path-percent-encoded-u0000 -->
+<button formaction="a:foo.com"></button><!-- scheme-private -->
+<button formaction=":"></button><!-- path-colon-relative -->
+<button formaction="http://:b@www.example.com"></button><!-- userinfo-user-empty -->
+<button formaction="file:/"></button><!-- scheme-file-slash-only -->
+<button formaction="wss:example.com/"></button><!-- scheme-wss-no-slash -->
+<button formaction="::23"></button><!-- path-colon-colon-number-relative -->
+<button formaction="/a%2fc"></button><!-- path-percent-encoded-slash-relative -->
+<button formaction="http://a:b@c:29/d"></button><!-- userinfo-host-port-path -->
+<button formaction="gopher:example.com/"></button><!-- scheme-gopher-no-slash -->
+<button formaction="madeupscheme:/example.com/"></button><!-- scheme-private-single-slash -->
+<button formaction="mailto:example.com/"></button><!-- scheme-mailto-no-slash -->
+<button formaction="http://%25DOMAIN:foobar@foodomain.com"></button><!-- userinfo-username-contains-percent-encoded -->
+<button formaction="/:23"></button><!-- path-slash-colon-number-relative -->
+<button formaction="foo://///////bar.com/"></button><!-- scheme-private-path-leading-slashes-chars -->
+<button formaction="http://[2001::1]:80"></button><!-- host-ipv6-port -->
+<button formaction="data:text/plain,foo"></button><!-- scheme-data-no-slash -->
+<button formaction="http://example.com/foo/%2e"></button><!-- path-percent-encoded-dot -->
+<button formaction="file:/example.com/"></button><!-- scheme-file-single-slash -->
+<button formaction="http://example.com/©zbar"></button><!-- path-non-ascii -->
+<button formaction="http://example.com//foo"></button><!-- path-uFEFF -->
+<button formaction="wss:/example.com/"></button><!-- scheme-wss-single-slash -->
+<button formaction="http://foo/abcd#foo?bar"></button><!-- fragment-contains-question-mark -->
+<button formaction=":#"></button><!-- path-leading-colon-hash-relative -->
+<button formaction="http://example.com/foo%91"></button><!-- path-percent-encoded-u0091 -->
+<button formaction="c:/foo"></button><!-- scheme-private-single-letter -->
+<button formaction=":foo.com"></button><!-- path-leading-colon-chars-relative -->
+<button formaction="http://你好你好"></button><!-- host-idn-unicode-han -->
+<button formaction="http://example.com/foo#💩"></button><!-- fragment-contains-pile-of-poo -->
+<button formaction="file:"></button><!-- scheme-file-scheme-only -->
+<button formaction="#β"></button><!-- fragment-non-ascii-relative -->
+<button formaction="foo:/bar.com/"></button><!-- scheme-private-path -->
+<button formaction="http://f:0/c"></button><!-- port-0 -->
+<button formaction="#;?"></button><!-- fragment-semicolon-question-mark-relative -->
+<button formaction="http://Go.com"></button><!-- host-fullwidth -->
+<button formaction="http://@www.example.com"></button><!-- userinfo-empty -->
+<button formaction="http://example.com/‮/foo/‭/bar"></button><!-- path-u202E-u202D -->
+<button formaction="http://[2001::1]"></button><!-- host-ipv6 -->
+<button formaction="💩http://foo"></button><!-- path-starts-with-pile-of-poo -->
+<button formaction="http://foo/abcd?efgh?ijkl"></button><!-- query-contains-question-mark -->
+<button formaction="//foo/bar"></button><!-- scheme-schemeless-relative -->
+<button formaction="ftps:/example.com/"></button><!-- scheme-ftps-single-slash -->
+<button formaction="http://foo.com:b@d/"></button><!-- userinfo-username-non-alpha -->
+<button formaction=":a"></button><!-- path-leading-colon-letter-relative -->
+<button formaction="/"></button><!-- path-slash-only-relative -->
+<button formaction="http://example.com/foo?💩"></button><!-- query-contains-pile-of-poo -->
+<button formaction="http://f:00000000000000000000080/c"></button><!-- port-00000000000000000000080 -->
+<button formaction="file://"></button><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-whitespace-only-novalid.html
new file mode 100644
index 000000000..37b4f02a4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty formaction is not valid</title>
+<button formaction="
+"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-backslash-novalid.html
new file mode 100644
index 000000000..f8dd36681
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-backslash</title>
+<button formaction="#\"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..34aa42935
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-contains-hash</title>
+<button formaction="http://foo/path#f#g"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..d5571acf0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-leading-space</title>
+<button formaction="http://f:21/b# e"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-cr-novalid.html
new file mode 100644
index 000000000..99b23b4a7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-cr</title>
+<button formaction="http://example. org"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..f0a118b85
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-double-percent-encoded</title>
+<button formaction="http://%41.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..71cc7d12b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-double-percent-encoded-percent-encoded</title>
+<button formaction="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-novalid.html
new file mode 100644
index 000000000..728cf8754
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty</title>
+<button formaction="http://"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..04279b959
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty-userinfo-empty</title>
+<button formaction="http://@/www.example.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..5dea89f11
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty-with-userinfo</title>
+<button formaction="http://user:pass@/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..477d3871b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-hostname-in-brackets</title>
+<button formaction="http://[www.google.com]/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..52b2381df
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-invalid-unicode</title>
+<button formaction="http://﷐zyx.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..6728b889d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-invalid-unicode-percent-encoded</title>
+<button formaction="http://%ef%b7%90zyx.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-newline-novalid.html
new file mode 100644
index 000000000..7906dd267
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-newline</title>
+<button formaction="http://example.
+org"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-space-novalid.html
new file mode 100644
index 000000000..4aee6d7c4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-space</title>
+<button formaction="http://example .org"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..27cb19090
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-square-brackets-port-contains-colon</title>
+<button formaction="http://[1::2]:3:4"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-tab-novalid.html
new file mode 100644
index 000000000..e4bc59fff
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-tab</title>
+<button formaction="http://example .org"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..3d7042639
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-u0000-percent-encoded</title>
+<button formaction="http://%00.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..29836a9b8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-u0000-percent-encoded-percent-encoded</title>
+<button formaction="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..09febe38a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-bare-percent-sign</title>
+<button formaction="http://example.com/foo%"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-contains-space-novalid.html
new file mode 100644
index 000000000..a8e6d07bf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-contains-space</title>
+<button formaction="/a/ /c"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..f2c1e3bc4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-backslash-at-sign</title>
+<button formaction="http://foo.com/\@"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..9fbe511ec
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-colon-backslash</title>
+<button formaction=":\"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..871581991
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-colon-chars-backslash</title>
+<button formaction=":foo.com\"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-space-novalid.html
new file mode 100644
index 000000000..eda9780b9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-space</title>
+<button formaction="http://f:21/ b"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..d3d373ad8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-percent-encoded-malformed</title>
+<button formaction="http://example.com/foo/%2e%2"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..afb7e3032
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-relative-square-brackets</title>
+<button formaction="[61:24:74]:98"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-tab-novalid.html
new file mode 100644
index 000000000..85313dc98
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-tab</title>
+<button formaction="http://example.com/foo bar"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-trailing-space-novalid.html
new file mode 100644
index 000000000..4b47774e3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-trailing-space</title>
+<button formaction="http://f:21/b ?"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-u0091-novalid.html
new file mode 100644
index 000000000..cc3929c6a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-u0091</title>
+<button formaction="http://example.com/foo‘"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-999999-novalid.html
new file mode 100644
index 000000000..8a997594d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-999999</title>
+<button formaction="http://f:999999/c"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-cr-novalid.html
new file mode 100644
index 000000000..6596879d5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-cr</title>
+<button formaction="http://f: /c"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..2bda92d12
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-colon-bracket-colon</title>
+<button formaction="http://2001::1]:80"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-novalid.html
new file mode 100644
index 000000000..c5f0924d8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-colon</title>
+<button formaction="http://2001::1"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-dash-novalid.html
new file mode 100644
index 000000000..e0e1a6bd3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-dash</title>
+<button formaction="http://foo:-80/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..8a01f322e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-multiple-letters</title>
+<button formaction="http://f:fifty-two/c"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-newline-novalid.html
new file mode 100644
index 000000000..088183e5d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-newline</title>
+<button formaction="http://f:
+/c"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-single-letter-novalid.html
new file mode 100644
index 000000000..b73404884
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-single-letter</title>
+<button formaction="http://f:b/c"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-space-novalid.html
new file mode 100644
index 000000000..1f0886661
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-space</title>
+<button formaction="http://f: /c"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-tab-novalid.html
new file mode 100644
index 000000000..69ab282ab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-tab</title>
+<button formaction="http://f: /c"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/query-leading-space-novalid.html
new file mode 100644
index 000000000..a18576e99
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: query-leading-space</title>
+<button formaction="http://f:21/b? d"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/query-trailing-space-novalid.html
new file mode 100644
index 000000000..f26027f9c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: query-trailing-space</title>
+<button formaction="http://f:21/b?d #"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..3e48f2db4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/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>
+<button formaction="data:text/html,test#test"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..612d20019
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-data-single-slash</title>
+<button formaction="data:/example.com/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..63d96e3b0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-backslash</title>
+<button formaction="file:c:\foo\bar.html"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..85cf8539b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-single-slash-c-bar</title>
+<button formaction="file:/C|/foo/bar"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..901f6b05f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-triple-slash-c-bar</title>
+<button formaction="file:///C|/foo/bar"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..1f094e3fc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-ftp-no-slash</title>
+<button formaction="ftp:example.com/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..98389130d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-ftp-single-slash</title>
+<button formaction="ftp:/example.com/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..4bfbe65fd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-backslash</title>
+<button formaction="http:\\foo.com\"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..648420993
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash-colon</title>
+<button formaction="http::@c:29"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..146d18572
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash</title>
+<button formaction="http:foo.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..fe7de8877
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash-square-bracket</title>
+<button formaction="http:[61:27]/:foo"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..b2d7ef0fb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-single-slash</title>
+<button formaction="http:/example.com/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..85b13467b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-https-no-slash</title>
+<button formaction="https:example.com/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..61ba3d6a3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-https-single-slash</title>
+<button formaction="https:/example.com/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..74c1cbc88
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-javascript-no-slash-malformed</title>
+<button formaction="javascript:example.com/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..098a02a71
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-cr</title>
+<button formaction="a: foo.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..4aec7d6c5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-newline</title>
+<button formaction="a:
+foo.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..b08683c0c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-space</title>
+<button formaction="a: foo.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..515d31626
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-tab</title>
+<button formaction="a: foo.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..658db365c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-backslash</title>
+<button formaction="http://a\b:c\d@foo.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..62d5c2331
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-password-bad-chars</title>
+<button formaction="http://&a:foo(b]c@d:2/"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..b20b35cc5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-password-contains-pile-of-poo</title>
+<button formaction="http://foo:💩@example.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..9cd569d30
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-username-contains-at-sign</title>
+<button formaction="http://::@c@d:2"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..cde70e15e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/button/formaction/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-username-contains-pile-of-poo</title>
+<button formaction="http://💩:foo@example.com"></button>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/canvas/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/canvas/model-isvalid.html
new file mode 100644
index 000000000..cff96ccfc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/canvas/model-isvalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>canvas with flow content and flow parent</title>
+<div><canvas><p>foo</p></canvas></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/canvas/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/canvas/model-novalid.html
new file mode 100644
index 000000000..34a7e5ba5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/canvas/model-novalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>canvas with flow content and phrasing parent</title>
+<span><canvas><p>foo</p></canvas></span>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/cite/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/cite/model-isvalid.html
new file mode 100644
index 000000000..60fc8b744
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/cite/model-isvalid.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;cite&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><cite class="class" lang="en">text</cite></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><cite class="class" lang="en">text</cite></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <cite></cite></p>
+ <p>text <dfn><cite></cite></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><cite><a>text</a></cite></p>
+ <p><dfn><cite><a>text</a></cite></dfn></p>
+
+ <!-- cannot contain structured inline -->
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/cite/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/cite/model-novalid.html
new file mode 100644
index 000000000..f1070dc45
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/cite/model-novalid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;cite&gt;</title>
+</head>
+<body>
+ <!-- not a block -->
+ <cite>text</cite>
+
+ <!-- cannot contain structured inline -->
+ <p><cite><ul><li>text</li></ul></cite></p>
+
+ <!-- cannot contain interactive if parent forbids interactive -->
+ <p><a><cite><a>text</a></cite></a></p>
+ <p><a><dfn><cite><a>text</a></cite></dfn></a></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/code/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/code/model-isvalid.html
new file mode 100644
index 000000000..0912e07d7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/code/model-isvalid.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;code&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><code class="class" lang="en">text</code></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><code class="class" lang="en">text</code></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <code></code></p>
+ <p>text <dfn><code></code></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><code><a>text</a></code></p>
+ <p><dfn><code><a>text</a></code></dfn></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/code/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/code/model-novalid.html
new file mode 100644
index 000000000..5d473d17f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/code/model-novalid.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;code&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><code class="class" lang="en">text</code></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><code class="class" lang="en">text</code></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <code></code></p>
+ <p>text <dfn><code></code></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><code><a>text</a></code></p>
+ <p><dfn><code><a>text</a></code></dfn></p>
+
+ <!-- cannot contain structured inline -->
+ <p><code>text <ul><li>list</li></ul> <em>elem</em></code></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite-empty-isvalid.html
new file mode 100644
index 000000000..cc8201c6e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty cite is valid</title>
+<del cite=""></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite-isvalid.html
new file mode 100644
index 000000000..380207bab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid cite</title>
+<del cite="file:///"></del><!-- scheme-file-slash-slash-slash-only -->
+<del cite="http://a:@www.example.com"></del><!-- userinfo-password-empty -->
+<del cite="foo://///////"></del><!-- scheme-private-path-leading-slashes-only -->
+<del cite="file://abc|/foo/bar"></del><!-- scheme-file-slash-slash-abc-bar -->
+<del cite="/a/b/c"></del><!-- path-simple-relative -->
+<del cite="http://example.com/你好你好"></del><!-- path-unicode-han -->
+<del cite="/a/%2f/c"></del><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<del cite="http://f:/c"></del><!-- port-none-but-colon -->
+<del cite="http://example.com/foo%41%7a"></del><!-- path-percent-encoded-multiple -->
+<del cite="http://192.168.0.257/"></del><!-- host-IP-address-broken -->
+<del cite="madeupscheme:example.com/"></del><!-- scheme-private-no-slash -->
+<del cite="?"></del><!-- query-empty-no-path-relative -->
+<del cite="http://example.com/%20foo"></del><!-- path-percent-encoded-space -->
+<del cite="mailto:/example.com/"></del><!-- scheme-mailto-single-slash -->
+<del cite="::"></del><!-- path-leading-colon-colon-relative -->
+<del cite="http://example.com/%3A%3a%3C%3c"></del><!-- path-percent-encoded-mixed-case -->
+<del cite="http://user:pass@foo:21/bar;par?b#c"></del><!-- userinfo -->
+<del cite="ws:/example.com/"></del><!-- scheme-ws-single-slash -->
+<del cite="foo://"></del><!-- scheme-private-slash-slash -->
+<del cite="#"></del><!-- fragment-empty-hash-only-no-path-relative -->
+<del cite="http://f:00000000000000/c"></del><!-- port-00000000000000 -->
+<del cite="foo:////://///"></del><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<del cite=":23"></del><!-- path-leading-colon-number-relative -->
+<del cite="foo:/"></del><!-- scheme-private-slash -->
+<del cite="http://💩"></del><!-- host-is-pile-of-poo -->
+<del cite="file:test"></del><!-- scheme-file-no-slash -->
+<del cite="file://C|/foo/bar"></del><!-- scheme-file-slash-slash-c-bar -->
+<del cite="#/"></del><!-- fragment-slash-relative -->
+<del cite="http://192.0x00A80001"></del><!-- host-192.0x00A80001 -->
+<del cite="foo.com"></del><!-- scheme-none-relative -->
+<del cite="http💩//:foo"></del><!-- path-contains-pile-of-poo -->
+<del cite="File://foo/bar.html"></del><!-- scheme-file-uppercase -->
+<del cite=":/"></del><!-- path-leading-colon-slash-relative -->
+<del cite="http://www.foo。bar.com"></del><!-- host-exotic-dot -->
+<del cite="http://GOO​⁠goo.com"></del><!-- host-exotic-whitespace -->
+<del cite="file:///foo/bar.txt"></del><!-- scheme-file-host-empty -->
+<del cite="javascript:/example.com/"></del><!-- scheme-javascript-single-slash -->
+<del cite="gopher:/example.com/"></del><!-- scheme-gopher-single-slash -->
+<del cite="ftps:example.com/"></del><!-- scheme-ftps-no-slash -->
+<del cite="file://server/foo/bar"></del><!-- scheme-file-host-included -->
+<del cite="http://example.com/foo%00"></del><!-- path-percent-encoded-u0000 -->
+<del cite="a:foo.com"></del><!-- scheme-private -->
+<del cite=":"></del><!-- path-colon-relative -->
+<del cite="http://:b@www.example.com"></del><!-- userinfo-user-empty -->
+<del cite="file:/"></del><!-- scheme-file-slash-only -->
+<del cite="wss:example.com/"></del><!-- scheme-wss-no-slash -->
+<del cite="::23"></del><!-- path-colon-colon-number-relative -->
+<del cite="/a%2fc"></del><!-- path-percent-encoded-slash-relative -->
+<del cite="http://a:b@c:29/d"></del><!-- userinfo-host-port-path -->
+<del cite="gopher:example.com/"></del><!-- scheme-gopher-no-slash -->
+<del cite="madeupscheme:/example.com/"></del><!-- scheme-private-single-slash -->
+<del cite="mailto:example.com/"></del><!-- scheme-mailto-no-slash -->
+<del cite="http://%25DOMAIN:foobar@foodomain.com"></del><!-- userinfo-username-contains-percent-encoded -->
+<del cite="/:23"></del><!-- path-slash-colon-number-relative -->
+<del cite="foo://///////bar.com/"></del><!-- scheme-private-path-leading-slashes-chars -->
+<del cite="http://[2001::1]:80"></del><!-- host-ipv6-port -->
+<del cite="data:text/plain,foo"></del><!-- scheme-data-no-slash -->
+<del cite="http://example.com/foo/%2e"></del><!-- path-percent-encoded-dot -->
+<del cite="file:/example.com/"></del><!-- scheme-file-single-slash -->
+<del cite="http://example.com/©zbar"></del><!-- path-non-ascii -->
+<del cite="http://example.com//foo"></del><!-- path-uFEFF -->
+<del cite="wss:/example.com/"></del><!-- scheme-wss-single-slash -->
+<del cite="http://foo/abcd#foo?bar"></del><!-- fragment-contains-question-mark -->
+<del cite=":#"></del><!-- path-leading-colon-hash-relative -->
+<del cite="http://example.com/foo%91"></del><!-- path-percent-encoded-u0091 -->
+<del cite="c:/foo"></del><!-- scheme-private-single-letter -->
+<del cite=":foo.com"></del><!-- path-leading-colon-chars-relative -->
+<del cite="http://你好你好"></del><!-- host-idn-unicode-han -->
+<del cite="http://example.com/foo#💩"></del><!-- fragment-contains-pile-of-poo -->
+<del cite="file:"></del><!-- scheme-file-scheme-only -->
+<del cite="#β"></del><!-- fragment-non-ascii-relative -->
+<del cite="foo:/bar.com/"></del><!-- scheme-private-path -->
+<del cite="http://f:0/c"></del><!-- port-0 -->
+<del cite="#;?"></del><!-- fragment-semicolon-question-mark-relative -->
+<del cite="http://Go.com"></del><!-- host-fullwidth -->
+<del cite="http://@www.example.com"></del><!-- userinfo-empty -->
+<del cite="http://example.com/‮/foo/‭/bar"></del><!-- path-u202E-u202D -->
+<del cite="http://[2001::1]"></del><!-- host-ipv6 -->
+<del cite="💩http://foo"></del><!-- path-starts-with-pile-of-poo -->
+<del cite="http://foo/abcd?efgh?ijkl"></del><!-- query-contains-question-mark -->
+<del cite="//foo/bar"></del><!-- scheme-schemeless-relative -->
+<del cite="ftps:/example.com/"></del><!-- scheme-ftps-single-slash -->
+<del cite="http://foo.com:b@d/"></del><!-- userinfo-username-non-alpha -->
+<del cite=":a"></del><!-- path-leading-colon-letter-relative -->
+<del cite="/"></del><!-- path-slash-only-relative -->
+<del cite="http://example.com/foo?💩"></del><!-- query-contains-pile-of-poo -->
+<del cite="http://f:00000000000000000000080/c"></del><!-- port-00000000000000000000080 -->
+<del cite="file://"></del><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/fragment-backslash-novalid.html
new file mode 100644
index 000000000..a51b0575a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: fragment-backslash</title>
+<del cite="#\"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..d0b217dc4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: fragment-contains-hash</title>
+<del cite="http://foo/path#f#g"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..b54fd21d2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: fragment-leading-space</title>
+<del cite="http://f:21/b# e"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-cr-novalid.html
new file mode 100644
index 000000000..2da16c9a3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-cr</title>
+<del cite="http://example. org"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..18898a533
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http://%41.com"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..dd81e9a48
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-empty-novalid.html
new file mode 100644
index 000000000..afe922a10
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-empty</title>
+<del cite="http://"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..7e703bf92
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http://@/www.example.com"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..281333e07
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http://user:pass@/"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..169318e96
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http://[www.google.com]/"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..e7c77a415
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-invalid-unicode</title>
+<del cite="http://﷐zyx.com"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..5591088fc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http://%ef%b7%90zyx.com"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-newline-novalid.html
new file mode 100644
index 000000000..692baaa92
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-newline</title>
+<del cite="http://example.
+org"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-space-novalid.html
new file mode 100644
index 000000000..efadf49d0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-space</title>
+<del cite="http://example .org"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..54aaf1246
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http://[1::2]:3:4"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-tab-novalid.html
new file mode 100644
index 000000000..cf8d7e2ae
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-tab</title>
+<del cite="http://example .org"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..20e4287a4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http://%00.com"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..9f80ee3e3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..f21b2f6f6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http://example.com/foo%"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-contains-space-novalid.html
new file mode 100644
index 000000000..cd189d60c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-contains-space</title>
+<del cite="/a/ /c"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..dd0c500d7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http://foo.com/\@"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..f34c59b3b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite=":\"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..c7e492f65
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite=":foo.com\"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-leading-space-novalid.html
new file mode 100644
index 000000000..32480867d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-leading-space</title>
+<del cite="http://f:21/ b"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..67bcccff3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http://example.com/foo/%2e%2"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..f63045a20
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="[61:24:74]:98"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-tab-novalid.html
new file mode 100644
index 000000000..c45140bea
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-tab</title>
+<del cite="http://example.com/foo bar"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-trailing-space-novalid.html
new file mode 100644
index 000000000..88d758405
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-trailing-space</title>
+<del cite="http://f:21/b ?"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-u0091-novalid.html
new file mode 100644
index 000000000..1dc17517f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-u0091</title>
+<del cite="http://example.com/foo‘"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-999999-novalid.html
new file mode 100644
index 000000000..a654a888c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-999999</title>
+<del cite="http://f:999999/c"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-cr-novalid.html
new file mode 100644
index 000000000..872d3f3cf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-cr</title>
+<del cite="http://f: /c"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..f5f936440
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http://2001::1]:80"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-leading-colon-novalid.html
new file mode 100644
index 000000000..66b076f26
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-leading-colon</title>
+<del cite="http://2001::1"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-leading-dash-novalid.html
new file mode 100644
index 000000000..b3d1f7909
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-leading-dash</title>
+<del cite="http://foo:-80/"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..d830e1118
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-multiple-letters</title>
+<del cite="http://f:fifty-two/c"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-newline-novalid.html
new file mode 100644
index 000000000..3da1891dd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-newline</title>
+<del cite="http://f:
+/c"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-single-letter-novalid.html
new file mode 100644
index 000000000..e7463d52b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-single-letter</title>
+<del cite="http://f:b/c"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-space-novalid.html
new file mode 100644
index 000000000..3756f82ed
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-space</title>
+<del cite="http://f: /c"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-tab-novalid.html
new file mode 100644
index 000000000..e85fb7bf1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-tab</title>
+<del cite="http://f: /c"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/query-leading-space-novalid.html
new file mode 100644
index 000000000..a05f6bdd4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: query-leading-space</title>
+<del cite="http://f:21/b? d"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/query-trailing-space-novalid.html
new file mode 100644
index 000000000..c7cf9e808
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: query-trailing-space</title>
+<del cite="http://f:21/b?d #"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..fa04644fd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="data:text/html,test#test"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..185133b66
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="data:/example.com/"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..d0cb7986c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-file-backslash</title>
+<del cite="file:c:\foo\bar.html"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..72a65284a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="file:/C|/foo/bar"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..23c40bd72
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="file:///C|/foo/bar"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..fd4cbdaf0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="ftp:example.com/"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..2e373739e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="ftp:/example.com/"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..f3d6c90b5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-http-backslash</title>
+<del cite="http:\\foo.com\"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..b86a891cb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http::@c:29"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..12fd2cedb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http:foo.com"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..25625e7f4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http:[61:27]/:foo"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..6f95f1e0c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http:/example.com/"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..6abda3c88
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="https:example.com/"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..0e7f0addb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="https:/example.com/"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..4328b02e9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-javascript-no-slash-malformed</title>
+<del cite="javascript:example.com/"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..363641fc3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-trailing-cr</title>
+<del cite="a: foo.com"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..ec8f0c04e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-trailing-newline</title>
+<del cite="a:
+foo.com"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..31f418ca7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-trailing-space</title>
+<del cite="a: foo.com"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..66d8ce3e0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-trailing-tab</title>
+<del cite="a: foo.com"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..99ba1d5e4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: userinfo-backslash</title>
+<del cite="http://a\b:c\d@foo.com"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..f0ab910ac
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http://&a:foo(b]c@d:2/"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..16b6d271c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http://foo:💩@example.com"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..06392ba64
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http://::@c@d:2"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/cite/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..e8bfa2b67
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/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>
+<del cite="http://💩:foo@example.com"></del>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-0004-02-29-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-0004-02-29-haswarn.html
new file mode 100644
index 000000000..c76031969
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-0004-02-29-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-0004-02-29</title>
+<del datetime="0004-02-29"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-0005-02-29-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-0005-02-29-novalid.html
new file mode 100644
index 000000000..f8b973fd4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-0005-02-29-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-0005-02-29</title>
+<del datetime="0005-02-29"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-0214-09-29-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-0214-09-29-haswarn.html
new file mode 100644
index 000000000..2f7a26ea1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-0214-09-29-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-0214-09-29</title>
+<del datetime="0214-09-29"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-1900-02-29-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-1900-02-29-novalid.html
new file mode 100644
index 000000000..d645c2256
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-1900-02-29-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-1900-02-29</title>
+<del datetime="1900-02-29"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-1969-02-29-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-1969-02-29-novalid.html
new file mode 100644
index 000000000..7821eaea1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-1969-02-29-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-1969-02-29</title>
+<del datetime="1969-02-29"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-20014-09-29-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-20014-09-29-haswarn.html
new file mode 100644
index 000000000..7b4099df6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-20014-09-29-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-20014-09-29</title>
+<del datetime="20014-09-29"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-2014-02-29-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-2014-02-29-novalid.html
new file mode 100644
index 000000000..8a7909960
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-2014-02-29-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-2014-02-29</title>
+<del datetime="2014-02-29"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-2100-02-29-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-2100-02-29-novalid.html
new file mode 100644
index 000000000..3b732b5b3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-2100-02-29-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-2100-02-29</title>
+<del datetime="2100-02-29"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-2200-02-29-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-2200-02-29-novalid.html
new file mode 100644
index 000000000..8c5ef2e34
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-2200-02-29-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-2200-02-29</title>
+<del datetime="2200-02-29"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-01-32-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-01-32-novalid.html
new file mode 100644
index 000000000..1c4e3d397
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-01-32-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-01-32</title>
+<del datetime="2002-01-32"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-03-32-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-03-32-novalid.html
new file mode 100644
index 000000000..651c0bb66
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-03-32-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-03-32</title>
+<del datetime="2002-03-32"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-04-31-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-04-31-novalid.html
new file mode 100644
index 000000000..f3ab11401
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-04-31-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-04-31</title>
+<del datetime="2002-04-31"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-05-32-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-05-32-novalid.html
new file mode 100644
index 000000000..c4caeade9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-05-32-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-05-32</title>
+<del datetime="2002-05-32"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-06-31-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-06-31-novalid.html
new file mode 100644
index 000000000..3583295f3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-06-31-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-06-31</title>
+<del datetime="2002-06-31"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-07-32-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-07-32-novalid.html
new file mode 100644
index 000000000..0948cf574
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-07-32-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-07-32</title>
+<del datetime="2002-07-32"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-08-32-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-08-32-novalid.html
new file mode 100644
index 000000000..09830a833
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-08-32-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-08-32</title>
+<del datetime="2002-08-32"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-09-31-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-09-31-novalid.html
new file mode 100644
index 000000000..55c600cfa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-09-31-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-09-31</title>
+<del datetime="2002-09-31"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-10-32-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-10-32-novalid.html
new file mode 100644
index 000000000..6aeefece6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-10-32-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-10-32</title>
+<del datetime="2002-10-32"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-11-31-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-11-31-novalid.html
new file mode 100644
index 000000000..bfb4c572d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-11-31-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-11-31</title>
+<del datetime="2002-11-31"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-12-32-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-12-32-novalid.html
new file mode 100644
index 000000000..03b511c2f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-12-32-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-12-32</title>
+<del datetime="2002-12-32"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-missing-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-missing-separator-novalid.html
new file mode 100644
index 000000000..8e31abfa6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-missing-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-missing-separator</title>
+<del datetime="2014-0220"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-one-digit-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-one-digit-novalid.html
new file mode 100644
index 000000000..b8994f93c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-one-digit-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-one-digit</title>
+<del datetime="2002-09-9"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-three-digits-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-three-digits-novalid.html
new file mode 100644
index 000000000..8ee427c5c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-day-three-digits-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-three-digits</title>
+<del datetime="2002-11-009"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-iso8601-YYYYMMDD-no-hyphen-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-iso8601-YYYYMMDD-no-hyphen-novalid.html
new file mode 100644
index 000000000..493d9de78
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-iso8601-YYYYMMDD-no-hyphen-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-iso8601-YYYYMMDD-no-hyphen</title>
+<del datetime="20020929"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-leading-bom-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-leading-bom-novalid.html
new file mode 100644
index 000000000..48855e554
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-leading-bom-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-leading-bom</title>
+<del datetime="2002-09-29"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-leading-whitespace-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-leading-whitespace-novalid.html
new file mode 100644
index 000000000..5deaf01e4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-leading-whitespace-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-leading-whitespace</title>
+<del datetime=" 2002-09-29"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-00-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-00-novalid.html
new file mode 100644
index 000000000..798e23b8f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-00-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-month-00</title>
+<del datetime="2002-00-15"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-13-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-13-novalid.html
new file mode 100644
index 000000000..63a8b4e71
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-13-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-month-13</title>
+<del datetime="2002-13-15"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-missing-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-missing-separator-novalid.html
new file mode 100644
index 000000000..b852207e5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-missing-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-month-missing-separator</title>
+<del datetime="201402-20"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-one-digit-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-one-digit-novalid.html
new file mode 100644
index 000000000..baf20b49c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-one-digit-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-month-one-digit</title>
+<del datetime="2002-9-29"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-three-digits-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-three-digits-novalid.html
new file mode 100644
index 000000000..0ff8f8987
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-month-three-digits-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-month-three-digits</title>
+<del datetime="2002-011-29"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-non-ascii-digit-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-non-ascii-digit-novalid.html
new file mode 100644
index 000000000..73ef39276
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-non-ascii-digit-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-non-ascii-digit</title>
+<del datetime="2002-09-29"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-trailing-U+0000-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-trailing-U+0000-novalid.html
new file mode 100644
index 000000000..4870c3dd3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-trailing-U+0000-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-trailing-U+0000</title>
+<del datetime="2002-09-29&#x0000;"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-trailing-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-trailing-pile-of-poo-novalid.html
new file mode 100644
index 000000000..4c3868907
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-trailing-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-trailing-pile-of-poo</title>
+<del datetime="2002-09-29💩"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-trailing-whitespace-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-trailing-whitespace-novalid.html
new file mode 100644
index 000000000..70269cc34
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-trailing-whitespace-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-trailing-whitespace</title>
+<del datetime="2002-09-29 "></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-wrong-day-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-wrong-day-separator-novalid.html
new file mode 100644
index 000000000..845517108
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-wrong-day-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-wrong-day-separator</title>
+<del datetime="2014-02:20"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-wrong-month-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-wrong-month-separator-novalid.html
new file mode 100644
index 000000000..797cae495
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-wrong-month-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-wrong-month-separator</title>
+<del datetime="2014:02-20"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-year-0000-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-year-0000-novalid.html
new file mode 100644
index 000000000..267903239
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-year-0000-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-year-0000</title>
+<del datetime="0000-12-09"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-year-five-digits-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-year-five-digits-haswarn.html
new file mode 100644
index 000000000..ed42c9053
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-year-five-digits-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-year-five-digits</title>
+<del datetime="12014-09-29"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-year-negative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-year-negative-novalid.html
new file mode 100644
index 000000000..459f745a8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-year-negative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-year-negative</title>
+<del datetime="-2002-09-29"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/date-year-three-digits-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-year-three-digits-novalid.html
new file mode 100644
index 000000000..9574f97de
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/date-year-three-digits-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-year-three-digits</title>
+<del datetime="782-09-29"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/datetime-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/datetime-isvalid.html
new file mode 100644
index 000000000..3dff10cc0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/datetime-isvalid.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid datetime</title>
+<del datetime="2011-11-12T06:54:39-08:00"></del> <!-- global-date-and-time-timezone-with-colon -->
+<del datetime="2002-12-31"></del> <!-- date-day-12-31 -->
+<del datetime="2002-08-31"></del> <!-- date-day-08-31 -->
+<del datetime="1900-02-28"></del> <!-- date-1900-02-28 -->
+<del datetime="2011-11-12T14:54:39+0000"></del> <!-- global-date-and-time-with-seconds -->
+<del datetime="2002-10-31"></del> <!-- date-day-10-31 -->
+<del datetime="2002-01-31"></del> <!-- date-day-01-31 -->
+<del datetime="2200-02-28"></del> <!-- date-2200-02-28 -->
+<del datetime="2002-09-29"></del> <!-- date -->
+<del datetime="2002-06-30"></del> <!-- date-day-06-30 -->
+<del datetime="2100-02-28"></del> <!-- date-2100-02-28 -->
+<del datetime="2011-11-12T06:54:39-0845"></del> <!-- global-date-and-time-timezone-45 -->
+<del datetime="2002-03-31"></del> <!-- date-day-03-31 -->
+<del datetime="2011-11-12T06:54:39+0900"></del> <!-- global-date-and-time-timezone -->
+<del datetime="2002-04-30"></del> <!-- date-day-04-30 -->
+<del datetime="2002-09-30"></del> <!-- date-day-09-30 -->
+<del datetime="2002-05-31"></del> <!-- date-day-05-31 -->
+<del datetime="2011-11-12T14:54Z"></del> <!-- global-date-and-time-no-seconds -->
+<del datetime="2011-11-12T06:54:39.92+07:00"></del> <!-- global-date-and-time-with-two-digit-fraction -->
+<del datetime="2400-02-29"></del> <!-- date-2400-02-29 -->
+<del datetime="2002-07-31"></del> <!-- date-day-07-31 -->
+<del datetime="2011-11-12T06:54:39.929-06:00"></del> <!-- global-date-and-time-with-three-digit-fraction -->
+<del datetime="2011-11-12T06:54:39-0830"></del> <!-- global-date-and-time-timezone-30 -->
+<del datetime="2014-02-28"></del> <!-- date-2014-02-28 -->
+<del datetime="2002-11-30"></del> <!-- date-day-11-30 -->
+<del datetime="2000-02-29"></del> <!-- date-2000-02-29 -->
+<del datetime="2011-11-12 14:54Z"></del> <!-- global-date-and-time-space -->
+<del datetime="2011-11-12T06:54:39.9-08:00"></del> <!-- global-date-and-time-with-one-digit-fraction -->
+<del datetime="1968-02-29"></del> <!-- date-1968-02-29 -->
+<del datetime="2011-11-12T06:54:39-0800"></del> <!-- global-date-and-time-timezone-without-colon -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/duration-P-form-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/duration-P-form-novalid.html
new file mode 100644
index 000000000..b7487e706
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/duration-P-form-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>duration-P-form</title>
+<del datetime="PT4H18M3S"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/duration-time-component-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/duration-time-component-novalid.html
new file mode 100644
index 000000000..98a484d0f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/duration-time-component-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>duration-time-component</title>
+<del datetime="4h 18m 3s"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-2400-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-2400-novalid.html
new file mode 100644
index 000000000..5a3328aa9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-2400-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-2400</title>
+<del datetime="2011-11-12T24:00:00+08:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-60-minutes-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-60-minutes-novalid.html
new file mode 100644
index 000000000..5d4641c52
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-60-minutes-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-60-minutes</title>
+<del datetime="2011-11-12T00:60:00+08:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-60-seconds-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-60-seconds-novalid.html
new file mode 100644
index 000000000..ec897dca8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-60-seconds-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-60-seconds</title>
+<del datetime="2011-11-12T00:00:60+08:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-bad-fraction-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-bad-fraction-separator-novalid.html
new file mode 100644
index 000000000..43fd39e7f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-bad-fraction-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-bad-fraction-separator</title>
+<del datetime="2011-11-12T14:54:39,929+0000"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-four-digit-fraction-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-four-digit-fraction-novalid.html
new file mode 100644
index 000000000..d17ece6f8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-four-digit-fraction-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-four-digit-fraction</title>
+<del datetime="2011-11-12T06:54:39.9291-08:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-hour-one-digit-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-hour-one-digit-novalid.html
new file mode 100644
index 000000000..5fcad2357
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-hour-one-digit-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-hour-one-digit</title>
+<del datetime="2011-11-12T6:54:39-08:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-hour-three-digits-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-hour-three-digits-novalid.html
new file mode 100644
index 000000000..3683a20df
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-hour-three-digits-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-hour-three-digits</title>
+<del datetime="2011-11-12T016:54:39-08:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hh-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hh-novalid.html
new file mode 100644
index 000000000..95f4b3df0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hh-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-iso8601-hh</title>
+<del datetime="2011-11-12T14Z"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hhmm-no-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hhmm-no-colon-novalid.html
new file mode 100644
index 000000000..9b1c4df19
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hhmm-no-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-iso8601-hhmm-no-colon</title>
+<del datetime="2011-11-12T1454Z"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hhmmss-no-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hhmmss-no-colon-novalid.html
new file mode 100644
index 000000000..4a66109f6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-iso8601-hhmmss-no-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-iso8601-hhmmss-no-colon</title>
+<del datetime="2011-11-12T145439Z"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-lowercase-z-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-lowercase-z-novalid.html
new file mode 100644
index 000000000..525f670a8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-lowercase-z-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-lowercase-z</title>
+<del datetime="2011-11-12T14:54z"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-minutes-one-digit-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-minutes-one-digit-novalid.html
new file mode 100644
index 000000000..ae1d238df
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-minutes-one-digit-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-minutes-one-digit</title>
+<del datetime="2011-11-12T16:4:39-08:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-minutes-three-digits-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-minutes-three-digits-novalid.html
new file mode 100644
index 000000000..459d029c1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-minutes-three-digits-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-minutes-three-digits</title>
+<del datetime="2011-11-12T16:354:39-08:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-missing-minutes-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-missing-minutes-separator-novalid.html
new file mode 100644
index 000000000..32b980237
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-missing-minutes-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-missing-minutes-separator</title>
+<del datetime="2011-11-12T1454Z"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-missing-seconds-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-missing-seconds-separator-novalid.html
new file mode 100644
index 000000000..16694a381
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-missing-seconds-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-missing-seconds-separator</title>
+<del datetime="2011-11-12T14:5439Z"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-nbsp-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-nbsp-novalid.html
new file mode 100644
index 000000000..2074fcf46
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-nbsp-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-nbsp</title>
+<del datetime="2011-11-12 14:54Z"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-seconds-one-digit-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-seconds-one-digit-novalid.html
new file mode 100644
index 000000000..f879efad8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-seconds-one-digit-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-seconds-one-digit</title>
+<del datetime="2011-11-12T16:54:9-08:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-seconds-three-digits-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-seconds-three-digits-novalid.html
new file mode 100644
index 000000000..2d616bd8c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-seconds-three-digits-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-seconds-three-digits</title>
+<del datetime="2011-11-12T16:54:039-08:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-space-before-timezone-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-space-before-timezone-novalid.html
new file mode 100644
index 000000000..c9da89f04
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-space-before-timezone-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-space-before-timezone</title>
+<del datetime="2011-11-12T06:54:39 08:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-60-minutes-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-60-minutes-novalid.html
new file mode 100644
index 000000000..26c4efd6c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-60-minutes-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-60-minutes</title>
+<del datetime="2011-11-12T06:54:39-08:60"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-iso8601-two-digit-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-iso8601-two-digit-novalid.html
new file mode 100644
index 000000000..307afcac7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-iso8601-two-digit-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-iso8601-two-digit</title>
+<del datetime="2011-11-12T06:54:39-08"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-lowercase-t-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-lowercase-t-novalid.html
new file mode 100644
index 000000000..a705cd02e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-lowercase-t-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-lowercase-t</title>
+<del datetime="2011-11-12t14:54Z"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minus-1300-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minus-1300-haswarn.html
new file mode 100644
index 000000000..ba2da9427
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minus-1300-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-minus-1300</title>
+<del datetime="2011-11-12T00:00:00-1300"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minus-2400-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minus-2400-novalid.html
new file mode 100644
index 000000000..8db2fa3ea
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minus-2400-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-minus-2400</title>
+<del datetime="2011-11-12T06:54:39-24:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minutes-15-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minutes-15-haswarn.html
new file mode 100644
index 000000000..c371fb902
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-minutes-15-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-minutes-15</title>
+<del datetime="2011-11-12T00:00:00+08:15"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-multiple-spaces-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-multiple-spaces-novalid.html
new file mode 100644
index 000000000..be4acace1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-multiple-spaces-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-multiple-spaces</title>
+<del datetime="2011-11-12 14:54Z"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-non-T-character-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-non-T-character-novalid.html
new file mode 100644
index 000000000..420ea8a0f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-non-T-character-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-non-T-character</title>
+<del datetime="2011-11-12+14:54Z"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-offset-colon-start-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-offset-colon-start-novalid.html
new file mode 100644
index 000000000..b91337fbb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-offset-colon-start-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-offset-colon-start</title>
+<del datetime="2011-11-12T06:54:39.929:08:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-offset-space-start-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-offset-space-start-novalid.html
new file mode 100644
index 000000000..81ace2b96
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-offset-space-start-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-offset-space-start</title>
+<del datetime="2011-11-12T06:54:39.929 08:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-one-digit-hour-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-one-digit-hour-novalid.html
new file mode 100644
index 000000000..cec77816f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-one-digit-hour-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-one-digit-hour</title>
+<del datetime="2011-11-12T06:54:39-5:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-one-digit-minute-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-one-digit-minute-novalid.html
new file mode 100644
index 000000000..c4755de17
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-one-digit-minute-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-one-digit-minute</title>
+<del datetime="2011-11-12T06:54:39-05:0"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-plus-1500-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-plus-1500-haswarn.html
new file mode 100644
index 000000000..df2835a86
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-plus-1500-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-plus-1500</title>
+<del datetime="2011-11-12T00:00:00+1500"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-plus-2400-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-plus-2400-novalid.html
new file mode 100644
index 000000000..304557f30
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-plus-2400-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-plus-2400</title>
+<del datetime="2011-11-12T06:54:39-24:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-three-digit-hour-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-three-digit-hour-novalid.html
new file mode 100644
index 000000000..407eac2fa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-three-digit-hour-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-three-digit-hour</title>
+<del datetime="2011-11-12T06:54:39-005:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-three-digit-minute-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-three-digit-minute-novalid.html
new file mode 100644
index 000000000..eb0c21ac0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-three-digit-minute-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-three-digit-minute</title>
+<del datetime="2011-11-12T06:54:39-05:000"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-with-seconds-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-with-seconds-novalid.html
new file mode 100644
index 000000000..616f3d207
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-timezone-with-seconds-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-with-seconds</title>
+<del datetime="2011-11-12T06:54:39-08:00:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-with-both-T-and-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-with-both-T-and-space-novalid.html
new file mode 100644
index 000000000..667c9bc37
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-with-both-T-and-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-with-both-T-and-space</title>
+<del datetime="2011-11-12T 14:54Z"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-wrong-minutes-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-wrong-minutes-separator-novalid.html
new file mode 100644
index 000000000..e35981364
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-wrong-minutes-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-wrong-minutes-separator</title>
+<del datetime="2011-11-12T14-54Z"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-wrong-seconds-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-wrong-seconds-separator-novalid.html
new file mode 100644
index 000000000..474a0505d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-wrong-seconds-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-wrong-seconds-separator</title>
+<del datetime="2011-11-12T14:54-39Z"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-zero-digit-fraction-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-zero-digit-fraction-novalid.html
new file mode 100644
index 000000000..9e143966e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/global-date-and-time-zero-digit-fraction-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-zero-digit-fraction</title>
+<del datetime="2011-11-12T06:54:39.-08:00"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/local-date-and-time-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/local-date-and-time-novalid.html
new file mode 100644
index 000000000..ec8744052
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/local-date-and-time-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>local-date-and-time</title>
+<del datetime="2011-11-12T14:54"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/model-isvalid.html
new file mode 100644
index 000000000..194678a65
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/model-isvalid.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;del&gt;</title>
+</head>
+<body>
+
+
+ <!-- can contain strictly inline while in strictly inline context -->
+ <p><dfn>strictly inline
+ <del>
+ <em>text</em>
+ </del>
+ </dfn></p>
+
+ <!-- can contain interactive if ancestor does not forbid it -->
+ <p>paragraph
+ <del>
+ <a>link</a>
+ </del>
+ </p>
+ <p><dfn>strictly inline
+ <del>
+ <a>link</a>
+ </del>
+ </dfn></p>
+
+ <div><del><p>foo</p></del></div><!-- with flow content and flow parent -->
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/model-novalid.html
new file mode 100644
index 000000000..0cf5c1797
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/model-novalid.html
@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;del&gt;</title>
+</head>
+<body>
+ <!-- can contain inline while in inline context -->
+ <p>paragraph
+ <del>
+ <em>some</em> <ul><li>inline</li></ul> content
+ </del>
+ </p>
+
+ <!-- can contain strictly inline while in strictly inline context -->
+ <p><dfn>strictly inline
+ <del>
+ <em>text</em>
+ </del>
+ </dfn></p>
+
+ <!-- can contain blocks while in block context -->
+ <del>
+ <p>text</p>
+ </del>
+
+ <!-- can contain interactive if ancestor does not forbid it -->
+ <p>paragraph
+ <del>
+ <a>link</a>
+ </del>
+ </p>
+ <p><dfn>strictly inline
+ <del>
+ <a>link</a>
+ </del>
+ </dfn></p>
+ <del>
+ <p><a>link</a></p>
+ </del>
+
+ <span><del><p>foo</p></del></span><!-- with flow content and phrasing parent -->
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/month-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/month-novalid.html
new file mode 100644
index 000000000..0aa424db5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/month-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>month</title>
+<del datetime="2011-11"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/time-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/time-novalid.html
new file mode 100644
index 000000000..c9dabd72c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/time-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>time</title>
+<del datetime="14:54:39"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/week-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/week-novalid.html
new file mode 100644
index 000000000..d4a806363
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/week-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>week</title>
+<del datetime="2011-W46"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/year-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/year-novalid.html
new file mode 100644
index 000000000..560309cf5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/year-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>year</title>
+<del datetime="2006"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/del/yearless-date-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/del/yearless-date-novalid.html
new file mode 100644
index 000000000..4374fafc3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/del/yearless-date-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>yearless-date</title>
+<del datetime="07-15"></del> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/dfn/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/dfn/model-isvalid.html
new file mode 100644
index 000000000..15c72b4fc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/dfn/model-isvalid.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;dfn&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><dfn class="class" lang="en" title="text1">text</dfn></p>
+
+ <!-- is strictly inline -->
+ <p><i><dfn class="class" lang="en">text2</dfn></i></p>
+
+ <!-- can be empty -->
+ <p>text <dfn></dfn></p>
+ <p>text <i><dfn title="text3"></dfn></i></p>
+
+ <!-- can contain interactive -->
+ <p><dfn><a>text4</a></dfn></p>
+ <p><i><dfn><a>text5</a></dfn></i></p>
+
+ <!-- cannot contain structured inline -->
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/dfn/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/dfn/model-novalid.html
new file mode 100644
index 000000000..7933d75da
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/dfn/model-novalid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;dfn&gt;</title>
+</head>
+<body>
+ <!-- not a block -->
+ <dfn>text</dfn>
+
+ <!-- cannot contain structured inline -->
+ <p><dfn><ul><li>text</li></ul></dfn></p>
+
+ <!-- cannot contain interactive if parent forbids interactive -->
+ <p><a><dfn><a>text</a></dfn></a></p>
+ <p><a><var><dfn><a>text</a></dfn></var></a></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/dialog/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/dialog/model-novalid.html
new file mode 100644
index 000000000..f95676e37
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/dialog/model-novalid.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;dialog&gt;</title>
+</head>
+<body>
+<dialog>
+<dt>Foo</dt>
+<dt>Bar</dt>
+<dd><p>Blah</p></dd>
+<dd><p>Bleh</p></dd>
+</dialog>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/div/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/div/model-isvalid.html
new file mode 100644
index 000000000..8d1ad0bf8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/div/model-isvalid.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;div&gt;</title>
+</head>
+<body>
+ <!-- is block, contains blocks -->
+ <div class="class" id="id" lang="en">
+ <p>text</p>
+ <p>text2</p>
+ <ul></ul>
+ </div>
+
+ <!-- can contain interactive -->
+ <div>
+ <p><a>text</a></p>
+ </div>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/div/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/div/model-novalid.html
new file mode 100644
index 000000000..a7d8e4f60
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/div/model-novalid.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;div&gt;</title>
+</head>
+<body>
+ <!-- is not strictly inline -->
+ <p><dfn>text
+ <div>
+ <p>text</p>
+ </div>
+ </dfn></p>
+
+ <!-- is not structured inline -->
+ <p>text
+ <div>
+ <p>text</p>
+ </div>
+ </p>
+
+ <!-- cannot contain inline -->
+ <div>
+ some <em>text</em>
+ </div>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/dl/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/dl/model-isvalid.html
new file mode 100644
index 000000000..c7a5de96c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/dl/model-isvalid.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>Definition List: &lt;dl&gt; &lt;dt&gt; &lt;dd&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <dl class="class" id="id" lang="en">
+ <dt class="class" id="id2" lang="en">text</dt>
+ <dd class="class" id="id3" lang="en">text</dd>
+ </dl>
+
+ <!-- can be empty -->
+ <dl></dl>
+ <dl>
+ <dt></dt>
+ <dd></dd>
+ </dl>
+
+ <!-- multiple groups, but always (dt+,dd+) -->
+ <dl>
+ <dt>text</dt>
+ <dd>more text</dd>
+ <dt>text</dt>
+ <dd>more text</dd>
+ <dd>more text</dd>
+ <dt>text</dt>
+ <dt>text</dt>
+ <dt>text</dt>
+ <dd>more text</dd>
+ </dl>
+
+ <!-- dd can contain structured inline, dt strictly inline -->
+ <dl>
+ <dt>some <em>text</em></dt>
+ <dd>more <pre>text</pre></dd>
+ </dl>
+
+ <!-- dd can contain blocks -->
+ <dl>
+ <dt>some <em>text</em></dt>
+ <dd>
+ <p>more</p>
+ <p>text</p>
+ </dd>
+ </dl>
+
+ <!-- can contain interactive -->
+ <dl>
+ <dt>some <a>text</a></dt>
+ <dd>more <a>text</a></dd>
+ </dl>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/dl/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/dl/model-novalid.html
new file mode 100644
index 000000000..0eacdf8db
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/dl/model-novalid.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>Definition List: &lt;dl&gt; &lt;dt&gt; &lt;dd&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <dl class="class" id="id" lang="en">
+ <dt class="class" id="id" lang="en">text</dt>
+ <dd class="class" id="id" lang="en">text</dd>
+ </dl>
+
+ <!-- is structured inline -->
+ <p>paragraph
+ <dl class="class" id="id" lang="en">
+ <dt class="class" id="id" lang="en">text</dt>
+ <dd class="class" id="id" lang="en">text</dd>
+ </dl>
+ </p>
+
+ <!-- can be empty -->
+ <dl></dl>
+ <dl>
+ <dt></dt>
+ <dd></dd>
+ </dl>
+
+ <!-- multiple groups, but always (dt+,dd+) -->
+ <dl>
+ <dt>text</dt>
+ <dd>more text</dd>
+ <dt>text</dt>
+ <dd>more text</dd>
+ <dd>more text</dd>
+ <dt>text</dt>
+ <dt>text</dt>
+ <dt>text</dt>
+ <dd>more text</dd>
+ </dl>
+
+ <!-- dd can contain structured inline, dt strictly inline -->
+ <dl>
+ <dt>some <em>text</em></dt>
+ <dd>more <pre>text</pre></dd>
+ </dl>
+ <p>paragraph
+ <dl>
+ <dt>some <em>text</em></dt>
+ <dd>more <pre>text</pre></dd>
+ </dl>
+ </p>
+
+ <!-- dd can contain blocks -->
+ <dl>
+ <dt>some <em>text</em></dt>
+ <dd>
+ <p>more</p>
+ <p>text</p>
+ </dd>
+ </dl>
+
+ <!-- can contain interactive -->
+ <dl>
+ <dt>some <a>text</a></dt>
+ <dd>more <a>text</a></dd>
+ </dl>
+ <p>paragraph
+ <dl>
+ <dt>some <a>text</a></dt>
+ <dd>more <a>text</a></dd>
+ </dl>
+ </p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/em/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/em/model-isvalid.html
new file mode 100644
index 000000000..a473a3479
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/em/model-isvalid.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;em&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><em class="class" lang="en">text</em></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><em class="class" lang="en">text</em></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <em></em></p>
+ <p>text <dfn><em></em></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><em><a>text</a></em></p>
+ <p><dfn><em><a>text</a></em></dfn></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/em/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/em/model-novalid.html
new file mode 100644
index 000000000..1b721e7b5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/em/model-novalid.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;em&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><em class="class" lang="en">text</em></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><em class="class" lang="en">text</em></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <em></em></p>
+ <p>text <dfn><em></em></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><em><a>text</a></em></p>
+ <p><dfn><em><a>text</a></em></dfn></p>
+
+ <!-- cannot contain structured inline -->
+ <p><em>text <ul><li>list</li></ul> <em>elem</em></em></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/height-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/height-novalid.html
new file mode 100644
index 000000000..62ca5efdf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/height-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>element embed with bad height value</title>
+</head>
+<body>
+<embed height="20%">
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src-empty-novalid.html
new file mode 100644
index 000000000..fb5b6222d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<embed src="">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src-isvalid.html
new file mode 100644
index 000000000..4b6e213ec
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid src</title>
+<embed src="file:///"><!-- scheme-file-slash-slash-slash-only -->
+<embed src="http://a:@www.example.com"><!-- userinfo-password-empty -->
+<embed src="foo://///////"><!-- scheme-private-path-leading-slashes-only -->
+<embed src="file://abc|/foo/bar"><!-- scheme-file-slash-slash-abc-bar -->
+<embed src="/a/b/c"><!-- path-simple-relative -->
+<embed src="http://example.com/你好你好"><!-- path-unicode-han -->
+<embed src="/a/%2f/c"><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<embed src="http://f:/c"><!-- port-none-but-colon -->
+<embed src="http://example.com/foo%41%7a"><!-- path-percent-encoded-multiple -->
+<embed src="http://192.168.0.257/"><!-- host-IP-address-broken -->
+<embed src="madeupscheme:example.com/"><!-- scheme-private-no-slash -->
+<embed src="?"><!-- query-empty-no-path-relative -->
+<embed src="http://example.com/%20foo"><!-- path-percent-encoded-space -->
+<embed src="mailto:/example.com/"><!-- scheme-mailto-single-slash -->
+<embed src="::"><!-- path-leading-colon-colon-relative -->
+<embed src="http://example.com/%3A%3a%3C%3c"><!-- path-percent-encoded-mixed-case -->
+<embed src="http://user:pass@foo:21/bar;par?b#c"><!-- userinfo -->
+<embed src="ws:/example.com/"><!-- scheme-ws-single-slash -->
+<embed src="foo://"><!-- scheme-private-slash-slash -->
+<embed src="#"><!-- fragment-empty-hash-only-no-path-relative -->
+<embed src="http://f:00000000000000/c"><!-- port-00000000000000 -->
+<embed src="foo:////://///"><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<embed src=":23"><!-- path-leading-colon-number-relative -->
+<embed src="foo:/"><!-- scheme-private-slash -->
+<embed src="http://💩"><!-- host-is-pile-of-poo -->
+<embed src="file:test"><!-- scheme-file-no-slash -->
+<embed src="file://C|/foo/bar"><!-- scheme-file-slash-slash-c-bar -->
+<embed src="#/"><!-- fragment-slash-relative -->
+<embed src="http://192.0x00A80001"><!-- host-192.0x00A80001 -->
+<embed src="foo.com"><!-- scheme-none-relative -->
+<embed src="http💩//:foo"><!-- path-contains-pile-of-poo -->
+<embed src="File://foo/bar.html"><!-- scheme-file-uppercase -->
+<embed src=":/"><!-- path-leading-colon-slash-relative -->
+<embed src="http://www.foo。bar.com"><!-- host-exotic-dot -->
+<embed src="http://GOO​⁠goo.com"><!-- host-exotic-whitespace -->
+<embed src="file:///foo/bar.txt"><!-- scheme-file-host-empty -->
+<embed src="javascript:/example.com/"><!-- scheme-javascript-single-slash -->
+<embed src="gopher:/example.com/"><!-- scheme-gopher-single-slash -->
+<embed src="ftps:example.com/"><!-- scheme-ftps-no-slash -->
+<embed src="file://server/foo/bar"><!-- scheme-file-host-included -->
+<embed src="http://example.com/foo%00"><!-- path-percent-encoded-u0000 -->
+<embed src="a:foo.com"><!-- scheme-private -->
+<embed src=":"><!-- path-colon-relative -->
+<embed src="http://:b@www.example.com"><!-- userinfo-user-empty -->
+<embed src="file:/"><!-- scheme-file-slash-only -->
+<embed src="wss:example.com/"><!-- scheme-wss-no-slash -->
+<embed src="::23"><!-- path-colon-colon-number-relative -->
+<embed src="/a%2fc"><!-- path-percent-encoded-slash-relative -->
+<embed src="http://a:b@c:29/d"><!-- userinfo-host-port-path -->
+<embed src="gopher:example.com/"><!-- scheme-gopher-no-slash -->
+<embed src="madeupscheme:/example.com/"><!-- scheme-private-single-slash -->
+<embed src="mailto:example.com/"><!-- scheme-mailto-no-slash -->
+<embed src="http://%25DOMAIN:foobar@foodomain.com"><!-- userinfo-username-contains-percent-encoded -->
+<embed src="/:23"><!-- path-slash-colon-number-relative -->
+<embed src="foo://///////bar.com/"><!-- scheme-private-path-leading-slashes-chars -->
+<embed src="http://[2001::1]:80"><!-- host-ipv6-port -->
+<embed src="data:text/plain,foo"><!-- scheme-data-no-slash -->
+<embed src="http://example.com/foo/%2e"><!-- path-percent-encoded-dot -->
+<embed src="file:/example.com/"><!-- scheme-file-single-slash -->
+<embed src="http://example.com/©zbar"><!-- path-non-ascii -->
+<embed src="http://example.com//foo"><!-- path-uFEFF -->
+<embed src="wss:/example.com/"><!-- scheme-wss-single-slash -->
+<embed src="http://foo/abcd#foo?bar"><!-- fragment-contains-question-mark -->
+<embed src=":#"><!-- path-leading-colon-hash-relative -->
+<embed src="http://example.com/foo%91"><!-- path-percent-encoded-u0091 -->
+<embed src="c:/foo"><!-- scheme-private-single-letter -->
+<embed src=":foo.com"><!-- path-leading-colon-chars-relative -->
+<embed src="http://你好你好"><!-- host-idn-unicode-han -->
+<embed src="http://example.com/foo#💩"><!-- fragment-contains-pile-of-poo -->
+<embed src="file:"><!-- scheme-file-scheme-only -->
+<embed src="#β"><!-- fragment-non-ascii-relative -->
+<embed src="foo:/bar.com/"><!-- scheme-private-path -->
+<embed src="http://f:0/c"><!-- port-0 -->
+<embed src="#;?"><!-- fragment-semicolon-question-mark-relative -->
+<embed src="http://Go.com"><!-- host-fullwidth -->
+<embed src="http://@www.example.com"><!-- userinfo-empty -->
+<embed src="http://example.com/‮/foo/‭/bar"><!-- path-u202E-u202D -->
+<embed src="http://[2001::1]"><!-- host-ipv6 -->
+<embed src="💩http://foo"><!-- path-starts-with-pile-of-poo -->
+<embed src="http://foo/abcd?efgh?ijkl"><!-- query-contains-question-mark -->
+<embed src="//foo/bar"><!-- scheme-schemeless-relative -->
+<embed src="ftps:/example.com/"><!-- scheme-ftps-single-slash -->
+<embed src="http://foo.com:b@d/"><!-- userinfo-username-non-alpha -->
+<embed src=":a"><!-- path-leading-colon-letter-relative -->
+<embed src="/"><!-- path-slash-only-relative -->
+<embed src="http://example.com/foo?💩"><!-- query-contains-pile-of-poo -->
+<embed src="http://f:00000000000000000000080/c"><!-- port-00000000000000000000080 -->
+<embed src="file://"><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src-whitespace-only-novalid.html
new file mode 100644
index 000000000..e9259d6a3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<embed src="
+">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/fragment-backslash-novalid.html
new file mode 100644
index 000000000..28ac5498a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-backslash</title>
+<embed src="#\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..9e05657cb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-contains-hash</title>
+<embed src="http://foo/path#f#g">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..3e2845abf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-leading-space</title>
+<embed src="http://f:21/b# e">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-cr-novalid.html
new file mode 100644
index 000000000..d8e03b525
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-cr</title>
+<embed src="http://example. org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..964426175
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded</title>
+<embed src="http://%41.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..83513733f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded-percent-encoded</title>
+<embed src="http://%ef%bc%85%ef%bc%94%ef%bc%91.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-empty-novalid.html
new file mode 100644
index 000000000..b0b4eab59
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty</title>
+<embed src="http://">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..2d9d0d019
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-userinfo-empty</title>
+<embed src="http://@/www.example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..be983e2ee
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-with-userinfo</title>
+<embed src="http://user:pass@/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..a636d4920
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-hostname-in-brackets</title>
+<embed src="http://[www.google.com]/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..a50f5435c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode</title>
+<embed src="http://﷐zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..2cd5dced0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode-percent-encoded</title>
+<embed src="http://%ef%b7%90zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-newline-novalid.html
new file mode 100644
index 000000000..ce5e9c395
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-newline</title>
+<embed src="http://example.
+org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-space-novalid.html
new file mode 100644
index 000000000..8e48edb29
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-space</title>
+<embed src="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..34ff35c85
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-square-brackets-port-contains-colon</title>
+<embed src="http://[1::2]:3:4">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-tab-novalid.html
new file mode 100644
index 000000000..54eb72ada
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-tab</title>
+<embed src="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..f9da71c71
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded</title>
+<embed src="http://%00.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..cbb60db22
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded-percent-encoded</title>
+<embed src="http://%ef%bc%85%ef%bc%90%ef%bc%90.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..8fece4c1f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-bare-percent-sign</title>
+<embed src="http://example.com/foo%">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-contains-space-novalid.html
new file mode 100644
index 000000000..729219ae0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-contains-space</title>
+<embed src="/a/ /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..daa9caf21
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-backslash-at-sign</title>
+<embed src="http://foo.com/\@">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..dbd21679c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-backslash</title>
+<embed src=":\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..fbb85e06f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-chars-backslash</title>
+<embed src=":foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-leading-space-novalid.html
new file mode 100644
index 000000000..826a9b663
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-space</title>
+<embed src="http://f:21/ b">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..bd1cec37d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-percent-encoded-malformed</title>
+<embed src="http://example.com/foo/%2e%2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..0d664b33d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-relative-square-brackets</title>
+<embed src="[61:24:74]:98">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-tab-novalid.html
new file mode 100644
index 000000000..e567b2e1c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-tab</title>
+<embed src="http://example.com/foo bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-trailing-space-novalid.html
new file mode 100644
index 000000000..813f1c09a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-trailing-space</title>
+<embed src="http://f:21/b ?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-u0091-novalid.html
new file mode 100644
index 000000000..3725b447e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-u0091</title>
+<embed src="http://example.com/foo‘">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-999999-novalid.html
new file mode 100644
index 000000000..21fb6e26f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-999999</title>
+<embed src="http://f:999999/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-cr-novalid.html
new file mode 100644
index 000000000..f91f00a59
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-cr</title>
+<embed src="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..216c25b41
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon-bracket-colon</title>
+<embed src="http://2001::1]:80">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-leading-colon-novalid.html
new file mode 100644
index 000000000..02f550374
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon</title>
+<embed src="http://2001::1">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-leading-dash-novalid.html
new file mode 100644
index 000000000..fab5f995e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-dash</title>
+<embed src="http://foo:-80/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..4c6f73d50
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-multiple-letters</title>
+<embed src="http://f:fifty-two/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-newline-novalid.html
new file mode 100644
index 000000000..f434a0f82
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-newline</title>
+<embed src="http://f:
+/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-single-letter-novalid.html
new file mode 100644
index 000000000..a685bd389
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-single-letter</title>
+<embed src="http://f:b/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-space-novalid.html
new file mode 100644
index 000000000..b21dc0932
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-space</title>
+<embed src="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-tab-novalid.html
new file mode 100644
index 000000000..ee1329d15
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-tab</title>
+<embed src="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/query-leading-space-novalid.html
new file mode 100644
index 000000000..16c00ae10
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-leading-space</title>
+<embed src="http://f:21/b? d">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/query-trailing-space-novalid.html
new file mode 100644
index 000000000..6e75ffc41
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-trailing-space</title>
+<embed src="http://f:21/b?d #">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..f13b3b666
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>src warning: scheme-data-contains-fragment</title>
+<embed src="data:text/html,test#test">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..e29dbb421
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-data-single-slash</title>
+<embed src="data:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..72babd1bb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-backslash</title>
+<embed src="file:c:\foo\bar.html">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..0d49b31e8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-single-slash-c-bar</title>
+<embed src="file:/C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..3f84b6e8b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-triple-slash-c-bar</title>
+<embed src="file:///C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..af6d96024
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-no-slash</title>
+<embed src="ftp:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..02cfc51d3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-single-slash</title>
+<embed src="ftp:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..6847bac4e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-backslash</title>
+<embed src="http:\\foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..1e5a0f2c8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-colon</title>
+<embed src="http::@c:29">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..f97dfe838
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash</title>
+<embed src="http:foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..524d4bb6d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-square-bracket</title>
+<embed src="http:[61:27]/:foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..31e7be41b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-single-slash</title>
+<embed src="http:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..1aeaae422
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-no-slash</title>
+<embed src="https:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..7b3fec7e8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-single-slash</title>
+<embed src="https:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..52aff9fb7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-javascript-no-slash-malformed</title>
+<embed src="javascript:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..f0c5d9307
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-cr</title>
+<embed src="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..3829a82fe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-newline</title>
+<embed src="a:
+foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..e3a98caec
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-space</title>
+<embed src="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..6a1610d61
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-tab</title>
+<embed src="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..d662052c1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-backslash</title>
+<embed src="http://a\b:c\d@foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..ebd745206
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-bad-chars</title>
+<embed src="http://&a:foo(b]c@d:2/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..658d48c46
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-contains-pile-of-poo</title>
+<embed src="http://foo:💩@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..d0963b795
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-at-sign</title>
+<embed src="http://::@c@d:2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..6f102c353
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/src/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-pile-of-poo</title>
+<embed src="http://💩:foo@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/type-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/type-novalid.html
new file mode 100644
index 000000000..c6d456e46
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/type-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>element embed with bad type value</title>
+</head>
+<body>
+<embed type="foo">
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/embed/width-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/embed/width-novalid.html
new file mode 100644
index 000000000..7e6e4449c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/embed/width-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>element embed with bad width value</title>
+</head>
+<body>
+<embed width="20%">
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/footer/nested-footer-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/footer/nested-footer-novalid.html
new file mode 100644
index 000000000..1dd79e864
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/footer/nested-footer-novalid.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>"footer" with "footer" descendant</title>
+</head>
+<body>
+<footer>
+<footer></footer>
+</footer>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/footer/nested-header-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/footer/nested-header-novalid.html
new file mode 100644
index 000000000..26c60a31f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/footer/nested-header-novalid.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>"footer" with "header" descendant</title>
+</head>
+<body>
+<footer>
+<header></header>
+</footer>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action-empty-novalid.html
new file mode 100644
index 000000000..4090e01ce
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty action is not valid</title>
+<form action=""></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action-isvalid.html
new file mode 100644
index 000000000..a7fb1360d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid action</title>
+<form action="file:///"></form><!-- scheme-file-slash-slash-slash-only -->
+<form action="http://a:@www.example.com"></form><!-- userinfo-password-empty -->
+<form action="foo://///////"></form><!-- scheme-private-path-leading-slashes-only -->
+<form action="file://abc|/foo/bar"></form><!-- scheme-file-slash-slash-abc-bar -->
+<form action="/a/b/c"></form><!-- path-simple-relative -->
+<form action="http://example.com/你好你好"></form><!-- path-unicode-han -->
+<form action="/a/%2f/c"></form><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<form action="http://f:/c"></form><!-- port-none-but-colon -->
+<form action="http://example.com/foo%41%7a"></form><!-- path-percent-encoded-multiple -->
+<form action="http://192.168.0.257/"></form><!-- host-IP-address-broken -->
+<form action="madeupscheme:example.com/"></form><!-- scheme-private-no-slash -->
+<form action="?"></form><!-- query-empty-no-path-relative -->
+<form action="http://example.com/%20foo"></form><!-- path-percent-encoded-space -->
+<form action="mailto:/example.com/"></form><!-- scheme-mailto-single-slash -->
+<form action="::"></form><!-- path-leading-colon-colon-relative -->
+<form action="http://example.com/%3A%3a%3C%3c"></form><!-- path-percent-encoded-mixed-case -->
+<form action="http://user:pass@foo:21/bar;par?b#c"></form><!-- userinfo -->
+<form action="ws:/example.com/"></form><!-- scheme-ws-single-slash -->
+<form action="foo://"></form><!-- scheme-private-slash-slash -->
+<form action="#"></form><!-- fragment-empty-hash-only-no-path-relative -->
+<form action="http://f:00000000000000/c"></form><!-- port-00000000000000 -->
+<form action="foo:////://///"></form><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<form action=":23"></form><!-- path-leading-colon-number-relative -->
+<form action="foo:/"></form><!-- scheme-private-slash -->
+<form action="http://💩"></form><!-- host-is-pile-of-poo -->
+<form action="file:test"></form><!-- scheme-file-no-slash -->
+<form action="file://C|/foo/bar"></form><!-- scheme-file-slash-slash-c-bar -->
+<form action="#/"></form><!-- fragment-slash-relative -->
+<form action="http://192.0x00A80001"></form><!-- host-192.0x00A80001 -->
+<form action="foo.com"></form><!-- scheme-none-relative -->
+<form action="http💩//:foo"></form><!-- path-contains-pile-of-poo -->
+<form action="File://foo/bar.html"></form><!-- scheme-file-uppercase -->
+<form action=":/"></form><!-- path-leading-colon-slash-relative -->
+<form action="http://www.foo。bar.com"></form><!-- host-exotic-dot -->
+<form action="http://GOO​⁠goo.com"></form><!-- host-exotic-whitespace -->
+<form action="file:///foo/bar.txt"></form><!-- scheme-file-host-empty -->
+<form action="javascript:/example.com/"></form><!-- scheme-javascript-single-slash -->
+<form action="gopher:/example.com/"></form><!-- scheme-gopher-single-slash -->
+<form action="ftps:example.com/"></form><!-- scheme-ftps-no-slash -->
+<form action="file://server/foo/bar"></form><!-- scheme-file-host-included -->
+<form action="http://example.com/foo%00"></form><!-- path-percent-encoded-u0000 -->
+<form action="a:foo.com"></form><!-- scheme-private -->
+<form action=":"></form><!-- path-colon-relative -->
+<form action="http://:b@www.example.com"></form><!-- userinfo-user-empty -->
+<form action="file:/"></form><!-- scheme-file-slash-only -->
+<form action="wss:example.com/"></form><!-- scheme-wss-no-slash -->
+<form action="::23"></form><!-- path-colon-colon-number-relative -->
+<form action="/a%2fc"></form><!-- path-percent-encoded-slash-relative -->
+<form action="http://a:b@c:29/d"></form><!-- userinfo-host-port-path -->
+<form action="gopher:example.com/"></form><!-- scheme-gopher-no-slash -->
+<form action="madeupscheme:/example.com/"></form><!-- scheme-private-single-slash -->
+<form action="mailto:example.com/"></form><!-- scheme-mailto-no-slash -->
+<form action="http://%25DOMAIN:foobar@foodomain.com"></form><!-- userinfo-username-contains-percent-encoded -->
+<form action="/:23"></form><!-- path-slash-colon-number-relative -->
+<form action="foo://///////bar.com/"></form><!-- scheme-private-path-leading-slashes-chars -->
+<form action="http://[2001::1]:80"></form><!-- host-ipv6-port -->
+<form action="data:text/plain,foo"></form><!-- scheme-data-no-slash -->
+<form action="http://example.com/foo/%2e"></form><!-- path-percent-encoded-dot -->
+<form action="file:/example.com/"></form><!-- scheme-file-single-slash -->
+<form action="http://example.com/©zbar"></form><!-- path-non-ascii -->
+<form action="http://example.com//foo"></form><!-- path-uFEFF -->
+<form action="wss:/example.com/"></form><!-- scheme-wss-single-slash -->
+<form action="http://foo/abcd#foo?bar"></form><!-- fragment-contains-question-mark -->
+<form action=":#"></form><!-- path-leading-colon-hash-relative -->
+<form action="http://example.com/foo%91"></form><!-- path-percent-encoded-u0091 -->
+<form action="c:/foo"></form><!-- scheme-private-single-letter -->
+<form action=":foo.com"></form><!-- path-leading-colon-chars-relative -->
+<form action="http://你好你好"></form><!-- host-idn-unicode-han -->
+<form action="http://example.com/foo#💩"></form><!-- fragment-contains-pile-of-poo -->
+<form action="file:"></form><!-- scheme-file-scheme-only -->
+<form action="#β"></form><!-- fragment-non-ascii-relative -->
+<form action="foo:/bar.com/"></form><!-- scheme-private-path -->
+<form action="http://f:0/c"></form><!-- port-0 -->
+<form action="#;?"></form><!-- fragment-semicolon-question-mark-relative -->
+<form action="http://Go.com"></form><!-- host-fullwidth -->
+<form action="http://@www.example.com"></form><!-- userinfo-empty -->
+<form action="http://example.com/‮/foo/‭/bar"></form><!-- path-u202E-u202D -->
+<form action="http://[2001::1]"></form><!-- host-ipv6 -->
+<form action="💩http://foo"></form><!-- path-starts-with-pile-of-poo -->
+<form action="http://foo/abcd?efgh?ijkl"></form><!-- query-contains-question-mark -->
+<form action="//foo/bar"></form><!-- scheme-schemeless-relative -->
+<form action="ftps:/example.com/"></form><!-- scheme-ftps-single-slash -->
+<form action="http://foo.com:b@d/"></form><!-- userinfo-username-non-alpha -->
+<form action=":a"></form><!-- path-leading-colon-letter-relative -->
+<form action="/"></form><!-- path-slash-only-relative -->
+<form action="http://example.com/foo?💩"></form><!-- query-contains-pile-of-poo -->
+<form action="http://f:00000000000000000000080/c"></form><!-- port-00000000000000000000080 -->
+<form action="file://"></form><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action-whitespace-only-novalid.html
new file mode 100644
index 000000000..23222c775
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty action is not valid</title>
+<form action="
+"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/fragment-backslash-novalid.html
new file mode 100644
index 000000000..d5a014727
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: fragment-backslash</title>
+<form action="#\"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..8dfcce917
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: fragment-contains-hash</title>
+<form action="http://foo/path#f#g"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..b95be6bed
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: fragment-leading-space</title>
+<form action="http://f:21/b# e"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-cr-novalid.html
new file mode 100644
index 000000000..57be7114f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: host-cr</title>
+<form action="http://example. org"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..df5e0d4a0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: host-double-percent-encoded</title>
+<form action="http://%41.com"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..eab6133a8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: host-double-percent-encoded-percent-encoded</title>
+<form action="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-empty-novalid.html
new file mode 100644
index 000000000..1879fc86d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: host-empty</title>
+<form action="http://"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..e76897864
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: host-empty-userinfo-empty</title>
+<form action="http://@/www.example.com"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..dceaae334
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: host-empty-with-userinfo</title>
+<form action="http://user:pass@/"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..9d707cd4d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: host-hostname-in-brackets</title>
+<form action="http://[www.google.com]/"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..6613d7ae5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: host-invalid-unicode</title>
+<form action="http://﷐zyx.com"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..cbabc9d37
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: host-invalid-unicode-percent-encoded</title>
+<form action="http://%ef%b7%90zyx.com"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-newline-novalid.html
new file mode 100644
index 000000000..f3c90d5ef
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: host-newline</title>
+<form action="http://example.
+org"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-space-novalid.html
new file mode 100644
index 000000000..a11559511
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: host-space</title>
+<form action="http://example .org"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..88042b5ab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: host-square-brackets-port-contains-colon</title>
+<form action="http://[1::2]:3:4"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-tab-novalid.html
new file mode 100644
index 000000000..a36e6597f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: host-tab</title>
+<form action="http://example .org"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..fc500a0b0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: host-u0000-percent-encoded</title>
+<form action="http://%00.com"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..0f9f20a4a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: host-u0000-percent-encoded-percent-encoded</title>
+<form action="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..be8318b82
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: path-bare-percent-sign</title>
+<form action="http://example.com/foo%"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-contains-space-novalid.html
new file mode 100644
index 000000000..4194fbad8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: path-contains-space</title>
+<form action="/a/ /c"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..e41abc4a4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: path-leading-backslash-at-sign</title>
+<form action="http://foo.com/\@"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..a967ca78a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: path-leading-colon-backslash</title>
+<form action=":\"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..2f50a571e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: path-leading-colon-chars-backslash</title>
+<form action=":foo.com\"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-leading-space-novalid.html
new file mode 100644
index 000000000..fae910c82
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: path-leading-space</title>
+<form action="http://f:21/ b"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..cc43c3942
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: path-percent-encoded-malformed</title>
+<form action="http://example.com/foo/%2e%2"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..b90ce6833
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: path-relative-square-brackets</title>
+<form action="[61:24:74]:98"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-tab-novalid.html
new file mode 100644
index 000000000..c08a28800
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: path-tab</title>
+<form action="http://example.com/foo bar"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-trailing-space-novalid.html
new file mode 100644
index 000000000..866ba41c5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: path-trailing-space</title>
+<form action="http://f:21/b ?"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-u0091-novalid.html
new file mode 100644
index 000000000..7f2bd6d66
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: path-u0091</title>
+<form action="http://example.com/foo‘"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-999999-novalid.html
new file mode 100644
index 000000000..fe4932f5f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: port-999999</title>
+<form action="http://f:999999/c"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-cr-novalid.html
new file mode 100644
index 000000000..07413a336
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: port-cr</title>
+<form action="http://f: /c"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..ca12578b0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: port-leading-colon-bracket-colon</title>
+<form action="http://2001::1]:80"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-leading-colon-novalid.html
new file mode 100644
index 000000000..ab06dfb6f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: port-leading-colon</title>
+<form action="http://2001::1"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-leading-dash-novalid.html
new file mode 100644
index 000000000..2192f87f6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: port-leading-dash</title>
+<form action="http://foo:-80/"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..def350e6c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: port-multiple-letters</title>
+<form action="http://f:fifty-two/c"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-newline-novalid.html
new file mode 100644
index 000000000..deeaa68a3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: port-newline</title>
+<form action="http://f:
+/c"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-single-letter-novalid.html
new file mode 100644
index 000000000..7aa8b83b6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: port-single-letter</title>
+<form action="http://f:b/c"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-space-novalid.html
new file mode 100644
index 000000000..27b549e46
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: port-space</title>
+<form action="http://f: /c"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-tab-novalid.html
new file mode 100644
index 000000000..99f6b9b0d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: port-tab</title>
+<form action="http://f: /c"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/query-leading-space-novalid.html
new file mode 100644
index 000000000..5c18e9aae
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: query-leading-space</title>
+<form action="http://f:21/b? d"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/query-trailing-space-novalid.html
new file mode 100644
index 000000000..103f75b79
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: query-trailing-space</title>
+<form action="http://f:21/b?d #"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..ba826225e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/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>
+<form action="data:text/html,test#test"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..738714d1a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-data-single-slash</title>
+<form action="data:/example.com/"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..7e944c657
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-file-backslash</title>
+<form action="file:c:\foo\bar.html"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..c72ada053
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-file-single-slash-c-bar</title>
+<form action="file:/C|/foo/bar"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..e4b1bbaad
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-file-triple-slash-c-bar</title>
+<form action="file:///C|/foo/bar"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..ea5f35911
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-ftp-no-slash</title>
+<form action="ftp:example.com/"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..9629bb8a6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-ftp-single-slash</title>
+<form action="ftp:/example.com/"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..672a812f8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-http-backslash</title>
+<form action="http:\\foo.com\"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..e6f8f724e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-http-no-slash-colon</title>
+<form action="http::@c:29"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..d53e1a2fd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-http-no-slash</title>
+<form action="http:foo.com"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..506ac46f3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-http-no-slash-square-bracket</title>
+<form action="http:[61:27]/:foo"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..047e218b0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-http-single-slash</title>
+<form action="http:/example.com/"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..8cb2a7f58
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-https-no-slash</title>
+<form action="https:example.com/"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..be422fdbf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-https-single-slash</title>
+<form action="https:/example.com/"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..bc66953ab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-javascript-no-slash-malformed</title>
+<form action="javascript:example.com/"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..6090097a6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-trailing-cr</title>
+<form action="a: foo.com"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..50c64a94f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-trailing-newline</title>
+<form action="a:
+foo.com"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..8632616c2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-trailing-space</title>
+<form action="a: foo.com"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..cd39c5ad6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: scheme-trailing-tab</title>
+<form action="a: foo.com"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..37ef4f201
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: userinfo-backslash</title>
+<form action="http://a\b:c\d@foo.com"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..1ed632962
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: userinfo-password-bad-chars</title>
+<form action="http://&a:foo(b]c@d:2/"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..33460c9ff
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: userinfo-password-contains-pile-of-poo</title>
+<form action="http://foo:💩@example.com"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..03cf27926
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: userinfo-username-contains-at-sign</title>
+<form action="http://::@c@d:2"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..ccc38c24f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/form/action/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid action: userinfo-username-contains-pile-of-poo</title>
+<form action="http://💩:foo@example.com"></form>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/h1/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/h1/model-isvalid.html
new file mode 100644
index 000000000..3e92f42e5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/h1/model-isvalid.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;h1&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <h1 class="class" id="id" lang="en">text</h1>
+
+ <!-- can contain strictly inline -->
+ <h1>text <em>elem</em></h1>
+
+ <!-- can contain interactive -->
+ <h1><a>text</a></h1>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/h1/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/h1/model-novalid.html
new file mode 100644
index 000000000..86eafc073
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/h1/model-novalid.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;h1&gt;</title>
+</head>
+<body>
+ <!-- is not strictly inline -->
+ <p><dfn>text
+ <h1>more text</h1>
+ </dfn></p>
+
+ <!-- is not structured inline -->
+ <p>text
+ <h1>more text</h1>
+ </p>
+
+ <!-- cannot contain blocks -->
+ <h1>
+ <p>p1</p>
+ <p>p2</p>
+ </h1>
+
+ <!-- cannot contain structured inline -->
+ <h1>text
+ <ul><li>text</li></ul>
+ </h1>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/h2/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/h2/model-isvalid.html
new file mode 100644
index 000000000..d1767ecaf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/h2/model-isvalid.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;h2&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <h2 class="class" id="id" lang="en">text</h2>
+
+ <!-- can contain strictly inline -->
+ <h2>text <em>elem</em></h2>
+
+ <!-- can contain interactive -->
+ <h2><a>text</a></h2>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/h2/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/h2/model-novalid.html
new file mode 100644
index 000000000..f4374f4fb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/h2/model-novalid.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;h2&gt;</title>
+</head>
+<body>
+ <!-- is not strictly inline -->
+ <p><dfn>text
+ <h2>more text</h2>
+ </dfn></p>
+
+ <!-- is not structured inline -->
+ <p>text
+ <h2>more text</h2>
+ </p>
+
+ <!-- cannot contain blocks -->
+ <h2>
+ <p>p1</p>
+ <p>p2</p>
+ </h2>
+
+ <!-- cannot contain structured inline -->
+ <h2>text
+ <ul><li>text</li></ul>
+ </h2>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/h3/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/h3/model-isvalid.html
new file mode 100644
index 000000000..29a870ea4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/h3/model-isvalid.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;h3&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <h3 class="class" id="id" lang="en">text</h3>
+
+ <!-- can contain strictly inline -->
+ <h3>text <em>elem</em></h3>
+
+ <!-- can contain interactive -->
+ <h3><a>text</a></h3>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/h3/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/h3/model-novalid.html
new file mode 100644
index 000000000..8df790333
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/h3/model-novalid.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;h3&gt;</title>
+</head>
+<body>
+ <!-- is not strictly inline -->
+ <p><dfn>text
+ <h3>more text</h3>
+ </dfn></p>
+
+ <!-- is not structured inline -->
+ <p>text
+ <h3>more text</h3>
+ </p>
+
+ <!-- cannot contain blocks -->
+ <h3>
+ <p>p1</p>
+ <p>p2</p>
+ </h3>
+
+ <!-- cannot contain structured inline -->
+ <h3>text
+ <ul><li>text</li></ul>
+ </h3>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/h4/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/h4/model-isvalid.html
new file mode 100644
index 000000000..657ed6a33
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/h4/model-isvalid.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;h4&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <h4 class="class" id="id" lang="en">text</h4>
+
+ <!-- can contain strictly inline -->
+ <h4>text <em>elem</em></h4>
+
+ <!-- can contain interactive -->
+ <h4><a>text</a></h4>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/h4/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/h4/model-novalid.html
new file mode 100644
index 000000000..1a0b1f28e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/h4/model-novalid.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;h4&gt;</title>
+</head>
+<body>
+ <!-- is not strictly inline -->
+ <p><dfn>text
+ <h4>more text</h4>
+ </dfn></p>
+
+ <!-- is not structured inline -->
+ <p>text
+ <h4>more text</h4>
+ </p>
+
+ <!-- cannot contain blocks -->
+ <h4>
+ <p>p1</p>
+ <p>p2</p>
+ </h4>
+
+ <!-- cannot contain structured inline -->
+ <h4>text
+ <ul><li>text</li></ul>
+ </h4>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/h5/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/h5/model-isvalid.html
new file mode 100644
index 000000000..6060e0384
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/h5/model-isvalid.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;h5&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <h5 class="class" id="id" lang="en">text</h5>
+
+ <!-- can contain strictly inline -->
+ <h5>text <em>elem</em></h5>
+
+ <!-- can contain interactive -->
+ <h5><a>text</a></h5>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/h5/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/h5/model-novalid.html
new file mode 100644
index 000000000..c88504826
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/h5/model-novalid.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;h5&gt;</title>
+</head>
+<body>
+ <!-- is not strictly inline -->
+ <p><dfn>text
+ <h5>more text</h5>
+ </dfn></p>
+
+ <!-- is not structured inline -->
+ <p>text
+ <h5>more text</h5>
+ </p>
+
+ <!-- cannot contain blocks -->
+ <h5>
+ <p>p1</p>
+ <p>p2</p>
+ </h5>
+
+ <!-- cannot contain structured inline -->
+ <h5>text
+ <ul><li>text</li></ul>
+ </h5>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/h6/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/h6/model-isvalid.html
new file mode 100644
index 000000000..9f971bd6f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/h6/model-isvalid.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;h6&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <h6 class="class" id="id" lang="en">text</h6>
+
+ <!-- can contain strictly inline -->
+ <h6>text <em>elem</em></h6>
+
+ <!-- can contain interactive -->
+ <h6><a>text</a></h6>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/h6/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/h6/model-novalid.html
new file mode 100644
index 000000000..a9a393e4c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/h6/model-novalid.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;h6&gt;</title>
+</head>
+<body>
+ <!-- is not strictly inline -->
+ <p><dfn>text
+ <h6>more text</h6>
+ </dfn></p>
+
+ <!-- is not structured inline -->
+ <p>text
+ <h6>more text</h6>
+ </p>
+
+ <!-- cannot contain blocks -->
+ <h6>
+ <p>p1</p>
+ <p>p2</p>
+ </h6>
+
+ <!-- cannot contain structured inline -->
+ <h6>text
+ <ul><li>text</li></ul>
+ </h6>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/header/nested-footer-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/header/nested-footer-novalid.html
new file mode 100644
index 000000000..958f974ee
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/header/nested-footer-novalid.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>"header" with "footer" descendant</title>
+</head>
+<body>
+<header>
+<footer></footer>
+</header>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/header/nested-header-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/header/nested-header-novalid.html
new file mode 100644
index 000000000..0a4d8b51c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/header/nested-header-novalid.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>"header" with "header" descendant</title>
+</head>
+<body>
+<header>
+<header></header>
+</header>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/hr/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/hr/model-isvalid.html
new file mode 100644
index 000000000..4202896bd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/hr/model-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;hr&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <hr class="class" id="id" lang="en">
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/hr/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/hr/model-novalid.html
new file mode 100644
index 000000000..1c76bfb6b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/hr/model-novalid.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;hr&gt;</title>
+</head>
+<body>
+ <!-- is not structured inline -->
+ <p>
+ <ul>
+ <li>
+ <hr>
+ </li>
+ </ul>
+ </p>
+
+ <!-- is not strictly inline -->
+ <p><dfn>text
+ <hr>
+ </dfn></p>
+
+ <!-- must be empty -->
+ <hr>
+ <p>p1</p>
+
+ <hr><em>text</em>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest-empty-novalid.html
new file mode 100644
index 000000000..23b82f543
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest-empty-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="">
+<meta charset=utf-8>
+<title>empty manifest is not valid</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest-whitespace-only-novalid.html
new file mode 100644
index 000000000..d9ee8070a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest-whitespace-only-novalid.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<html manifest="
+">
+<meta charset=utf-8>
+<title>empty manifest is not valid</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-backslash-novalid.html
new file mode 100644
index 000000000..00259455e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-backslash-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="#\">
+<meta charset=utf-8>
+<title>invalid manifest: fragment-backslash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..09d918e3e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-contains-hash-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://foo/path#f#g">
+<meta charset=utf-8>
+<title>invalid manifest: fragment-contains-hash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-contains-pile-of-poo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-contains-pile-of-poo-isvalid.html
new file mode 100644
index 000000000..fffad819a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-contains-pile-of-poo-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example.com/foo#💩">
+<meta charset=utf-8>
+<title>valid manifest: fragment-contains-pile-of-poo</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-contains-question-mark-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-contains-question-mark-isvalid.html
new file mode 100644
index 000000000..19187c700
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-contains-question-mark-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://foo/abcd#foo?bar">
+<meta charset=utf-8>
+<title>valid manifest: fragment-contains-question-mark</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-empty-hash-only-no-path-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-empty-hash-only-no-path-relative-isvalid.html
new file mode 100644
index 000000000..27b57ce23
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-empty-hash-only-no-path-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="#">
+<meta charset=utf-8>
+<title>valid manifest: fragment-empty-hash-only-no-path-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..c150d0835
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-leading-space-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://f:21/b# e">
+<meta charset=utf-8>
+<title>invalid manifest: fragment-leading-space</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-non-ascii-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-non-ascii-relative-isvalid.html
new file mode 100644
index 000000000..fb991b68e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-non-ascii-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="#β">
+<meta charset=utf-8>
+<title>valid manifest: fragment-non-ascii-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-semicolon-question-mark-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-semicolon-question-mark-relative-isvalid.html
new file mode 100644
index 000000000..ea5b80562
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-semicolon-question-mark-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="#;?">
+<meta charset=utf-8>
+<title>valid manifest: fragment-semicolon-question-mark-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-slash-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-slash-relative-isvalid.html
new file mode 100644
index 000000000..6ce956067
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/fragment-slash-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="#/">
+<meta charset=utf-8>
+<title>valid manifest: fragment-slash-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-192.0x00A80001-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-192.0x00A80001-isvalid.html
new file mode 100644
index 000000000..345fd9d64
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-192.0x00A80001-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://192.0x00A80001">
+<meta charset=utf-8>
+<title>valid manifest: host-192.0x00A80001</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-IP-address-broken-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-IP-address-broken-isvalid.html
new file mode 100644
index 000000000..38865022c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-IP-address-broken-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://192.168.0.257/">
+<meta charset=utf-8>
+<title>valid manifest: host-IP-address-broken</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-IP-address-fullwidth-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-IP-address-fullwidth-isvalid.html
new file mode 100644
index 000000000..10666ae29
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-IP-address-fullwidth-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://0Xc0.0250.01">
+<meta charset=utf-8>
+<title>valid manifest: host-IP-address-fullwidth</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-IP-address-percent-encoded-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-IP-address-percent-encoded-isvalid.html
new file mode 100644
index 000000000..200da79ba
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-IP-address-percent-encoded-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://%30%78%63%30%2e%30%32%35%30.01">
+<meta charset=utf-8>
+<title>valid manifest: host-IP-address-percent-encoded</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-cr-novalid.html
new file mode 100644
index 000000000..67825718a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-cr-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example. org">
+<meta charset=utf-8>
+<title>invalid manifest: host-cr</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..e18e4216b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-double-percent-encoded-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://%41.com">
+<meta charset=utf-8>
+<title>invalid manifest: host-double-percent-encoded</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..b2f7fb399
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://%ef%bc%85%ef%bc%94%ef%bc%91.com">
+<meta charset=utf-8>
+<title>invalid manifest: host-double-percent-encoded-percent-encoded</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-empty-novalid.html
new file mode 100644
index 000000000..c24cde01e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-empty-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://">
+<meta charset=utf-8>
+<title>invalid manifest: host-empty</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..36e22f736
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://@/www.example.com">
+<meta charset=utf-8>
+<title>invalid manifest: host-empty-userinfo-empty</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..80b3f8f07
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://user:pass@/">
+<meta charset=utf-8>
+<title>invalid manifest: host-empty-with-userinfo</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-exotic-dot-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-exotic-dot-isvalid.html
new file mode 100644
index 000000000..fa81d73b0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-exotic-dot-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://www.foo。bar.com">
+<meta charset=utf-8>
+<title>valid manifest: host-exotic-dot</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-exotic-whitespace-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-exotic-whitespace-isvalid.html
new file mode 100644
index 000000000..04d2499ca
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-exotic-whitespace-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://GOO​⁠goo.com">
+<meta charset=utf-8>
+<title>valid manifest: host-exotic-whitespace</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-fullwidth-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-fullwidth-isvalid.html
new file mode 100644
index 000000000..9d355c9ea
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-fullwidth-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://Go.com">
+<meta charset=utf-8>
+<title>valid manifest: host-fullwidth</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..a651c0003
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://[www.google.com]/">
+<meta charset=utf-8>
+<title>invalid manifest: host-hostname-in-brackets</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-idn-unicode-han-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-idn-unicode-han-isvalid.html
new file mode 100644
index 000000000..71e9530f5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-idn-unicode-han-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://你好你好">
+<meta charset=utf-8>
+<title>valid manifest: host-idn-unicode-han</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..d86538bd4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-invalid-unicode-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://﷐zyx.com">
+<meta charset=utf-8>
+<title>invalid manifest: host-invalid-unicode</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..c5a3810d4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://%ef%b7%90zyx.com">
+<meta charset=utf-8>
+<title>invalid manifest: host-invalid-unicode-percent-encoded</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-ipv6-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-ipv6-isvalid.html
new file mode 100644
index 000000000..c6cf13292
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-ipv6-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://[2001::1]">
+<meta charset=utf-8>
+<title>valid manifest: host-ipv6</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-ipv6-port-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-ipv6-port-isvalid.html
new file mode 100644
index 000000000..18292187a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-ipv6-port-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://[2001::1]:80">
+<meta charset=utf-8>
+<title>valid manifest: host-ipv6-port</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-is-pile-of-poo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-is-pile-of-poo-isvalid.html
new file mode 100644
index 000000000..a56696d18
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-is-pile-of-poo-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://💩">
+<meta charset=utf-8>
+<title>valid manifest: host-is-pile-of-poo</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-newline-novalid.html
new file mode 100644
index 000000000..8b4f8e048
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-newline-novalid.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<html manifest="http://example.
+org">
+<meta charset=utf-8>
+<title>invalid manifest: host-newline</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-space-novalid.html
new file mode 100644
index 000000000..53d49012e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-space-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example .org">
+<meta charset=utf-8>
+<title>invalid manifest: host-space</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..cb654811f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://[1::2]:3:4">
+<meta charset=utf-8>
+<title>invalid manifest: host-square-brackets-port-contains-colon</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-tab-novalid.html
new file mode 100644
index 000000000..abc896073
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-tab-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example .org">
+<meta charset=utf-8>
+<title>invalid manifest: host-tab</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..f1f22dfb2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://%00.com">
+<meta charset=utf-8>
+<title>invalid manifest: host-u0000-percent-encoded</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..bc5254117
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://%ef%bc%85%ef%bc%90%ef%bc%90.com">
+<meta charset=utf-8>
+<title>invalid manifest: host-u0000-percent-encoded-percent-encoded</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..39cb890aa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-bare-percent-sign-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example.com/foo%">
+<meta charset=utf-8>
+<title>invalid manifest: path-bare-percent-sign</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-colon-colon-number-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-colon-colon-number-relative-isvalid.html
new file mode 100644
index 000000000..9110e6194
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-colon-colon-number-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="::23">
+<meta charset=utf-8>
+<title>valid manifest: path-colon-colon-number-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-colon-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-colon-relative-isvalid.html
new file mode 100644
index 000000000..9387fbf07
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-colon-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest=":">
+<meta charset=utf-8>
+<title>valid manifest: path-colon-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-contains-pile-of-poo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-contains-pile-of-poo-isvalid.html
new file mode 100644
index 000000000..7fcc6f644
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-contains-pile-of-poo-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http💩//:foo">
+<meta charset=utf-8>
+<title>valid manifest: path-contains-pile-of-poo</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-contains-space-novalid.html
new file mode 100644
index 000000000..e44c2fbcb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-contains-space-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="/a/ /c">
+<meta charset=utf-8>
+<title>invalid manifest: path-contains-space</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..efc42dfb6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://foo.com/\@">
+<meta charset=utf-8>
+<title>invalid manifest: path-leading-backslash-at-sign</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..7621629aa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest=":\">
+<meta charset=utf-8>
+<title>invalid manifest: path-leading-colon-backslash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..61407fb53
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest=":foo.com\">
+<meta charset=utf-8>
+<title>invalid manifest: path-leading-colon-chars-backslash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-chars-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-chars-relative-isvalid.html
new file mode 100644
index 000000000..d211906ba
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-chars-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest=":foo.com">
+<meta charset=utf-8>
+<title>valid manifest: path-leading-colon-chars-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-colon-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-colon-relative-isvalid.html
new file mode 100644
index 000000000..82d824f61
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-colon-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="::">
+<meta charset=utf-8>
+<title>valid manifest: path-leading-colon-colon-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-hash-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-hash-relative-isvalid.html
new file mode 100644
index 000000000..8e4165d03
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-hash-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest=":#">
+<meta charset=utf-8>
+<title>valid manifest: path-leading-colon-hash-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-letter-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-letter-relative-isvalid.html
new file mode 100644
index 000000000..d60081dc7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-letter-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest=":a">
+<meta charset=utf-8>
+<title>valid manifest: path-leading-colon-letter-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-number-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-number-relative-isvalid.html
new file mode 100644
index 000000000..d89a20bda
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-number-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest=":23">
+<meta charset=utf-8>
+<title>valid manifest: path-leading-colon-number-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-slash-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-slash-relative-isvalid.html
new file mode 100644
index 000000000..246fd8028
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-colon-slash-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest=":/">
+<meta charset=utf-8>
+<title>valid manifest: path-leading-colon-slash-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-space-novalid.html
new file mode 100644
index 000000000..e723ed665
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-leading-space-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://f:21/ b">
+<meta charset=utf-8>
+<title>invalid manifest: path-leading-space</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-non-ascii-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-non-ascii-isvalid.html
new file mode 100644
index 000000000..37ef395ea
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-non-ascii-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example.com/©zbar">
+<meta charset=utf-8>
+<title>valid manifest: path-non-ascii</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-dot-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-dot-isvalid.html
new file mode 100644
index 000000000..855f316cb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-dot-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example.com/foo/%2e">
+<meta charset=utf-8>
+<title>valid manifest: path-percent-encoded-dot</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..f9bbb42f6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example.com/foo/%2e%2">
+<meta charset=utf-8>
+<title>invalid manifest: path-percent-encoded-malformed</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-mixed-case-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-mixed-case-isvalid.html
new file mode 100644
index 000000000..a8d9c9224
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-mixed-case-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example.com/%3A%3a%3C%3c">
+<meta charset=utf-8>
+<title>valid manifest: path-percent-encoded-mixed-case</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-multiple-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-multiple-isvalid.html
new file mode 100644
index 000000000..4e9cfb94e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-multiple-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example.com/foo%41%7a">
+<meta charset=utf-8>
+<title>valid manifest: path-percent-encoded-multiple</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-slash-plus-slashes-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-slash-plus-slashes-relative-isvalid.html
new file mode 100644
index 000000000..6e703da5c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-slash-plus-slashes-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="/a/%2f/c">
+<meta charset=utf-8>
+<title>valid manifest: path-percent-encoded-slash-plus-slashes-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-slash-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-slash-relative-isvalid.html
new file mode 100644
index 000000000..113fa978a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-slash-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="/a%2fc">
+<meta charset=utf-8>
+<title>valid manifest: path-percent-encoded-slash-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-space-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-space-isvalid.html
new file mode 100644
index 000000000..4bf72938b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-space-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example.com/%20foo">
+<meta charset=utf-8>
+<title>valid manifest: path-percent-encoded-space</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-u0000-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-u0000-isvalid.html
new file mode 100644
index 000000000..48173a334
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-u0000-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example.com/foo%00">
+<meta charset=utf-8>
+<title>valid manifest: path-percent-encoded-u0000</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-u0091-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-u0091-isvalid.html
new file mode 100644
index 000000000..5956032c2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-percent-encoded-u0091-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example.com/foo%91">
+<meta charset=utf-8>
+<title>valid manifest: path-percent-encoded-u0091</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..77b5bbc78
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-relative-square-brackets-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="[61:24:74]:98">
+<meta charset=utf-8>
+<title>invalid manifest: path-relative-square-brackets</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-simple-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-simple-relative-isvalid.html
new file mode 100644
index 000000000..889277658
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-simple-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="/a/b/c">
+<meta charset=utf-8>
+<title>valid manifest: path-simple-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-slash-colon-number-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-slash-colon-number-relative-isvalid.html
new file mode 100644
index 000000000..e26fd678e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-slash-colon-number-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="/:23">
+<meta charset=utf-8>
+<title>valid manifest: path-slash-colon-number-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-slash-only-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-slash-only-relative-isvalid.html
new file mode 100644
index 000000000..f4094bfde
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-slash-only-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="/">
+<meta charset=utf-8>
+<title>valid manifest: path-slash-only-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-starts-with-pile-of-poo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-starts-with-pile-of-poo-isvalid.html
new file mode 100644
index 000000000..8c54ac33d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-starts-with-pile-of-poo-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="💩http://foo">
+<meta charset=utf-8>
+<title>valid manifest: path-starts-with-pile-of-poo</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-tab-novalid.html
new file mode 100644
index 000000000..b89513944
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-tab-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example.com/foo bar">
+<meta charset=utf-8>
+<title>invalid manifest: path-tab</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-trailing-space-novalid.html
new file mode 100644
index 000000000..419ef427d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-trailing-space-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://f:21/b ?">
+<meta charset=utf-8>
+<title>invalid manifest: path-trailing-space</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-u0091-novalid.html
new file mode 100644
index 000000000..66e754ea0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-u0091-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example.com/foo‘">
+<meta charset=utf-8>
+<title>invalid manifest: path-u0091</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-u202E-u202D-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-u202E-u202D-isvalid.html
new file mode 100644
index 000000000..a2073bb10
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-u202E-u202D-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example.com/‮/foo/‭/bar">
+<meta charset=utf-8>
+<title>valid manifest: path-u202E-u202D</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-uFEFF-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-uFEFF-isvalid.html
new file mode 100644
index 000000000..02d902a28
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-uFEFF-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example.com//foo">
+<meta charset=utf-8>
+<title>valid manifest: path-uFEFF</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-unicode-han-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-unicode-han-isvalid.html
new file mode 100644
index 000000000..d7f33f069
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/path-unicode-han-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example.com/你好你好">
+<meta charset=utf-8>
+<title>valid manifest: path-unicode-han</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-0-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-0-isvalid.html
new file mode 100644
index 000000000..bd79085dd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-0-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://f:0/c">
+<meta charset=utf-8>
+<title>valid manifest: port-0</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-00000000000000-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-00000000000000-isvalid.html
new file mode 100644
index 000000000..ed6136e5d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-00000000000000-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://f:00000000000000/c">
+<meta charset=utf-8>
+<title>valid manifest: port-00000000000000</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-00000000000000000000080-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-00000000000000000000080-isvalid.html
new file mode 100644
index 000000000..4bebdf91e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-00000000000000000000080-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://f:00000000000000000000080/c">
+<meta charset=utf-8>
+<title>valid manifest: port-00000000000000000000080</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-999999-novalid.html
new file mode 100644
index 000000000..d05e591ed
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-999999-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://f:999999/c">
+<meta charset=utf-8>
+<title>invalid manifest: port-999999</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-cr-novalid.html
new file mode 100644
index 000000000..9e21524ab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-cr-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://f: /c">
+<meta charset=utf-8>
+<title>invalid manifest: port-cr</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..509872829
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://2001::1]:80">
+<meta charset=utf-8>
+<title>invalid manifest: port-leading-colon-bracket-colon</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-leading-colon-novalid.html
new file mode 100644
index 000000000..605becab8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-leading-colon-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://2001::1">
+<meta charset=utf-8>
+<title>invalid manifest: port-leading-colon</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-leading-dash-novalid.html
new file mode 100644
index 000000000..01e665bfd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-leading-dash-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://foo:-80/">
+<meta charset=utf-8>
+<title>invalid manifest: port-leading-dash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..b01820a61
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-multiple-letters-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://f:fifty-two/c">
+<meta charset=utf-8>
+<title>invalid manifest: port-multiple-letters</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-newline-novalid.html
new file mode 100644
index 000000000..4afb34049
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-newline-novalid.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<html manifest="http://f:
+/c">
+<meta charset=utf-8>
+<title>invalid manifest: port-newline</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-none-but-colon-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-none-but-colon-isvalid.html
new file mode 100644
index 000000000..1138973c4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-none-but-colon-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://f:/c">
+<meta charset=utf-8>
+<title>valid manifest: port-none-but-colon</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-single-letter-novalid.html
new file mode 100644
index 000000000..69c5a649f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-single-letter-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://f:b/c">
+<meta charset=utf-8>
+<title>invalid manifest: port-single-letter</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-space-novalid.html
new file mode 100644
index 000000000..6c64dd7d8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-space-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://f: /c">
+<meta charset=utf-8>
+<title>invalid manifest: port-space</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-tab-novalid.html
new file mode 100644
index 000000000..0c3c9691c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/port-tab-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://f: /c">
+<meta charset=utf-8>
+<title>invalid manifest: port-tab</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-contains-pile-of-poo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-contains-pile-of-poo-isvalid.html
new file mode 100644
index 000000000..d87dab247
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-contains-pile-of-poo-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://example.com/foo?💩">
+<meta charset=utf-8>
+<title>valid manifest: query-contains-pile-of-poo</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-contains-question-mark-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-contains-question-mark-isvalid.html
new file mode 100644
index 000000000..6bcfa74c1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-contains-question-mark-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://foo/abcd?efgh?ijkl">
+<meta charset=utf-8>
+<title>valid manifest: query-contains-question-mark</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-empty-no-path-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-empty-no-path-relative-isvalid.html
new file mode 100644
index 000000000..ccf1cd817
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-empty-no-path-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="?">
+<meta charset=utf-8>
+<title>valid manifest: query-empty-no-path-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-leading-space-novalid.html
new file mode 100644
index 000000000..121125a27
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-leading-space-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://f:21/b? d">
+<meta charset=utf-8>
+<title>invalid manifest: query-leading-space</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-trailing-space-novalid.html
new file mode 100644
index 000000000..5580a23fb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/query-trailing-space-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://f:21/b?d #">
+<meta charset=utf-8>
+<title>invalid manifest: query-trailing-space</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..270fe8bc3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="data:text/html,test#test">
+<meta charset=utf-8>
+<title>manifest warning: scheme-data-contains-fragment</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-data-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-data-no-slash-isvalid.html
new file mode 100644
index 000000000..56853b148
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-data-no-slash-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="data:text/plain,foo">
+<meta charset=utf-8>
+<title>valid manifest: scheme-data-no-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..ddd8293b1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-data-single-slash-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="data:/example.com/">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-data-single-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..3117d0284
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-backslash-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="file:c:\foo\bar.html">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-file-backslash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-host-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-host-empty-isvalid.html
new file mode 100644
index 000000000..f51329c06
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-host-empty-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="file:///foo/bar.txt">
+<meta charset=utf-8>
+<title>valid manifest: scheme-file-host-empty</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-host-included-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-host-included-isvalid.html
new file mode 100644
index 000000000..f62e95965
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-host-included-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="file://server/foo/bar">
+<meta charset=utf-8>
+<title>valid manifest: scheme-file-host-included</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-no-slash-isvalid.html
new file mode 100644
index 000000000..3706aaed2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-no-slash-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="file:test">
+<meta charset=utf-8>
+<title>valid manifest: scheme-file-no-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-scheme-only-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-scheme-only-isvalid.html
new file mode 100644
index 000000000..37ddc8080
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-scheme-only-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="file:">
+<meta charset=utf-8>
+<title>valid manifest: scheme-file-scheme-only</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..90700a420
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="file:/C|/foo/bar">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-file-single-slash-c-bar</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-single-slash-isvalid.html
new file mode 100644
index 000000000..ccac15caf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-single-slash-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="file:/example.com/">
+<meta charset=utf-8>
+<title>valid manifest: scheme-file-single-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-only-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-only-isvalid.html
new file mode 100644
index 000000000..bd2b8514b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-only-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="file:/">
+<meta charset=utf-8>
+<title>valid manifest: scheme-file-slash-only</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-abc-bar-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-abc-bar-isvalid.html
new file mode 100644
index 000000000..2321c0c45
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-abc-bar-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="file://abc|/foo/bar">
+<meta charset=utf-8>
+<title>valid manifest: scheme-file-slash-slash-abc-bar</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-c-bar-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-c-bar-isvalid.html
new file mode 100644
index 000000000..0743f63b6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-c-bar-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="file://C|/foo/bar">
+<meta charset=utf-8>
+<title>valid manifest: scheme-file-slash-slash-c-bar</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-only-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-only-isvalid.html
new file mode 100644
index 000000000..32ac621a3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-only-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="file://">
+<meta charset=utf-8>
+<title>valid manifest: scheme-file-slash-slash-only</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-slash-only-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-slash-only-isvalid.html
new file mode 100644
index 000000000..b47073894
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-slash-slash-slash-only-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="file:///">
+<meta charset=utf-8>
+<title>valid manifest: scheme-file-slash-slash-slash-only</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..a511e345e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="file:///C|/foo/bar">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-file-triple-slash-c-bar</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-uppercase-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-uppercase-isvalid.html
new file mode 100644
index 000000000..061784e82
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-file-uppercase-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="File://foo/bar.html">
+<meta charset=utf-8>
+<title>valid manifest: scheme-file-uppercase</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..64d78da68
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="ftp:example.com/">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-ftp-no-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..40564d9ca
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="ftp:/example.com/">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-ftp-single-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ftps-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ftps-no-slash-isvalid.html
new file mode 100644
index 000000000..02ef1d626
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ftps-no-slash-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="ftps:example.com/">
+<meta charset=utf-8>
+<title>valid manifest: scheme-ftps-no-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ftps-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ftps-single-slash-isvalid.html
new file mode 100644
index 000000000..45366356e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ftps-single-slash-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="ftps:/example.com/">
+<meta charset=utf-8>
+<title>valid manifest: scheme-ftps-single-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-gopher-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-gopher-no-slash-isvalid.html
new file mode 100644
index 000000000..38270e19e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-gopher-no-slash-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="gopher:example.com/">
+<meta charset=utf-8>
+<title>valid manifest: scheme-gopher-no-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-gopher-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-gopher-single-slash-isvalid.html
new file mode 100644
index 000000000..dfcb01513
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-gopher-single-slash-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="gopher:/example.com/">
+<meta charset=utf-8>
+<title>valid manifest: scheme-gopher-single-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..1096e1b4c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-backslash-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http:\\foo.com\">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-http-backslash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..de4733f43
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http::@c:29">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-http-no-slash-colon</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..b080bfc80
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http:foo.com">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-http-no-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..bbf05a5e1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http:[61:27]/:foo">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-http-no-slash-square-bracket</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..5268c6061
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-http-single-slash-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http:/example.com/">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-http-single-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..591686d95
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-https-no-slash-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="https:example.com/">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-https-no-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..edb658d6e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-https-single-slash-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="https:/example.com/">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-https-single-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..f1a91bbe3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="javascript:example.com/">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-javascript-no-slash-malformed</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-javascript-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-javascript-single-slash-isvalid.html
new file mode 100644
index 000000000..306b7ac94
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-javascript-single-slash-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="javascript:/example.com/">
+<meta charset=utf-8>
+<title>valid manifest: scheme-javascript-single-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-mailto-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-mailto-no-slash-isvalid.html
new file mode 100644
index 000000000..b55c8a8a3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-mailto-no-slash-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="mailto:example.com/">
+<meta charset=utf-8>
+<title>valid manifest: scheme-mailto-no-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-mailto-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-mailto-single-slash-isvalid.html
new file mode 100644
index 000000000..d29dc5e9a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-mailto-single-slash-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="mailto:/example.com/">
+<meta charset=utf-8>
+<title>valid manifest: scheme-mailto-single-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-none-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-none-relative-isvalid.html
new file mode 100644
index 000000000..d1a0642c8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-none-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="foo.com">
+<meta charset=utf-8>
+<title>valid manifest: scheme-none-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-isvalid.html
new file mode 100644
index 000000000..e0ba74932
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="a:foo.com">
+<meta charset=utf-8>
+<title>valid manifest: scheme-private</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-no-slash-isvalid.html
new file mode 100644
index 000000000..676da6f3b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-no-slash-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="madeupscheme:example.com/">
+<meta charset=utf-8>
+<title>valid manifest: scheme-private-no-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-isvalid.html
new file mode 100644
index 000000000..c839f760a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="foo:/bar.com/">
+<meta charset=utf-8>
+<title>valid manifest: scheme-private-path</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-chars-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-chars-isvalid.html
new file mode 100644
index 000000000..9881ee416
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-chars-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="foo://///////bar.com/">
+<meta charset=utf-8>
+<title>valid manifest: scheme-private-path-leading-slashes-chars</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-colon-slashes-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-colon-slashes-isvalid.html
new file mode 100644
index 000000000..08aeb85c8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-colon-slashes-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="foo:////://///">
+<meta charset=utf-8>
+<title>valid manifest: scheme-private-path-leading-slashes-colon-slashes</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-only-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-only-isvalid.html
new file mode 100644
index 000000000..90aee1d49
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-path-leading-slashes-only-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="foo://///////">
+<meta charset=utf-8>
+<title>valid manifest: scheme-private-path-leading-slashes-only</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-single-letter-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-single-letter-isvalid.html
new file mode 100644
index 000000000..88e344a11
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-single-letter-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="c:/foo">
+<meta charset=utf-8>
+<title>valid manifest: scheme-private-single-letter</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-single-slash-isvalid.html
new file mode 100644
index 000000000..385ccceac
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-single-slash-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="madeupscheme:/example.com/">
+<meta charset=utf-8>
+<title>valid manifest: scheme-private-single-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-slash-isvalid.html
new file mode 100644
index 000000000..4f1b38b39
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-slash-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="foo:/">
+<meta charset=utf-8>
+<title>valid manifest: scheme-private-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-slash-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-slash-slash-isvalid.html
new file mode 100644
index 000000000..d74445346
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-private-slash-slash-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="foo://">
+<meta charset=utf-8>
+<title>valid manifest: scheme-private-slash-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-schemeless-relative-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-schemeless-relative-isvalid.html
new file mode 100644
index 000000000..e2eb5fcc6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-schemeless-relative-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="//foo/bar">
+<meta charset=utf-8>
+<title>valid manifest: scheme-schemeless-relative</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..dd9f4173a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-cr-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="a: foo.com">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-trailing-cr</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..a7ec3ec3a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-newline-novalid.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html>
+<html manifest="a:
+foo.com">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-trailing-newline</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..5118f88b5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-space-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="a: foo.com">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-trailing-space</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..200a48c6d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-trailing-tab-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="a: foo.com">
+<meta charset=utf-8>
+<title>invalid manifest: scheme-trailing-tab</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ws-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ws-single-slash-isvalid.html
new file mode 100644
index 000000000..e8c33f709
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-ws-single-slash-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="ws:/example.com/">
+<meta charset=utf-8>
+<title>valid manifest: scheme-ws-single-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-wss-no-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-wss-no-slash-isvalid.html
new file mode 100644
index 000000000..4b6071849
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-wss-no-slash-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="wss:example.com/">
+<meta charset=utf-8>
+<title>valid manifest: scheme-wss-no-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-wss-single-slash-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-wss-single-slash-isvalid.html
new file mode 100644
index 000000000..a86f5617f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/scheme-wss-single-slash-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="wss:/example.com/">
+<meta charset=utf-8>
+<title>valid manifest: scheme-wss-single-slash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..d20219825
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-backslash-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://a\b:c\d@foo.com">
+<meta charset=utf-8>
+<title>invalid manifest: userinfo-backslash</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-empty-isvalid.html
new file mode 100644
index 000000000..82a49feca
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-empty-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://@www.example.com">
+<meta charset=utf-8>
+<title>valid manifest: userinfo-empty</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-host-port-path-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-host-port-path-isvalid.html
new file mode 100644
index 000000000..7ec46ffea
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-host-port-path-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://a:b@c:29/d">
+<meta charset=utf-8>
+<title>valid manifest: userinfo-host-port-path</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-isvalid.html
new file mode 100644
index 000000000..c7008c60e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://user:pass@foo:21/bar;par?b#c">
+<meta charset=utf-8>
+<title>valid manifest: userinfo</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..3b846b44f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://&a:foo(b]c@d:2/">
+<meta charset=utf-8>
+<title>invalid manifest: userinfo-password-bad-chars</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..6f9774c05
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://foo:💩@example.com">
+<meta charset=utf-8>
+<title>invalid manifest: userinfo-password-contains-pile-of-poo</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-password-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-password-empty-isvalid.html
new file mode 100644
index 000000000..51add89dc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-password-empty-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://a:@www.example.com">
+<meta charset=utf-8>
+<title>valid manifest: userinfo-password-empty</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-user-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-user-empty-isvalid.html
new file mode 100644
index 000000000..1da26e7ed
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-user-empty-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://:b@www.example.com">
+<meta charset=utf-8>
+<title>valid manifest: userinfo-user-empty</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..2856f5704
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://::@c@d:2">
+<meta charset=utf-8>
+<title>invalid manifest: userinfo-username-contains-at-sign</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-percent-encoded-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-percent-encoded-isvalid.html
new file mode 100644
index 000000000..fa4a2223a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-percent-encoded-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://%25DOMAIN:foobar@foodomain.com">
+<meta charset=utf-8>
+<title>valid manifest: userinfo-username-contains-percent-encoded</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..ce1e91b32
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://💩:foo@example.com">
+<meta charset=utf-8>
+<title>invalid manifest: userinfo-username-contains-pile-of-poo</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-username-non-alpha-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-username-non-alpha-isvalid.html
new file mode 100644
index 000000000..e5339b98d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/html/manifest/userinfo-username-non-alpha-isvalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<html manifest="http://foo.com:b@d/">
+<meta charset=utf-8>
+<title>valid manifest: userinfo-username-non-alpha</title>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/i/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/i/model-isvalid.html
new file mode 100644
index 000000000..4d0fe7a37
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/i/model-isvalid.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;i&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><i class="class" lang="en">text</i></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><i class="class" lang="en">text</i></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <i></i></p>
+ <p>text <dfn><i></i></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><i><a>text</a></i></p>
+ <p><dfn><i><a>text</a></i></dfn></p>
+
+ <!-- cannot contain structured inline -->
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/i/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/i/model-novalid.html
new file mode 100644
index 000000000..892bb395e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/i/model-novalid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;i&gt;</title>
+</head>
+<body>
+ <!-- not a block -->
+ <i>text</i>
+
+ <!-- cannot contain structured inline -->
+ <p><i><ul><li>text</li></ul></i></p>
+
+ <!-- cannot contain interactive if parent forbids interactive -->
+ <p><a><i><a>text</a></i></a></p>
+ <p><a><dfn><i><a>text</a></i></dfn></a></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/model-isvalid.html
new file mode 100644
index 000000000..45e29ed72
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/model-isvalid.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;iframe&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><iframe
+ src="uri"
+ class="class"
+ lang="en"></iframe></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><iframe
+ src="uri"
+ class="class"
+ lang="en"></iframe></dfn></p>
+
+ <p><dfn>strictly inline
+ <iframe>
+ text
+ </iframe>
+ </dfn></p>
+ <p>paragraph
+ <iframe>
+ text
+ </iframe>
+ </p>
+ <p><dfn>strictly inline
+ <iframe>
+ text
+ </iframe>
+ </dfn></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/model-novalid.html
new file mode 100644
index 000000000..c2db35294
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/model-novalid.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;iframe&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><iframe
+ name="frame1"
+ src="uri"
+ width="2"
+ height="90"
+ frameborder="0"
+ scrolling="yes"
+ class="class"
+ lang="en"></iframe></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><iframe
+ name="frame1"
+ src="uri"
+ width="2"
+ height="90"
+ frameborder="1"
+ scrolling="no"
+ class="class"
+ lang="en"></iframe></dfn></p>
+
+ <!-- is block -->
+ <iframe
+ name="frame1"
+ src="uri"
+ width="2"
+ height="90"
+ frameborder="0"
+ scrolling="auto"
+ class="class"
+ lang="en"></iframe>
+
+ <!-- can contain inline while in inline context -->
+ <p>paragraph
+ <iframe>
+ <em>some</em> <ul><li>inline</li></ul> content
+ </iframe>
+ </p>
+ <!-- can contain strictly inline while in strictly inline context -->
+ <p><dfn>strictly inline
+ <iframe>
+ <em>text</em>
+ </iframe>
+ </dfn></p>
+
+ <!-- can contain blocks while in block context -->
+ <iframe>
+ <p>text</p>
+ </iframe>
+
+ <!-- can contain interactive if ancestor does not forbid it -->
+ <p>paragraph
+ <iframe>
+ <a>link</a>
+ </iframe>
+ </p>
+ <p><dfn>strictly inline
+ <iframe>
+ <a>link</a>
+ </iframe>
+ </dfn></p>
+ <iframe>
+ <p><a>link</a></p>
+ </iframe>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src-empty-novalid.html
new file mode 100644
index 000000000..db0bd3094
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<iframe src=""></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src-isvalid.html
new file mode 100644
index 000000000..a0bbcbe4e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid src</title>
+<iframe src="file:///"></iframe><!-- scheme-file-slash-slash-slash-only -->
+<iframe src="http://a:@www.example.com"></iframe><!-- userinfo-password-empty -->
+<iframe src="foo://///////"></iframe><!-- scheme-private-path-leading-slashes-only -->
+<iframe src="file://abc|/foo/bar"></iframe><!-- scheme-file-slash-slash-abc-bar -->
+<iframe src="/a/b/c"></iframe><!-- path-simple-relative -->
+<iframe src="http://example.com/你好你好"></iframe><!-- path-unicode-han -->
+<iframe src="/a/%2f/c"></iframe><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<iframe src="http://f:/c"></iframe><!-- port-none-but-colon -->
+<iframe src="http://example.com/foo%41%7a"></iframe><!-- path-percent-encoded-multiple -->
+<iframe src="http://192.168.0.257/"></iframe><!-- host-IP-address-broken -->
+<iframe src="madeupscheme:example.com/"></iframe><!-- scheme-private-no-slash -->
+<iframe src="?"></iframe><!-- query-empty-no-path-relative -->
+<iframe src="http://example.com/%20foo"></iframe><!-- path-percent-encoded-space -->
+<iframe src="mailto:/example.com/"></iframe><!-- scheme-mailto-single-slash -->
+<iframe src="::"></iframe><!-- path-leading-colon-colon-relative -->
+<iframe src="http://example.com/%3A%3a%3C%3c"></iframe><!-- path-percent-encoded-mixed-case -->
+<iframe src="http://user:pass@foo:21/bar;par?b#c"></iframe><!-- userinfo -->
+<iframe src="ws:/example.com/"></iframe><!-- scheme-ws-single-slash -->
+<iframe src="foo://"></iframe><!-- scheme-private-slash-slash -->
+<iframe src="#"></iframe><!-- fragment-empty-hash-only-no-path-relative -->
+<iframe src="http://f:00000000000000/c"></iframe><!-- port-00000000000000 -->
+<iframe src="foo:////://///"></iframe><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<iframe src=":23"></iframe><!-- path-leading-colon-number-relative -->
+<iframe src="foo:/"></iframe><!-- scheme-private-slash -->
+<iframe src="http://💩"></iframe><!-- host-is-pile-of-poo -->
+<iframe src="file:test"></iframe><!-- scheme-file-no-slash -->
+<iframe src="file://C|/foo/bar"></iframe><!-- scheme-file-slash-slash-c-bar -->
+<iframe src="#/"></iframe><!-- fragment-slash-relative -->
+<iframe src="http://192.0x00A80001"></iframe><!-- host-192.0x00A80001 -->
+<iframe src="foo.com"></iframe><!-- scheme-none-relative -->
+<iframe src="http💩//:foo"></iframe><!-- path-contains-pile-of-poo -->
+<iframe src="File://foo/bar.html"></iframe><!-- scheme-file-uppercase -->
+<iframe src=":/"></iframe><!-- path-leading-colon-slash-relative -->
+<iframe src="http://www.foo。bar.com"></iframe><!-- host-exotic-dot -->
+<iframe src="http://GOO​⁠goo.com"></iframe><!-- host-exotic-whitespace -->
+<iframe src="file:///foo/bar.txt"></iframe><!-- scheme-file-host-empty -->
+<iframe src="javascript:/example.com/"></iframe><!-- scheme-javascript-single-slash -->
+<iframe src="gopher:/example.com/"></iframe><!-- scheme-gopher-single-slash -->
+<iframe src="ftps:example.com/"></iframe><!-- scheme-ftps-no-slash -->
+<iframe src="file://server/foo/bar"></iframe><!-- scheme-file-host-included -->
+<iframe src="http://example.com/foo%00"></iframe><!-- path-percent-encoded-u0000 -->
+<iframe src="a:foo.com"></iframe><!-- scheme-private -->
+<iframe src=":"></iframe><!-- path-colon-relative -->
+<iframe src="http://:b@www.example.com"></iframe><!-- userinfo-user-empty -->
+<iframe src="file:/"></iframe><!-- scheme-file-slash-only -->
+<iframe src="wss:example.com/"></iframe><!-- scheme-wss-no-slash -->
+<iframe src="::23"></iframe><!-- path-colon-colon-number-relative -->
+<iframe src="/a%2fc"></iframe><!-- path-percent-encoded-slash-relative -->
+<iframe src="http://a:b@c:29/d"></iframe><!-- userinfo-host-port-path -->
+<iframe src="gopher:example.com/"></iframe><!-- scheme-gopher-no-slash -->
+<iframe src="madeupscheme:/example.com/"></iframe><!-- scheme-private-single-slash -->
+<iframe src="mailto:example.com/"></iframe><!-- scheme-mailto-no-slash -->
+<iframe src="http://%25DOMAIN:foobar@foodomain.com"></iframe><!-- userinfo-username-contains-percent-encoded -->
+<iframe src="/:23"></iframe><!-- path-slash-colon-number-relative -->
+<iframe src="foo://///////bar.com/"></iframe><!-- scheme-private-path-leading-slashes-chars -->
+<iframe src="http://[2001::1]:80"></iframe><!-- host-ipv6-port -->
+<iframe src="data:text/plain,foo"></iframe><!-- scheme-data-no-slash -->
+<iframe src="http://example.com/foo/%2e"></iframe><!-- path-percent-encoded-dot -->
+<iframe src="file:/example.com/"></iframe><!-- scheme-file-single-slash -->
+<iframe src="http://example.com/©zbar"></iframe><!-- path-non-ascii -->
+<iframe src="http://example.com//foo"></iframe><!-- path-uFEFF -->
+<iframe src="wss:/example.com/"></iframe><!-- scheme-wss-single-slash -->
+<iframe src="http://foo/abcd#foo?bar"></iframe><!-- fragment-contains-question-mark -->
+<iframe src=":#"></iframe><!-- path-leading-colon-hash-relative -->
+<iframe src="http://example.com/foo%91"></iframe><!-- path-percent-encoded-u0091 -->
+<iframe src="c:/foo"></iframe><!-- scheme-private-single-letter -->
+<iframe src=":foo.com"></iframe><!-- path-leading-colon-chars-relative -->
+<iframe src="http://你好你好"></iframe><!-- host-idn-unicode-han -->
+<iframe src="http://example.com/foo#💩"></iframe><!-- fragment-contains-pile-of-poo -->
+<iframe src="file:"></iframe><!-- scheme-file-scheme-only -->
+<iframe src="#β"></iframe><!-- fragment-non-ascii-relative -->
+<iframe src="foo:/bar.com/"></iframe><!-- scheme-private-path -->
+<iframe src="http://f:0/c"></iframe><!-- port-0 -->
+<iframe src="#;?"></iframe><!-- fragment-semicolon-question-mark-relative -->
+<iframe src="http://Go.com"></iframe><!-- host-fullwidth -->
+<iframe src="http://@www.example.com"></iframe><!-- userinfo-empty -->
+<iframe src="http://example.com/‮/foo/‭/bar"></iframe><!-- path-u202E-u202D -->
+<iframe src="http://[2001::1]"></iframe><!-- host-ipv6 -->
+<iframe src="💩http://foo"></iframe><!-- path-starts-with-pile-of-poo -->
+<iframe src="http://foo/abcd?efgh?ijkl"></iframe><!-- query-contains-question-mark -->
+<iframe src="//foo/bar"></iframe><!-- scheme-schemeless-relative -->
+<iframe src="ftps:/example.com/"></iframe><!-- scheme-ftps-single-slash -->
+<iframe src="http://foo.com:b@d/"></iframe><!-- userinfo-username-non-alpha -->
+<iframe src=":a"></iframe><!-- path-leading-colon-letter-relative -->
+<iframe src="/"></iframe><!-- path-slash-only-relative -->
+<iframe src="http://example.com/foo?💩"></iframe><!-- query-contains-pile-of-poo -->
+<iframe src="http://f:00000000000000000000080/c"></iframe><!-- port-00000000000000000000080 -->
+<iframe src="file://"></iframe><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src-whitespace-only-novalid.html
new file mode 100644
index 000000000..12b307da2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<iframe src="
+"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/fragment-backslash-novalid.html
new file mode 100644
index 000000000..f1e149373
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-backslash</title>
+<iframe src="#\"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..d781f871a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-contains-hash</title>
+<iframe src="http://foo/path#f#g"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..f567ab48c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-leading-space</title>
+<iframe src="http://f:21/b# e"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-cr-novalid.html
new file mode 100644
index 000000000..dfa8d99b1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-cr</title>
+<iframe src="http://example. org"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..322e4ec41
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded</title>
+<iframe src="http://%41.com"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..1a505f070
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded-percent-encoded</title>
+<iframe src="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-empty-novalid.html
new file mode 100644
index 000000000..c7c675151
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty</title>
+<iframe src="http://"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..f44f6ceb6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-userinfo-empty</title>
+<iframe src="http://@/www.example.com"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..dfb4c8af7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-with-userinfo</title>
+<iframe src="http://user:pass@/"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..27c546add
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-hostname-in-brackets</title>
+<iframe src="http://[www.google.com]/"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..9cf93c27f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode</title>
+<iframe src="http://﷐zyx.com"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..c5d371e43
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode-percent-encoded</title>
+<iframe src="http://%ef%b7%90zyx.com"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-newline-novalid.html
new file mode 100644
index 000000000..f914a5c84
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-newline</title>
+<iframe src="http://example.
+org"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-space-novalid.html
new file mode 100644
index 000000000..00567d593
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-space</title>
+<iframe src="http://example .org"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..ae7284275
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-square-brackets-port-contains-colon</title>
+<iframe src="http://[1::2]:3:4"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-tab-novalid.html
new file mode 100644
index 000000000..d36f12578
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-tab</title>
+<iframe src="http://example .org"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..509184a6a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded</title>
+<iframe src="http://%00.com"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..7599cc119
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded-percent-encoded</title>
+<iframe src="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..61fbdf004
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-bare-percent-sign</title>
+<iframe src="http://example.com/foo%"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-contains-space-novalid.html
new file mode 100644
index 000000000..d11dfb92a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-contains-space</title>
+<iframe src="/a/ /c"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..f3d0d22b6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-backslash-at-sign</title>
+<iframe src="http://foo.com/\@"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..bf8a1ca17
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-backslash</title>
+<iframe src=":\"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..3db3992c0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-chars-backslash</title>
+<iframe src=":foo.com\"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-leading-space-novalid.html
new file mode 100644
index 000000000..56f349685
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-space</title>
+<iframe src="http://f:21/ b"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..db315edde
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-percent-encoded-malformed</title>
+<iframe src="http://example.com/foo/%2e%2"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..9417972d6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-relative-square-brackets</title>
+<iframe src="[61:24:74]:98"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-tab-novalid.html
new file mode 100644
index 000000000..0b0a6d755
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-tab</title>
+<iframe src="http://example.com/foo bar"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-trailing-space-novalid.html
new file mode 100644
index 000000000..e79f6456f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-trailing-space</title>
+<iframe src="http://f:21/b ?"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-u0091-novalid.html
new file mode 100644
index 000000000..e03e054f0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-u0091</title>
+<iframe src="http://example.com/foo‘"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-999999-novalid.html
new file mode 100644
index 000000000..4f2290d2a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-999999</title>
+<iframe src="http://f:999999/c"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-cr-novalid.html
new file mode 100644
index 000000000..b2df05bb6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-cr</title>
+<iframe src="http://f: /c"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..41280d20e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon-bracket-colon</title>
+<iframe src="http://2001::1]:80"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-leading-colon-novalid.html
new file mode 100644
index 000000000..4a4a6a045
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon</title>
+<iframe src="http://2001::1"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-leading-dash-novalid.html
new file mode 100644
index 000000000..052e77e05
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-dash</title>
+<iframe src="http://foo:-80/"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..d2b6be6ae
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-multiple-letters</title>
+<iframe src="http://f:fifty-two/c"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-newline-novalid.html
new file mode 100644
index 000000000..adff8ec67
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-newline</title>
+<iframe src="http://f:
+/c"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-single-letter-novalid.html
new file mode 100644
index 000000000..fb149be62
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-single-letter</title>
+<iframe src="http://f:b/c"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-space-novalid.html
new file mode 100644
index 000000000..aafdfe523
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-space</title>
+<iframe src="http://f: /c"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-tab-novalid.html
new file mode 100644
index 000000000..de0ce71ae
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-tab</title>
+<iframe src="http://f: /c"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/query-leading-space-novalid.html
new file mode 100644
index 000000000..28014d704
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-leading-space</title>
+<iframe src="http://f:21/b? d"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/query-trailing-space-novalid.html
new file mode 100644
index 000000000..15f2db6f7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-trailing-space</title>
+<iframe src="http://f:21/b?d #"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..504824ca1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/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>
+<iframe src="data:text/html,test#test"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..ef6b1f9db
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-data-single-slash</title>
+<iframe src="data:/example.com/"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..debfa4852
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-backslash</title>
+<iframe src="file:c:\foo\bar.html"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..194ff491c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-single-slash-c-bar</title>
+<iframe src="file:/C|/foo/bar"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..1584da92a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-triple-slash-c-bar</title>
+<iframe src="file:///C|/foo/bar"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..d8a2d18fb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-no-slash</title>
+<iframe src="ftp:example.com/"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..eccb4dd75
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-single-slash</title>
+<iframe src="ftp:/example.com/"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..8e9fe2405
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-backslash</title>
+<iframe src="http:\\foo.com\"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..0546f29cb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-colon</title>
+<iframe src="http::@c:29"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..d77d7e5d5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash</title>
+<iframe src="http:foo.com"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..f66c4397f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-square-bracket</title>
+<iframe src="http:[61:27]/:foo"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..12a75c3ca
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-single-slash</title>
+<iframe src="http:/example.com/"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..18dc42fa3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-no-slash</title>
+<iframe src="https:example.com/"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..142e7b0e1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-single-slash</title>
+<iframe src="https:/example.com/"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..6424e83c0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-javascript-no-slash-malformed</title>
+<iframe src="javascript:example.com/"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..dfc74a212
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-cr</title>
+<iframe src="a: foo.com"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..7c7dca770
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-newline</title>
+<iframe src="a:
+foo.com"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..4d439a76d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-space</title>
+<iframe src="a: foo.com"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..5542fe93d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-tab</title>
+<iframe src="a: foo.com"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..099e4861e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-backslash</title>
+<iframe src="http://a\b:c\d@foo.com"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..084b8f0b9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-bad-chars</title>
+<iframe src="http://&a:foo(b]c@d:2/"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..85aadb633
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-contains-pile-of-poo</title>
+<iframe src="http://foo:💩@example.com"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..4ff2b75c5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-at-sign</title>
+<iframe src="http://::@c@d:2"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..41fc10e29
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/iframe/src/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-pile-of-poo</title>
+<iframe src="http://💩:foo@example.com"></iframe>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/model-isvalid.html
new file mode 100644
index 000000000..b0c7b33f0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/model-isvalid.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;img&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><a href='foo'><img
+ src="url"
+ alt="text"
+ width="42"
+ height="095"
+ ismap="ismap"
+ class="class"
+ lang="en"></a></p>
+
+ <!-- is strictly inline -->
+ <p><a href='foo'><dfn><img
+ src="url"
+ alt="text"
+ width="42"
+ height="095"
+ ismap="ismap"
+ class="class"
+ lang="en"></dfn></a></p>
+
+ <!-- src and alt are required, others optional -->
+ <p><img src="ur" alt="text"></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/model-novalid.html
new file mode 100644
index 000000000..d16a80641
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/model-novalid.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;img&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><img
+ src="url"
+ alt="text"
+ width="42"
+ height="095"
+ usemap="url"
+ ismap="ismap"
+ class="class"
+ lang="en"></img></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><img
+ src="url"
+ alt="text"
+ width="42"
+ height="095"
+ usemap="url"
+ ismap="ismap"
+ class="class"
+ lang="en"></img></dfn></p>
+
+ <!-- src and alt are required, others optional -->
+ <p><img src="ur" alt="text"></img></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src-empty-novalid.html
new file mode 100644
index 000000000..d58590750
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<img src="" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src-isvalid.html
new file mode 100644
index 000000000..0837cfe1e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid src</title>
+<img src="file:///" alt><!-- scheme-file-slash-slash-slash-only -->
+<img src="http://a:@www.example.com" alt><!-- userinfo-password-empty -->
+<img src="foo://///////" alt><!-- scheme-private-path-leading-slashes-only -->
+<img src="file://abc|/foo/bar" alt><!-- scheme-file-slash-slash-abc-bar -->
+<img src="/a/b/c" alt><!-- path-simple-relative -->
+<img src="http://example.com/你好你好" alt><!-- path-unicode-han -->
+<img src="/a/%2f/c" alt><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<img src="http://f:/c" alt><!-- port-none-but-colon -->
+<img src="http://example.com/foo%41%7a" alt><!-- path-percent-encoded-multiple -->
+<img src="http://192.168.0.257/" alt><!-- host-IP-address-broken -->
+<img src="madeupscheme:example.com/" alt><!-- scheme-private-no-slash -->
+<img src="?" alt><!-- query-empty-no-path-relative -->
+<img src="http://example.com/%20foo" alt><!-- path-percent-encoded-space -->
+<img src="mailto:/example.com/" alt><!-- scheme-mailto-single-slash -->
+<img src="::" alt><!-- path-leading-colon-colon-relative -->
+<img src="http://example.com/%3A%3a%3C%3c" alt><!-- path-percent-encoded-mixed-case -->
+<img src="http://user:pass@foo:21/bar;par?b#c" alt><!-- userinfo -->
+<img src="ws:/example.com/" alt><!-- scheme-ws-single-slash -->
+<img src="foo://" alt><!-- scheme-private-slash-slash -->
+<img src="#" alt><!-- fragment-empty-hash-only-no-path-relative -->
+<img src="http://f:00000000000000/c" alt><!-- port-00000000000000 -->
+<img src="foo:////://///" alt><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<img src=":23" alt><!-- path-leading-colon-number-relative -->
+<img src="foo:/" alt><!-- scheme-private-slash -->
+<img src="http://💩" alt><!-- host-is-pile-of-poo -->
+<img src="file:test" alt><!-- scheme-file-no-slash -->
+<img src="file://C|/foo/bar" alt><!-- scheme-file-slash-slash-c-bar -->
+<img src="#/" alt><!-- fragment-slash-relative -->
+<img src="http://192.0x00A80001" alt><!-- host-192.0x00A80001 -->
+<img src="foo.com" alt><!-- scheme-none-relative -->
+<img src="http💩//:foo" alt><!-- path-contains-pile-of-poo -->
+<img src="File://foo/bar.html" alt><!-- scheme-file-uppercase -->
+<img src=":/" alt><!-- path-leading-colon-slash-relative -->
+<img src="http://www.foo。bar.com" alt><!-- host-exotic-dot -->
+<img src="http://GOO​⁠goo.com" alt><!-- host-exotic-whitespace -->
+<img src="file:///foo/bar.txt" alt><!-- scheme-file-host-empty -->
+<img src="javascript:/example.com/" alt><!-- scheme-javascript-single-slash -->
+<img src="gopher:/example.com/" alt><!-- scheme-gopher-single-slash -->
+<img src="ftps:example.com/" alt><!-- scheme-ftps-no-slash -->
+<img src="file://server/foo/bar" alt><!-- scheme-file-host-included -->
+<img src="http://example.com/foo%00" alt><!-- path-percent-encoded-u0000 -->
+<img src="a:foo.com" alt><!-- scheme-private -->
+<img src=":" alt><!-- path-colon-relative -->
+<img src="http://:b@www.example.com" alt><!-- userinfo-user-empty -->
+<img src="file:/" alt><!-- scheme-file-slash-only -->
+<img src="wss:example.com/" alt><!-- scheme-wss-no-slash -->
+<img src="::23" alt><!-- path-colon-colon-number-relative -->
+<img src="/a%2fc" alt><!-- path-percent-encoded-slash-relative -->
+<img src="http://a:b@c:29/d" alt><!-- userinfo-host-port-path -->
+<img src="gopher:example.com/" alt><!-- scheme-gopher-no-slash -->
+<img src="madeupscheme:/example.com/" alt><!-- scheme-private-single-slash -->
+<img src="mailto:example.com/" alt><!-- scheme-mailto-no-slash -->
+<img src="http://%25DOMAIN:foobar@foodomain.com" alt><!-- userinfo-username-contains-percent-encoded -->
+<img src="/:23" alt><!-- path-slash-colon-number-relative -->
+<img src="foo://///////bar.com/" alt><!-- scheme-private-path-leading-slashes-chars -->
+<img src="http://[2001::1]:80" alt><!-- host-ipv6-port -->
+<img src="data:text/plain,foo" alt><!-- scheme-data-no-slash -->
+<img src="http://example.com/foo/%2e" alt><!-- path-percent-encoded-dot -->
+<img src="file:/example.com/" alt><!-- scheme-file-single-slash -->
+<img src="http://example.com/©zbar" alt><!-- path-non-ascii -->
+<img src="http://example.com//foo" alt><!-- path-uFEFF -->
+<img src="wss:/example.com/" alt><!-- scheme-wss-single-slash -->
+<img src="http://foo/abcd#foo?bar" alt><!-- fragment-contains-question-mark -->
+<img src=":#" alt><!-- path-leading-colon-hash-relative -->
+<img src="http://example.com/foo%91" alt><!-- path-percent-encoded-u0091 -->
+<img src="c:/foo" alt><!-- scheme-private-single-letter -->
+<img src=":foo.com" alt><!-- path-leading-colon-chars-relative -->
+<img src="http://你好你好" alt><!-- host-idn-unicode-han -->
+<img src="http://example.com/foo#💩" alt><!-- fragment-contains-pile-of-poo -->
+<img src="file:" alt><!-- scheme-file-scheme-only -->
+<img src="#β" alt><!-- fragment-non-ascii-relative -->
+<img src="foo:/bar.com/" alt><!-- scheme-private-path -->
+<img src="http://f:0/c" alt><!-- port-0 -->
+<img src="#;?" alt><!-- fragment-semicolon-question-mark-relative -->
+<img src="http://Go.com" alt><!-- host-fullwidth -->
+<img src="http://@www.example.com" alt><!-- userinfo-empty -->
+<img src="http://example.com/‮/foo/‭/bar" alt><!-- path-u202E-u202D -->
+<img src="http://[2001::1]" alt><!-- host-ipv6 -->
+<img src="💩http://foo" alt><!-- path-starts-with-pile-of-poo -->
+<img src="http://foo/abcd?efgh?ijkl" alt><!-- query-contains-question-mark -->
+<img src="//foo/bar" alt><!-- scheme-schemeless-relative -->
+<img src="ftps:/example.com/" alt><!-- scheme-ftps-single-slash -->
+<img src="http://foo.com:b@d/" alt><!-- userinfo-username-non-alpha -->
+<img src=":a" alt><!-- path-leading-colon-letter-relative -->
+<img src="/" alt><!-- path-slash-only-relative -->
+<img src="http://example.com/foo?💩" alt><!-- query-contains-pile-of-poo -->
+<img src="http://f:00000000000000000000080/c" alt><!-- port-00000000000000000000080 -->
+<img src="file://" alt><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src-whitespace-only-novalid.html
new file mode 100644
index 000000000..cc0140808
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<img src="
+" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-backslash-novalid.html
new file mode 100644
index 000000000..f54d6cbad
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-backslash</title>
+<img src="#\" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..59829cfee
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-contains-hash</title>
+<img src="http://foo/path#f#g" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..c7420ec54
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-leading-space</title>
+<img src="http://f:21/b# e" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-cr-novalid.html
new file mode 100644
index 000000000..2b14d6bda
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-cr</title>
+<img src="http://example. org" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..d0fcc7336
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded</title>
+<img src="http://%41.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..6be9a8a4f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded-percent-encoded</title>
+<img src="http://%ef%bc%85%ef%bc%94%ef%bc%91.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-novalid.html
new file mode 100644
index 000000000..41191edb5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty</title>
+<img src="http://" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..8f02f8e9c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-userinfo-empty</title>
+<img src="http://@/www.example.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..b0b86cc30
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-with-userinfo</title>
+<img src="http://user:pass@/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..f17042f72
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-hostname-in-brackets</title>
+<img src="http://[www.google.com]/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..37d687ab5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode</title>
+<img src="http://﷐zyx.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..7d905ea3b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode-percent-encoded</title>
+<img src="http://%ef%b7%90zyx.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-newline-novalid.html
new file mode 100644
index 000000000..10bb356b3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-newline</title>
+<img src="http://example.
+org" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-space-novalid.html
new file mode 100644
index 000000000..633ea951b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-space</title>
+<img src="http://example .org" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..e37c9070f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-square-brackets-port-contains-colon</title>
+<img src="http://[1::2]:3:4" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-tab-novalid.html
new file mode 100644
index 000000000..c2b47937a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-tab</title>
+<img src="http://example .org" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..524834a94
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded</title>
+<img src="http://%00.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..2b19cb862
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded-percent-encoded</title>
+<img src="http://%ef%bc%85%ef%bc%90%ef%bc%90.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..368e94041
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-bare-percent-sign</title>
+<img src="http://example.com/foo%" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-contains-space-novalid.html
new file mode 100644
index 000000000..7b1da54cb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-contains-space</title>
+<img src="/a/ /c" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..ded9f27fc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-backslash-at-sign</title>
+<img src="http://foo.com/\@" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..7bebfa8b6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-backslash</title>
+<img src=":\" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..f1fe58ebd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-chars-backslash</title>
+<img src=":foo.com\" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-space-novalid.html
new file mode 100644
index 000000000..c1fc4d0b7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-space</title>
+<img src="http://f:21/ b" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..62bb73054
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-percent-encoded-malformed</title>
+<img src="http://example.com/foo/%2e%2" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..da8bcd725
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-relative-square-brackets</title>
+<img src="[61:24:74]:98" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-tab-novalid.html
new file mode 100644
index 000000000..42e555e68
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-tab</title>
+<img src="http://example.com/foo bar" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-trailing-space-novalid.html
new file mode 100644
index 000000000..98812cb9a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-trailing-space</title>
+<img src="http://f:21/b ?" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-u0091-novalid.html
new file mode 100644
index 000000000..a15047c3e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-u0091</title>
+<img src="http://example.com/foo‘" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-999999-novalid.html
new file mode 100644
index 000000000..0c7d01801
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-999999</title>
+<img src="http://f:999999/c" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-cr-novalid.html
new file mode 100644
index 000000000..49e6a1a0a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-cr</title>
+<img src="http://f: /c" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..6d7233039
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon-bracket-colon</title>
+<img src="http://2001::1]:80" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-colon-novalid.html
new file mode 100644
index 000000000..75eba0ea3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon</title>
+<img src="http://2001::1" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-dash-novalid.html
new file mode 100644
index 000000000..9a66f5a41
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-dash</title>
+<img src="http://foo:-80/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..fcb6e959f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-multiple-letters</title>
+<img src="http://f:fifty-two/c" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-newline-novalid.html
new file mode 100644
index 000000000..3d59a2e4b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-newline</title>
+<img src="http://f:
+/c" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-single-letter-novalid.html
new file mode 100644
index 000000000..1ba9df25c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-single-letter</title>
+<img src="http://f:b/c" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-space-novalid.html
new file mode 100644
index 000000000..e59cda369
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-space</title>
+<img src="http://f: /c" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-tab-novalid.html
new file mode 100644
index 000000000..9ae34b348
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-tab</title>
+<img src="http://f: /c" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/query-leading-space-novalid.html
new file mode 100644
index 000000000..896fd99b3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-leading-space</title>
+<img src="http://f:21/b? d" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/query-trailing-space-novalid.html
new file mode 100644
index 000000000..ac079b454
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-trailing-space</title>
+<img src="http://f:21/b?d #" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..964cdce93
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>src warning: scheme-data-contains-fragment</title>
+<img src="data:text/html,test#test" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..d5e0ae53e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-data-single-slash</title>
+<img src="data:/example.com/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..efb0fa5d7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-backslash</title>
+<img src="file:c:\foo\bar.html" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..61a7697e3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-single-slash-c-bar</title>
+<img src="file:/C|/foo/bar" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..15120451d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-triple-slash-c-bar</title>
+<img src="file:///C|/foo/bar" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..3c2e7439a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-no-slash</title>
+<img src="ftp:example.com/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..f3218f03d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-single-slash</title>
+<img src="ftp:/example.com/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..fa2a92173
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-backslash</title>
+<img src="http:\\foo.com\" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..16c9fa05a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-colon</title>
+<img src="http::@c:29" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..0554f086c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash</title>
+<img src="http:foo.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..518ba415f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-square-bracket</title>
+<img src="http:[61:27]/:foo" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..1c1ba05e0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-single-slash</title>
+<img src="http:/example.com/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..4057a3fa9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-no-slash</title>
+<img src="https:example.com/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..00d028cab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-single-slash</title>
+<img src="https:/example.com/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..00a8c8857
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-javascript-no-slash-malformed</title>
+<img src="javascript:example.com/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..c50d3ac16
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-cr</title>
+<img src="a: foo.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..ee97e7af1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-newline</title>
+<img src="a:
+foo.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..f1f6b7572
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-space</title>
+<img src="a: foo.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..5649c226c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-tab</title>
+<img src="a: foo.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..5d5a271ea
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-backslash</title>
+<img src="http://a\b:c\d@foo.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..6bd0affb4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-bad-chars</title>
+<img src="http://&a:foo(b]c@d:2/" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..78873928f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-contains-pile-of-poo</title>
+<img src="http://foo:💩@example.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..2e2002a49
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-at-sign</title>
+<img src="http://::@c@d:2" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..306ea7782
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/src/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-pile-of-poo</title>
+<img src="http://💩:foo@example.com" alt>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/usemap-bad-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/usemap-bad-value-novalid.html
new file mode 100644
index 000000000..708878a30
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/usemap-bad-value-novalid.html
@@ -0,0 +1 @@
+<!doctype html><meta charset=utf-8><title>usemap="#"</title>There should be an error.<img src="foo" alt="" usemap="#">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/usemap-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/usemap-isvalid.html
new file mode 100644
index 000000000..0e165c8c5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/usemap-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;img&gt; with usemap attribute</title>
+</head>
+<body>
+ <map name="foo"></map>
+ <p><img src="url" usemap="#foo" alt="bar"></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/width-height-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/width-height-isvalid.html
new file mode 100644
index 000000000..32b46d7cf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/width-height-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>valid width and height</title>
+</head>
+<body>
+<img src="url" width="0" height="0" alt="bar"><!-- img with 0 value for width and height -->
+<img src="url" width="10" height="10" alt="bar"><!-- img with positive values for width and height -->
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/img/width-height-negative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/img/width-height-negative-novalid.html
new file mode 100644
index 000000000..d324106f1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/img/width-height-negative-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>img with negative values for width and height</title>
+</head>
+<body>
+<img src="url" width="-1" height="-1">
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/list-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/list-novalid.html
new file mode 100644
index 000000000..63f43af1f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/list-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>invalid input/@list reference to datalist/@id</title>
+<meta charset=utf-8>
+</head>
+<body>
+<datalist id=foo></datalist>
+<input type=text list=bar>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/pattern-asterisk-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/pattern-asterisk-novalid.html
new file mode 100644
index 000000000..397344c0d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/pattern-asterisk-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid pattern</title>
+<p><input pattern='*'></p> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/pattern-paren-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/pattern-paren-novalid.html
new file mode 100644
index 000000000..892cc02f1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/pattern-paren-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid pattern</title>
+<p><input pattern='('></p> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-empty-novalid.html
new file mode 100644
index 000000000..5deda965c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty formaction is not valid</title>
+<input type=image alt="foo" formaction="">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-isvalid.html
new file mode 100644
index 000000000..ea797c3b9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid formaction</title>
+<input type=image alt="foo" formaction="file:///"><!-- scheme-file-slash-slash-slash-only -->
+<input type=image alt="foo" formaction="http://a:@www.example.com"><!-- userinfo-password-empty -->
+<input type=image alt="foo" formaction="foo://///////"><!-- scheme-private-path-leading-slashes-only -->
+<input type=image alt="foo" formaction="file://abc|/foo/bar"><!-- scheme-file-slash-slash-abc-bar -->
+<input type=image alt="foo" formaction="/a/b/c"><!-- path-simple-relative -->
+<input type=image alt="foo" formaction="http://example.com/你好你好"><!-- path-unicode-han -->
+<input type=image alt="foo" formaction="/a/%2f/c"><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<input type=image alt="foo" formaction="http://f:/c"><!-- port-none-but-colon -->
+<input type=image alt="foo" formaction="http://example.com/foo%41%7a"><!-- path-percent-encoded-multiple -->
+<input type=image alt="foo" formaction="http://192.168.0.257/"><!-- host-IP-address-broken -->
+<input type=image alt="foo" formaction="madeupscheme:example.com/"><!-- scheme-private-no-slash -->
+<input type=image alt="foo" formaction="?"><!-- query-empty-no-path-relative -->
+<input type=image alt="foo" formaction="http://example.com/%20foo"><!-- path-percent-encoded-space -->
+<input type=image alt="foo" formaction="mailto:/example.com/"><!-- scheme-mailto-single-slash -->
+<input type=image alt="foo" formaction="::"><!-- path-leading-colon-colon-relative -->
+<input type=image alt="foo" formaction="http://example.com/%3A%3a%3C%3c"><!-- path-percent-encoded-mixed-case -->
+<input type=image alt="foo" formaction="http://user:pass@foo:21/bar;par?b#c"><!-- userinfo -->
+<input type=image alt="foo" formaction="ws:/example.com/"><!-- scheme-ws-single-slash -->
+<input type=image alt="foo" formaction="foo://"><!-- scheme-private-slash-slash -->
+<input type=image alt="foo" formaction="#"><!-- fragment-empty-hash-only-no-path-relative -->
+<input type=image alt="foo" formaction="http://f:00000000000000/c"><!-- port-00000000000000 -->
+<input type=image alt="foo" formaction="foo:////://///"><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<input type=image alt="foo" formaction=":23"><!-- path-leading-colon-number-relative -->
+<input type=image alt="foo" formaction="foo:/"><!-- scheme-private-slash -->
+<input type=image alt="foo" formaction="http://💩"><!-- host-is-pile-of-poo -->
+<input type=image alt="foo" formaction="file:test"><!-- scheme-file-no-slash -->
+<input type=image alt="foo" formaction="file://C|/foo/bar"><!-- scheme-file-slash-slash-c-bar -->
+<input type=image alt="foo" formaction="#/"><!-- fragment-slash-relative -->
+<input type=image alt="foo" formaction="http://192.0x00A80001"><!-- host-192.0x00A80001 -->
+<input type=image alt="foo" formaction="foo.com"><!-- scheme-none-relative -->
+<input type=image alt="foo" formaction="http💩//:foo"><!-- path-contains-pile-of-poo -->
+<input type=image alt="foo" formaction="File://foo/bar.html"><!-- scheme-file-uppercase -->
+<input type=image alt="foo" formaction=":/"><!-- path-leading-colon-slash-relative -->
+<input type=image alt="foo" formaction="http://www.foo。bar.com"><!-- host-exotic-dot -->
+<input type=image alt="foo" formaction="http://GOO​⁠goo.com"><!-- host-exotic-whitespace -->
+<input type=image alt="foo" formaction="file:///foo/bar.txt"><!-- scheme-file-host-empty -->
+<input type=image alt="foo" formaction="javascript:/example.com/"><!-- scheme-javascript-single-slash -->
+<input type=image alt="foo" formaction="gopher:/example.com/"><!-- scheme-gopher-single-slash -->
+<input type=image alt="foo" formaction="ftps:example.com/"><!-- scheme-ftps-no-slash -->
+<input type=image alt="foo" formaction="file://server/foo/bar"><!-- scheme-file-host-included -->
+<input type=image alt="foo" formaction="http://example.com/foo%00"><!-- path-percent-encoded-u0000 -->
+<input type=image alt="foo" formaction="a:foo.com"><!-- scheme-private -->
+<input type=image alt="foo" formaction=":"><!-- path-colon-relative -->
+<input type=image alt="foo" formaction="http://:b@www.example.com"><!-- userinfo-user-empty -->
+<input type=image alt="foo" formaction="file:/"><!-- scheme-file-slash-only -->
+<input type=image alt="foo" formaction="wss:example.com/"><!-- scheme-wss-no-slash -->
+<input type=image alt="foo" formaction="::23"><!-- path-colon-colon-number-relative -->
+<input type=image alt="foo" formaction="/a%2fc"><!-- path-percent-encoded-slash-relative -->
+<input type=image alt="foo" formaction="http://a:b@c:29/d"><!-- userinfo-host-port-path -->
+<input type=image alt="foo" formaction="gopher:example.com/"><!-- scheme-gopher-no-slash -->
+<input type=image alt="foo" formaction="madeupscheme:/example.com/"><!-- scheme-private-single-slash -->
+<input type=image alt="foo" formaction="mailto:example.com/"><!-- scheme-mailto-no-slash -->
+<input type=image alt="foo" formaction="http://%25DOMAIN:foobar@foodomain.com"><!-- userinfo-username-contains-percent-encoded -->
+<input type=image alt="foo" formaction="/:23"><!-- path-slash-colon-number-relative -->
+<input type=image alt="foo" formaction="foo://///////bar.com/"><!-- scheme-private-path-leading-slashes-chars -->
+<input type=image alt="foo" formaction="http://[2001::1]:80"><!-- host-ipv6-port -->
+<input type=image alt="foo" formaction="data:text/plain,foo"><!-- scheme-data-no-slash -->
+<input type=image alt="foo" formaction="http://example.com/foo/%2e"><!-- path-percent-encoded-dot -->
+<input type=image alt="foo" formaction="file:/example.com/"><!-- scheme-file-single-slash -->
+<input type=image alt="foo" formaction="http://example.com/©zbar"><!-- path-non-ascii -->
+<input type=image alt="foo" formaction="http://example.com//foo"><!-- path-uFEFF -->
+<input type=image alt="foo" formaction="wss:/example.com/"><!-- scheme-wss-single-slash -->
+<input type=image alt="foo" formaction="http://foo/abcd#foo?bar"><!-- fragment-contains-question-mark -->
+<input type=image alt="foo" formaction=":#"><!-- path-leading-colon-hash-relative -->
+<input type=image alt="foo" formaction="http://example.com/foo%91"><!-- path-percent-encoded-u0091 -->
+<input type=image alt="foo" formaction="c:/foo"><!-- scheme-private-single-letter -->
+<input type=image alt="foo" formaction=":foo.com"><!-- path-leading-colon-chars-relative -->
+<input type=image alt="foo" formaction="http://你好你好"><!-- host-idn-unicode-han -->
+<input type=image alt="foo" formaction="http://example.com/foo#💩"><!-- fragment-contains-pile-of-poo -->
+<input type=image alt="foo" formaction="file:"><!-- scheme-file-scheme-only -->
+<input type=image alt="foo" formaction="#β"><!-- fragment-non-ascii-relative -->
+<input type=image alt="foo" formaction="foo:/bar.com/"><!-- scheme-private-path -->
+<input type=image alt="foo" formaction="http://f:0/c"><!-- port-0 -->
+<input type=image alt="foo" formaction="#;?"><!-- fragment-semicolon-question-mark-relative -->
+<input type=image alt="foo" formaction="http://Go.com"><!-- host-fullwidth -->
+<input type=image alt="foo" formaction="http://@www.example.com"><!-- userinfo-empty -->
+<input type=image alt="foo" formaction="http://example.com/‮/foo/‭/bar"><!-- path-u202E-u202D -->
+<input type=image alt="foo" formaction="http://[2001::1]"><!-- host-ipv6 -->
+<input type=image alt="foo" formaction="💩http://foo"><!-- path-starts-with-pile-of-poo -->
+<input type=image alt="foo" formaction="http://foo/abcd?efgh?ijkl"><!-- query-contains-question-mark -->
+<input type=image alt="foo" formaction="//foo/bar"><!-- scheme-schemeless-relative -->
+<input type=image alt="foo" formaction="ftps:/example.com/"><!-- scheme-ftps-single-slash -->
+<input type=image alt="foo" formaction="http://foo.com:b@d/"><!-- userinfo-username-non-alpha -->
+<input type=image alt="foo" formaction=":a"><!-- path-leading-colon-letter-relative -->
+<input type=image alt="foo" formaction="/"><!-- path-slash-only-relative -->
+<input type=image alt="foo" formaction="http://example.com/foo?💩"><!-- query-contains-pile-of-poo -->
+<input type=image alt="foo" formaction="http://f:00000000000000000000080/c"><!-- port-00000000000000000000080 -->
+<input type=image alt="foo" formaction="file://"><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-whitespace-only-novalid.html
new file mode 100644
index 000000000..1c7fae12b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty formaction is not valid</title>
+<input type=image alt="foo" formaction="
+">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-backslash-novalid.html
new file mode 100644
index 000000000..dee7e3b05
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-backslash</title>
+<input type=image alt="foo" formaction="#\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..3bc4e4cdd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-contains-hash</title>
+<input type=image alt="foo" formaction="http://foo/path#f#g">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..07a0678ee
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-leading-space</title>
+<input type=image alt="foo" formaction="http://f:21/b# e">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-cr-novalid.html
new file mode 100644
index 000000000..48919b1d8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-cr</title>
+<input type=image alt="foo" formaction="http://example. org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..0919432af
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-double-percent-encoded</title>
+<input type=image alt="foo" formaction="http://%41.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..007e045f6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-double-percent-encoded-percent-encoded</title>
+<input type=image alt="foo" formaction="http://%ef%bc%85%ef%bc%94%ef%bc%91.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-novalid.html
new file mode 100644
index 000000000..479146ab9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty</title>
+<input type=image alt="foo" formaction="http://">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..62339541a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty-userinfo-empty</title>
+<input type=image alt="foo" formaction="http://@/www.example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..30c5f8e86
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty-with-userinfo</title>
+<input type=image alt="foo" formaction="http://user:pass@/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..dab28abff
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-hostname-in-brackets</title>
+<input type=image alt="foo" formaction="http://[www.google.com]/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..b389ecb58
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-invalid-unicode</title>
+<input type=image alt="foo" formaction="http://﷐zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..eab019064
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-invalid-unicode-percent-encoded</title>
+<input type=image alt="foo" formaction="http://%ef%b7%90zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-newline-novalid.html
new file mode 100644
index 000000000..6af1be049
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-newline</title>
+<input type=image alt="foo" formaction="http://example.
+org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-space-novalid.html
new file mode 100644
index 000000000..6b9e40850
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-space</title>
+<input type=image alt="foo" formaction="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..fa76475e3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-square-brackets-port-contains-colon</title>
+<input type=image alt="foo" formaction="http://[1::2]:3:4">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-tab-novalid.html
new file mode 100644
index 000000000..2a50d5275
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-tab</title>
+<input type=image alt="foo" formaction="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..d6fb95796
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-u0000-percent-encoded</title>
+<input type=image alt="foo" formaction="http://%00.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..a55751d8d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-u0000-percent-encoded-percent-encoded</title>
+<input type=image alt="foo" formaction="http://%ef%bc%85%ef%bc%90%ef%bc%90.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..1a8e6444c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-bare-percent-sign</title>
+<input type=image alt="foo" formaction="http://example.com/foo%">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-contains-space-novalid.html
new file mode 100644
index 000000000..a74a6604f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-contains-space</title>
+<input type=image alt="foo" formaction="/a/ /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..db8534ac3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-backslash-at-sign</title>
+<input type=image alt="foo" formaction="http://foo.com/\@">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..ee2cb3157
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-colon-backslash</title>
+<input type=image alt="foo" formaction=":\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..843915930
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-colon-chars-backslash</title>
+<input type=image alt="foo" formaction=":foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-space-novalid.html
new file mode 100644
index 000000000..dc991b8db
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-space</title>
+<input type=image alt="foo" formaction="http://f:21/ b">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..830ecfa13
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-percent-encoded-malformed</title>
+<input type=image alt="foo" formaction="http://example.com/foo/%2e%2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..222a0bd94
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-relative-square-brackets</title>
+<input type=image alt="foo" formaction="[61:24:74]:98">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-tab-novalid.html
new file mode 100644
index 000000000..b0440aabd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-tab</title>
+<input type=image alt="foo" formaction="http://example.com/foo bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-trailing-space-novalid.html
new file mode 100644
index 000000000..61a6a1a1b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-trailing-space</title>
+<input type=image alt="foo" formaction="http://f:21/b ?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-u0091-novalid.html
new file mode 100644
index 000000000..3edbb7aab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-u0091</title>
+<input type=image alt="foo" formaction="http://example.com/foo‘">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-999999-novalid.html
new file mode 100644
index 000000000..a01365d72
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-999999</title>
+<input type=image alt="foo" formaction="http://f:999999/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-cr-novalid.html
new file mode 100644
index 000000000..ceca5a835
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-cr</title>
+<input type=image alt="foo" formaction="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..f81445218
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-colon-bracket-colon</title>
+<input type=image alt="foo" formaction="http://2001::1]:80">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-novalid.html
new file mode 100644
index 000000000..fd3d244c8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-colon</title>
+<input type=image alt="foo" formaction="http://2001::1">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-dash-novalid.html
new file mode 100644
index 000000000..a41365256
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-dash</title>
+<input type=image alt="foo" formaction="http://foo:-80/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..f899b643d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-multiple-letters</title>
+<input type=image alt="foo" formaction="http://f:fifty-two/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-newline-novalid.html
new file mode 100644
index 000000000..efa6fef43
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-newline</title>
+<input type=image alt="foo" formaction="http://f:
+/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-single-letter-novalid.html
new file mode 100644
index 000000000..6b04af7a8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-single-letter</title>
+<input type=image alt="foo" formaction="http://f:b/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-space-novalid.html
new file mode 100644
index 000000000..666db3a7f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-space</title>
+<input type=image alt="foo" formaction="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-tab-novalid.html
new file mode 100644
index 000000000..dd6717160
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-tab</title>
+<input type=image alt="foo" formaction="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/query-leading-space-novalid.html
new file mode 100644
index 000000000..01d360dd5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: query-leading-space</title>
+<input type=image alt="foo" formaction="http://f:21/b? d">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/query-trailing-space-novalid.html
new file mode 100644
index 000000000..98322081e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: query-trailing-space</title>
+<input type=image alt="foo" formaction="http://f:21/b?d #">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..aa3ea3aad
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>formaction warning: scheme-data-contains-fragment</title>
+<input type=image alt="foo" formaction="data:text/html,test#test">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..48e5ec30b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-data-single-slash</title>
+<input type=image alt="foo" formaction="data:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..e77493c24
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-backslash</title>
+<input type=image alt="foo" formaction="file:c:\foo\bar.html">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..3a12a2f2c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-single-slash-c-bar</title>
+<input type=image alt="foo" formaction="file:/C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..da3f423ea
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-triple-slash-c-bar</title>
+<input type=image alt="foo" formaction="file:///C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..620a37c83
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-ftp-no-slash</title>
+<input type=image alt="foo" formaction="ftp:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..e5f064e25
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-ftp-single-slash</title>
+<input type=image alt="foo" formaction="ftp:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..cad3f1e99
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-backslash</title>
+<input type=image alt="foo" formaction="http:\\foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..fb1ecc696
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash-colon</title>
+<input type=image alt="foo" formaction="http::@c:29">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..62bdcd8c2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash</title>
+<input type=image alt="foo" formaction="http:foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..90f76c9d1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash-square-bracket</title>
+<input type=image alt="foo" formaction="http:[61:27]/:foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..9f1a49211
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-single-slash</title>
+<input type=image alt="foo" formaction="http:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..2357c0a1e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-https-no-slash</title>
+<input type=image alt="foo" formaction="https:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..4e3075b49
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-https-single-slash</title>
+<input type=image alt="foo" formaction="https:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..727da488f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-javascript-no-slash-malformed</title>
+<input type=image alt="foo" formaction="javascript:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..45affd7ec
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-cr</title>
+<input type=image alt="foo" formaction="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..161cffbf6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-newline</title>
+<input type=image alt="foo" formaction="a:
+foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..ebd08615a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-space</title>
+<input type=image alt="foo" formaction="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..1429b7a27
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-tab</title>
+<input type=image alt="foo" formaction="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..a0df503e1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-backslash</title>
+<input type=image alt="foo" formaction="http://a\b:c\d@foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..1673f65ec
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-password-bad-chars</title>
+<input type=image alt="foo" formaction="http://&a:foo(b]c@d:2/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..aae3d288a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-password-contains-pile-of-poo</title>
+<input type=image alt="foo" formaction="http://foo:💩@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..cc0652c8b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-username-contains-at-sign</title>
+<input type=image alt="foo" formaction="http://::@c@d:2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..abc75f3ed
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-username-contains-pile-of-poo</title>
+<input type=image alt="foo" formaction="http://💩:foo@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-empty-novalid.html
new file mode 100644
index 000000000..f773a2aa4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<input type=image alt="foo" src="">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-isvalid.html
new file mode 100644
index 000000000..0d744c002
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid src</title>
+<input type=image alt="foo" src="file:///"><!-- scheme-file-slash-slash-slash-only -->
+<input type=image alt="foo" src="http://a:@www.example.com"><!-- userinfo-password-empty -->
+<input type=image alt="foo" src="foo://///////"><!-- scheme-private-path-leading-slashes-only -->
+<input type=image alt="foo" src="file://abc|/foo/bar"><!-- scheme-file-slash-slash-abc-bar -->
+<input type=image alt="foo" src="/a/b/c"><!-- path-simple-relative -->
+<input type=image alt="foo" src="http://example.com/你好你好"><!-- path-unicode-han -->
+<input type=image alt="foo" src="/a/%2f/c"><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<input type=image alt="foo" src="http://f:/c"><!-- port-none-but-colon -->
+<input type=image alt="foo" src="http://example.com/foo%41%7a"><!-- path-percent-encoded-multiple -->
+<input type=image alt="foo" src="http://192.168.0.257/"><!-- host-IP-address-broken -->
+<input type=image alt="foo" src="madeupscheme:example.com/"><!-- scheme-private-no-slash -->
+<input type=image alt="foo" src="?"><!-- query-empty-no-path-relative -->
+<input type=image alt="foo" src="http://example.com/%20foo"><!-- path-percent-encoded-space -->
+<input type=image alt="foo" src="mailto:/example.com/"><!-- scheme-mailto-single-slash -->
+<input type=image alt="foo" src="::"><!-- path-leading-colon-colon-relative -->
+<input type=image alt="foo" src="http://example.com/%3A%3a%3C%3c"><!-- path-percent-encoded-mixed-case -->
+<input type=image alt="foo" src="http://user:pass@foo:21/bar;par?b#c"><!-- userinfo -->
+<input type=image alt="foo" src="ws:/example.com/"><!-- scheme-ws-single-slash -->
+<input type=image alt="foo" src="foo://"><!-- scheme-private-slash-slash -->
+<input type=image alt="foo" src="#"><!-- fragment-empty-hash-only-no-path-relative -->
+<input type=image alt="foo" src="http://f:00000000000000/c"><!-- port-00000000000000 -->
+<input type=image alt="foo" src="foo:////://///"><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<input type=image alt="foo" src=":23"><!-- path-leading-colon-number-relative -->
+<input type=image alt="foo" src="foo:/"><!-- scheme-private-slash -->
+<input type=image alt="foo" src="http://💩"><!-- host-is-pile-of-poo -->
+<input type=image alt="foo" src="file:test"><!-- scheme-file-no-slash -->
+<input type=image alt="foo" src="file://C|/foo/bar"><!-- scheme-file-slash-slash-c-bar -->
+<input type=image alt="foo" src="#/"><!-- fragment-slash-relative -->
+<input type=image alt="foo" src="http://192.0x00A80001"><!-- host-192.0x00A80001 -->
+<input type=image alt="foo" src="foo.com"><!-- scheme-none-relative -->
+<input type=image alt="foo" src="http💩//:foo"><!-- path-contains-pile-of-poo -->
+<input type=image alt="foo" src="File://foo/bar.html"><!-- scheme-file-uppercase -->
+<input type=image alt="foo" src=":/"><!-- path-leading-colon-slash-relative -->
+<input type=image alt="foo" src="http://www.foo。bar.com"><!-- host-exotic-dot -->
+<input type=image alt="foo" src="http://GOO​⁠goo.com"><!-- host-exotic-whitespace -->
+<input type=image alt="foo" src="file:///foo/bar.txt"><!-- scheme-file-host-empty -->
+<input type=image alt="foo" src="javascript:/example.com/"><!-- scheme-javascript-single-slash -->
+<input type=image alt="foo" src="gopher:/example.com/"><!-- scheme-gopher-single-slash -->
+<input type=image alt="foo" src="ftps:example.com/"><!-- scheme-ftps-no-slash -->
+<input type=image alt="foo" src="file://server/foo/bar"><!-- scheme-file-host-included -->
+<input type=image alt="foo" src="http://example.com/foo%00"><!-- path-percent-encoded-u0000 -->
+<input type=image alt="foo" src="a:foo.com"><!-- scheme-private -->
+<input type=image alt="foo" src=":"><!-- path-colon-relative -->
+<input type=image alt="foo" src="http://:b@www.example.com"><!-- userinfo-user-empty -->
+<input type=image alt="foo" src="file:/"><!-- scheme-file-slash-only -->
+<input type=image alt="foo" src="wss:example.com/"><!-- scheme-wss-no-slash -->
+<input type=image alt="foo" src="::23"><!-- path-colon-colon-number-relative -->
+<input type=image alt="foo" src="/a%2fc"><!-- path-percent-encoded-slash-relative -->
+<input type=image alt="foo" src="http://a:b@c:29/d"><!-- userinfo-host-port-path -->
+<input type=image alt="foo" src="gopher:example.com/"><!-- scheme-gopher-no-slash -->
+<input type=image alt="foo" src="madeupscheme:/example.com/"><!-- scheme-private-single-slash -->
+<input type=image alt="foo" src="mailto:example.com/"><!-- scheme-mailto-no-slash -->
+<input type=image alt="foo" src="http://%25DOMAIN:foobar@foodomain.com"><!-- userinfo-username-contains-percent-encoded -->
+<input type=image alt="foo" src="/:23"><!-- path-slash-colon-number-relative -->
+<input type=image alt="foo" src="foo://///////bar.com/"><!-- scheme-private-path-leading-slashes-chars -->
+<input type=image alt="foo" src="http://[2001::1]:80"><!-- host-ipv6-port -->
+<input type=image alt="foo" src="data:text/plain,foo"><!-- scheme-data-no-slash -->
+<input type=image alt="foo" src="http://example.com/foo/%2e"><!-- path-percent-encoded-dot -->
+<input type=image alt="foo" src="file:/example.com/"><!-- scheme-file-single-slash -->
+<input type=image alt="foo" src="http://example.com/©zbar"><!-- path-non-ascii -->
+<input type=image alt="foo" src="http://example.com//foo"><!-- path-uFEFF -->
+<input type=image alt="foo" src="wss:/example.com/"><!-- scheme-wss-single-slash -->
+<input type=image alt="foo" src="http://foo/abcd#foo?bar"><!-- fragment-contains-question-mark -->
+<input type=image alt="foo" src=":#"><!-- path-leading-colon-hash-relative -->
+<input type=image alt="foo" src="http://example.com/foo%91"><!-- path-percent-encoded-u0091 -->
+<input type=image alt="foo" src="c:/foo"><!-- scheme-private-single-letter -->
+<input type=image alt="foo" src=":foo.com"><!-- path-leading-colon-chars-relative -->
+<input type=image alt="foo" src="http://你好你好"><!-- host-idn-unicode-han -->
+<input type=image alt="foo" src="http://example.com/foo#💩"><!-- fragment-contains-pile-of-poo -->
+<input type=image alt="foo" src="file:"><!-- scheme-file-scheme-only -->
+<input type=image alt="foo" src="#β"><!-- fragment-non-ascii-relative -->
+<input type=image alt="foo" src="foo:/bar.com/"><!-- scheme-private-path -->
+<input type=image alt="foo" src="http://f:0/c"><!-- port-0 -->
+<input type=image alt="foo" src="#;?"><!-- fragment-semicolon-question-mark-relative -->
+<input type=image alt="foo" src="http://Go.com"><!-- host-fullwidth -->
+<input type=image alt="foo" src="http://@www.example.com"><!-- userinfo-empty -->
+<input type=image alt="foo" src="http://example.com/‮/foo/‭/bar"><!-- path-u202E-u202D -->
+<input type=image alt="foo" src="http://[2001::1]"><!-- host-ipv6 -->
+<input type=image alt="foo" src="💩http://foo"><!-- path-starts-with-pile-of-poo -->
+<input type=image alt="foo" src="http://foo/abcd?efgh?ijkl"><!-- query-contains-question-mark -->
+<input type=image alt="foo" src="//foo/bar"><!-- scheme-schemeless-relative -->
+<input type=image alt="foo" src="ftps:/example.com/"><!-- scheme-ftps-single-slash -->
+<input type=image alt="foo" src="http://foo.com:b@d/"><!-- userinfo-username-non-alpha -->
+<input type=image alt="foo" src=":a"><!-- path-leading-colon-letter-relative -->
+<input type=image alt="foo" src="/"><!-- path-slash-only-relative -->
+<input type=image alt="foo" src="http://example.com/foo?💩"><!-- query-contains-pile-of-poo -->
+<input type=image alt="foo" src="http://f:00000000000000000000080/c"><!-- port-00000000000000000000080 -->
+<input type=image alt="foo" src="file://"><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-whitespace-only-novalid.html
new file mode 100644
index 000000000..e3d0486e6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<input type=image alt="foo" src="
+">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-backslash-novalid.html
new file mode 100644
index 000000000..eda0b37a8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-backslash</title>
+<input type=image alt="foo" src="#\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..3b4ada533
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-contains-hash</title>
+<input type=image alt="foo" src="http://foo/path#f#g">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..4e91c794a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-leading-space</title>
+<input type=image alt="foo" src="http://f:21/b# e">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-cr-novalid.html
new file mode 100644
index 000000000..c6c7dcd69
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-cr</title>
+<input type=image alt="foo" src="http://example. org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..3946af19f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded</title>
+<input type=image alt="foo" src="http://%41.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..0e657ba1a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded-percent-encoded</title>
+<input type=image alt="foo" src="http://%ef%bc%85%ef%bc%94%ef%bc%91.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-novalid.html
new file mode 100644
index 000000000..faac339c6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty</title>
+<input type=image alt="foo" src="http://">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..623e61268
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-userinfo-empty</title>
+<input type=image alt="foo" src="http://@/www.example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..9cc6d8624
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-with-userinfo</title>
+<input type=image alt="foo" src="http://user:pass@/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..c48b95b00
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-hostname-in-brackets</title>
+<input type=image alt="foo" src="http://[www.google.com]/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..8595d37ec
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode</title>
+<input type=image alt="foo" src="http://﷐zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..3c7f42df1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode-percent-encoded</title>
+<input type=image alt="foo" src="http://%ef%b7%90zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-newline-novalid.html
new file mode 100644
index 000000000..68fdc0aea
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-newline</title>
+<input type=image alt="foo" src="http://example.
+org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-space-novalid.html
new file mode 100644
index 000000000..45c7e8bb1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-space</title>
+<input type=image alt="foo" src="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..b4b5552a8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-square-brackets-port-contains-colon</title>
+<input type=image alt="foo" src="http://[1::2]:3:4">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-tab-novalid.html
new file mode 100644
index 000000000..ae443539c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-tab</title>
+<input type=image alt="foo" src="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..8e554bb9c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded</title>
+<input type=image alt="foo" src="http://%00.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..ea9f960fe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded-percent-encoded</title>
+<input type=image alt="foo" src="http://%ef%bc%85%ef%bc%90%ef%bc%90.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..864ea4960
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-bare-percent-sign</title>
+<input type=image alt="foo" src="http://example.com/foo%">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-contains-space-novalid.html
new file mode 100644
index 000000000..069e2a1c3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-contains-space</title>
+<input type=image alt="foo" src="/a/ /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..71b05d901
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-backslash-at-sign</title>
+<input type=image alt="foo" src="http://foo.com/\@">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..2d4baf910
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-backslash</title>
+<input type=image alt="foo" src=":\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..ef690bbf0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-chars-backslash</title>
+<input type=image alt="foo" src=":foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-space-novalid.html
new file mode 100644
index 000000000..c0204f5c1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-space</title>
+<input type=image alt="foo" src="http://f:21/ b">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..c5222fab6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-percent-encoded-malformed</title>
+<input type=image alt="foo" src="http://example.com/foo/%2e%2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..8c05cbef6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-relative-square-brackets</title>
+<input type=image alt="foo" src="[61:24:74]:98">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-tab-novalid.html
new file mode 100644
index 000000000..a2b683d9d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-tab</title>
+<input type=image alt="foo" src="http://example.com/foo bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-trailing-space-novalid.html
new file mode 100644
index 000000000..a047676f4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-trailing-space</title>
+<input type=image alt="foo" src="http://f:21/b ?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-u0091-novalid.html
new file mode 100644
index 000000000..0da7c170c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-u0091</title>
+<input type=image alt="foo" src="http://example.com/foo‘">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-999999-novalid.html
new file mode 100644
index 000000000..7c5b961f4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-999999</title>
+<input type=image alt="foo" src="http://f:999999/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-cr-novalid.html
new file mode 100644
index 000000000..b2467d2be
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-cr</title>
+<input type=image alt="foo" src="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..1bb21c61b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon-bracket-colon</title>
+<input type=image alt="foo" src="http://2001::1]:80">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-novalid.html
new file mode 100644
index 000000000..5b7c18377
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon</title>
+<input type=image alt="foo" src="http://2001::1">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-dash-novalid.html
new file mode 100644
index 000000000..0f125e1f8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-dash</title>
+<input type=image alt="foo" src="http://foo:-80/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..ffc0b8747
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-multiple-letters</title>
+<input type=image alt="foo" src="http://f:fifty-two/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-newline-novalid.html
new file mode 100644
index 000000000..51e6c7358
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-newline</title>
+<input type=image alt="foo" src="http://f:
+/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-single-letter-novalid.html
new file mode 100644
index 000000000..007ec33d1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-single-letter</title>
+<input type=image alt="foo" src="http://f:b/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-space-novalid.html
new file mode 100644
index 000000000..4086ace7a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-space</title>
+<input type=image alt="foo" src="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-tab-novalid.html
new file mode 100644
index 000000000..90faa3007
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-tab</title>
+<input type=image alt="foo" src="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/query-leading-space-novalid.html
new file mode 100644
index 000000000..183e1fad8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-leading-space</title>
+<input type=image alt="foo" src="http://f:21/b? d">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/query-trailing-space-novalid.html
new file mode 100644
index 000000000..a64a7c6b7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-trailing-space</title>
+<input type=image alt="foo" src="http://f:21/b?d #">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..71b9a8873
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>src warning: scheme-data-contains-fragment</title>
+<input type=image alt="foo" src="data:text/html,test#test">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..a2b5d1f86
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-data-single-slash</title>
+<input type=image alt="foo" src="data:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..0a1b8fb52
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-backslash</title>
+<input type=image alt="foo" src="file:c:\foo\bar.html">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..ee896fe55
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-single-slash-c-bar</title>
+<input type=image alt="foo" src="file:/C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..8cb7521e8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-triple-slash-c-bar</title>
+<input type=image alt="foo" src="file:///C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..bd109af80
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-no-slash</title>
+<input type=image alt="foo" src="ftp:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..d892ac52d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-single-slash</title>
+<input type=image alt="foo" src="ftp:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..6fafed4ab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-backslash</title>
+<input type=image alt="foo" src="http:\\foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..90a1212ac
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-colon</title>
+<input type=image alt="foo" src="http::@c:29">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..e2c684aac
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash</title>
+<input type=image alt="foo" src="http:foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..7a64662c8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-square-bracket</title>
+<input type=image alt="foo" src="http:[61:27]/:foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..cdfd4d74c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-single-slash</title>
+<input type=image alt="foo" src="http:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..d6b2bce56
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-no-slash</title>
+<input type=image alt="foo" src="https:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..301281c14
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-single-slash</title>
+<input type=image alt="foo" src="https:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..f22ebf502
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-javascript-no-slash-malformed</title>
+<input type=image alt="foo" src="javascript:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..2cef8164e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-cr</title>
+<input type=image alt="foo" src="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..1cac5852c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-newline</title>
+<input type=image alt="foo" src="a:
+foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..8b8f11fa2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-space</title>
+<input type=image alt="foo" src="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..6f5772f6b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-tab</title>
+<input type=image alt="foo" src="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..85b04e06b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-backslash</title>
+<input type=image alt="foo" src="http://a\b:c\d@foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..4b3ef3426
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-bad-chars</title>
+<input type=image alt="foo" src="http://&a:foo(b]c@d:2/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..2b86aa332
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-contains-pile-of-poo</title>
+<input type=image alt="foo" src="http://foo:💩@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..bdaf3479f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-at-sign</title>
+<input type=image alt="foo" src="http://::@c@d:2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..32627a1f3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-pile-of-poo</title>
+<input type=image alt="foo" src="http://💩:foo@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-empty-novalid.html
new file mode 100644
index 000000000..ae291ca35
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty formaction is not valid</title>
+<input type=submit formaction="">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-isvalid.html
new file mode 100644
index 000000000..332b92065
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid formaction</title>
+<input type=submit formaction="file:///"><!-- scheme-file-slash-slash-slash-only -->
+<input type=submit formaction="http://a:@www.example.com"><!-- userinfo-password-empty -->
+<input type=submit formaction="foo://///////"><!-- scheme-private-path-leading-slashes-only -->
+<input type=submit formaction="file://abc|/foo/bar"><!-- scheme-file-slash-slash-abc-bar -->
+<input type=submit formaction="/a/b/c"><!-- path-simple-relative -->
+<input type=submit formaction="http://example.com/你好你好"><!-- path-unicode-han -->
+<input type=submit formaction="/a/%2f/c"><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<input type=submit formaction="http://f:/c"><!-- port-none-but-colon -->
+<input type=submit formaction="http://example.com/foo%41%7a"><!-- path-percent-encoded-multiple -->
+<input type=submit formaction="http://192.168.0.257/"><!-- host-IP-address-broken -->
+<input type=submit formaction="madeupscheme:example.com/"><!-- scheme-private-no-slash -->
+<input type=submit formaction="?"><!-- query-empty-no-path-relative -->
+<input type=submit formaction="http://example.com/%20foo"><!-- path-percent-encoded-space -->
+<input type=submit formaction="mailto:/example.com/"><!-- scheme-mailto-single-slash -->
+<input type=submit formaction="::"><!-- path-leading-colon-colon-relative -->
+<input type=submit formaction="http://example.com/%3A%3a%3C%3c"><!-- path-percent-encoded-mixed-case -->
+<input type=submit formaction="http://user:pass@foo:21/bar;par?b#c"><!-- userinfo -->
+<input type=submit formaction="ws:/example.com/"><!-- scheme-ws-single-slash -->
+<input type=submit formaction="foo://"><!-- scheme-private-slash-slash -->
+<input type=submit formaction="#"><!-- fragment-empty-hash-only-no-path-relative -->
+<input type=submit formaction="http://f:00000000000000/c"><!-- port-00000000000000 -->
+<input type=submit formaction="foo:////://///"><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<input type=submit formaction=":23"><!-- path-leading-colon-number-relative -->
+<input type=submit formaction="foo:/"><!-- scheme-private-slash -->
+<input type=submit formaction="http://💩"><!-- host-is-pile-of-poo -->
+<input type=submit formaction="file:test"><!-- scheme-file-no-slash -->
+<input type=submit formaction="file://C|/foo/bar"><!-- scheme-file-slash-slash-c-bar -->
+<input type=submit formaction="#/"><!-- fragment-slash-relative -->
+<input type=submit formaction="http://192.0x00A80001"><!-- host-192.0x00A80001 -->
+<input type=submit formaction="foo.com"><!-- scheme-none-relative -->
+<input type=submit formaction="http💩//:foo"><!-- path-contains-pile-of-poo -->
+<input type=submit formaction="File://foo/bar.html"><!-- scheme-file-uppercase -->
+<input type=submit formaction=":/"><!-- path-leading-colon-slash-relative -->
+<input type=submit formaction="http://www.foo。bar.com"><!-- host-exotic-dot -->
+<input type=submit formaction="http://GOO​⁠goo.com"><!-- host-exotic-whitespace -->
+<input type=submit formaction="file:///foo/bar.txt"><!-- scheme-file-host-empty -->
+<input type=submit formaction="javascript:/example.com/"><!-- scheme-javascript-single-slash -->
+<input type=submit formaction="gopher:/example.com/"><!-- scheme-gopher-single-slash -->
+<input type=submit formaction="ftps:example.com/"><!-- scheme-ftps-no-slash -->
+<input type=submit formaction="file://server/foo/bar"><!-- scheme-file-host-included -->
+<input type=submit formaction="http://example.com/foo%00"><!-- path-percent-encoded-u0000 -->
+<input type=submit formaction="a:foo.com"><!-- scheme-private -->
+<input type=submit formaction=":"><!-- path-colon-relative -->
+<input type=submit formaction="http://:b@www.example.com"><!-- userinfo-user-empty -->
+<input type=submit formaction="file:/"><!-- scheme-file-slash-only -->
+<input type=submit formaction="wss:example.com/"><!-- scheme-wss-no-slash -->
+<input type=submit formaction="::23"><!-- path-colon-colon-number-relative -->
+<input type=submit formaction="/a%2fc"><!-- path-percent-encoded-slash-relative -->
+<input type=submit formaction="http://a:b@c:29/d"><!-- userinfo-host-port-path -->
+<input type=submit formaction="gopher:example.com/"><!-- scheme-gopher-no-slash -->
+<input type=submit formaction="madeupscheme:/example.com/"><!-- scheme-private-single-slash -->
+<input type=submit formaction="mailto:example.com/"><!-- scheme-mailto-no-slash -->
+<input type=submit formaction="http://%25DOMAIN:foobar@foodomain.com"><!-- userinfo-username-contains-percent-encoded -->
+<input type=submit formaction="/:23"><!-- path-slash-colon-number-relative -->
+<input type=submit formaction="foo://///////bar.com/"><!-- scheme-private-path-leading-slashes-chars -->
+<input type=submit formaction="http://[2001::1]:80"><!-- host-ipv6-port -->
+<input type=submit formaction="data:text/plain,foo"><!-- scheme-data-no-slash -->
+<input type=submit formaction="http://example.com/foo/%2e"><!-- path-percent-encoded-dot -->
+<input type=submit formaction="file:/example.com/"><!-- scheme-file-single-slash -->
+<input type=submit formaction="http://example.com/©zbar"><!-- path-non-ascii -->
+<input type=submit formaction="http://example.com//foo"><!-- path-uFEFF -->
+<input type=submit formaction="wss:/example.com/"><!-- scheme-wss-single-slash -->
+<input type=submit formaction="http://foo/abcd#foo?bar"><!-- fragment-contains-question-mark -->
+<input type=submit formaction=":#"><!-- path-leading-colon-hash-relative -->
+<input type=submit formaction="http://example.com/foo%91"><!-- path-percent-encoded-u0091 -->
+<input type=submit formaction="c:/foo"><!-- scheme-private-single-letter -->
+<input type=submit formaction=":foo.com"><!-- path-leading-colon-chars-relative -->
+<input type=submit formaction="http://你好你好"><!-- host-idn-unicode-han -->
+<input type=submit formaction="http://example.com/foo#💩"><!-- fragment-contains-pile-of-poo -->
+<input type=submit formaction="file:"><!-- scheme-file-scheme-only -->
+<input type=submit formaction="#β"><!-- fragment-non-ascii-relative -->
+<input type=submit formaction="foo:/bar.com/"><!-- scheme-private-path -->
+<input type=submit formaction="http://f:0/c"><!-- port-0 -->
+<input type=submit formaction="#;?"><!-- fragment-semicolon-question-mark-relative -->
+<input type=submit formaction="http://Go.com"><!-- host-fullwidth -->
+<input type=submit formaction="http://@www.example.com"><!-- userinfo-empty -->
+<input type=submit formaction="http://example.com/‮/foo/‭/bar"><!-- path-u202E-u202D -->
+<input type=submit formaction="http://[2001::1]"><!-- host-ipv6 -->
+<input type=submit formaction="💩http://foo"><!-- path-starts-with-pile-of-poo -->
+<input type=submit formaction="http://foo/abcd?efgh?ijkl"><!-- query-contains-question-mark -->
+<input type=submit formaction="//foo/bar"><!-- scheme-schemeless-relative -->
+<input type=submit formaction="ftps:/example.com/"><!-- scheme-ftps-single-slash -->
+<input type=submit formaction="http://foo.com:b@d/"><!-- userinfo-username-non-alpha -->
+<input type=submit formaction=":a"><!-- path-leading-colon-letter-relative -->
+<input type=submit formaction="/"><!-- path-slash-only-relative -->
+<input type=submit formaction="http://example.com/foo?💩"><!-- query-contains-pile-of-poo -->
+<input type=submit formaction="http://f:00000000000000000000080/c"><!-- port-00000000000000000000080 -->
+<input type=submit formaction="file://"><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-whitespace-only-novalid.html
new file mode 100644
index 000000000..6f2d34e8d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty formaction is not valid</title>
+<input type=submit formaction="
+">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-backslash-novalid.html
new file mode 100644
index 000000000..f425c3076
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-backslash</title>
+<input type=submit formaction="#\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..074b066b9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-contains-hash</title>
+<input type=submit formaction="http://foo/path#f#g">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..370bc0d8b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-leading-space</title>
+<input type=submit formaction="http://f:21/b# e">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-cr-novalid.html
new file mode 100644
index 000000000..30c67fdf9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-cr</title>
+<input type=submit formaction="http://example. org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..b6bcab6dc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-double-percent-encoded</title>
+<input type=submit formaction="http://%41.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..b25b38948
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-double-percent-encoded-percent-encoded</title>
+<input type=submit formaction="http://%ef%bc%85%ef%bc%94%ef%bc%91.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-novalid.html
new file mode 100644
index 000000000..7f0bff475
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty</title>
+<input type=submit formaction="http://">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..548576d6f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty-userinfo-empty</title>
+<input type=submit formaction="http://@/www.example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..fc22cd194
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty-with-userinfo</title>
+<input type=submit formaction="http://user:pass@/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..6b714a213
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-hostname-in-brackets</title>
+<input type=submit formaction="http://[www.google.com]/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..f9e490b15
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-invalid-unicode</title>
+<input type=submit formaction="http://﷐zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..8bd4fa53b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-invalid-unicode-percent-encoded</title>
+<input type=submit formaction="http://%ef%b7%90zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-newline-novalid.html
new file mode 100644
index 000000000..4bf316083
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-newline</title>
+<input type=submit formaction="http://example.
+org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-space-novalid.html
new file mode 100644
index 000000000..40d1b5e1b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-space</title>
+<input type=submit formaction="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..b58d8edfb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-square-brackets-port-contains-colon</title>
+<input type=submit formaction="http://[1::2]:3:4">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-tab-novalid.html
new file mode 100644
index 000000000..1f0818c83
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-tab</title>
+<input type=submit formaction="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..38d6adf05
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-u0000-percent-encoded</title>
+<input type=submit formaction="http://%00.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..d4628743d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-u0000-percent-encoded-percent-encoded</title>
+<input type=submit formaction="http://%ef%bc%85%ef%bc%90%ef%bc%90.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..507dd282c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-bare-percent-sign</title>
+<input type=submit formaction="http://example.com/foo%">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-contains-space-novalid.html
new file mode 100644
index 000000000..41b102730
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-contains-space</title>
+<input type=submit formaction="/a/ /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..5bc0f540f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-backslash-at-sign</title>
+<input type=submit formaction="http://foo.com/\@">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..9f96f0752
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-colon-backslash</title>
+<input type=submit formaction=":\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..a6d07f612
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-colon-chars-backslash</title>
+<input type=submit formaction=":foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-space-novalid.html
new file mode 100644
index 000000000..2906aa3ac
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-space</title>
+<input type=submit formaction="http://f:21/ b">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..955bd05ab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-percent-encoded-malformed</title>
+<input type=submit formaction="http://example.com/foo/%2e%2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..3bc8dbf2d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-relative-square-brackets</title>
+<input type=submit formaction="[61:24:74]:98">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-tab-novalid.html
new file mode 100644
index 000000000..e424a2a23
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-tab</title>
+<input type=submit formaction="http://example.com/foo bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-trailing-space-novalid.html
new file mode 100644
index 000000000..d61566d29
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-trailing-space</title>
+<input type=submit formaction="http://f:21/b ?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-u0091-novalid.html
new file mode 100644
index 000000000..d9c5c0bdd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-u0091</title>
+<input type=submit formaction="http://example.com/foo‘">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-999999-novalid.html
new file mode 100644
index 000000000..56fed6806
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-999999</title>
+<input type=submit formaction="http://f:999999/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-cr-novalid.html
new file mode 100644
index 000000000..bcacfa8b8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-cr</title>
+<input type=submit formaction="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..02caabe38
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-colon-bracket-colon</title>
+<input type=submit formaction="http://2001::1]:80">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-novalid.html
new file mode 100644
index 000000000..1222d48fe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-colon</title>
+<input type=submit formaction="http://2001::1">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-dash-novalid.html
new file mode 100644
index 000000000..eea1fb9fe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-dash</title>
+<input type=submit formaction="http://foo:-80/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..575f7b156
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-multiple-letters</title>
+<input type=submit formaction="http://f:fifty-two/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-newline-novalid.html
new file mode 100644
index 000000000..77281c7f2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-newline</title>
+<input type=submit formaction="http://f:
+/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-single-letter-novalid.html
new file mode 100644
index 000000000..231f88659
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-single-letter</title>
+<input type=submit formaction="http://f:b/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-space-novalid.html
new file mode 100644
index 000000000..df250d3cb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-space</title>
+<input type=submit formaction="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-tab-novalid.html
new file mode 100644
index 000000000..7e817369d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-tab</title>
+<input type=submit formaction="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/query-leading-space-novalid.html
new file mode 100644
index 000000000..9bdcfa9ce
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: query-leading-space</title>
+<input type=submit formaction="http://f:21/b? d">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/query-trailing-space-novalid.html
new file mode 100644
index 000000000..094f5008d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: query-trailing-space</title>
+<input type=submit formaction="http://f:21/b?d #">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..4677df893
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>formaction warning: scheme-data-contains-fragment</title>
+<input type=submit formaction="data:text/html,test#test">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..ae851bea5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-data-single-slash</title>
+<input type=submit formaction="data:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..22600d617
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-backslash</title>
+<input type=submit formaction="file:c:\foo\bar.html">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..05c18e646
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-single-slash-c-bar</title>
+<input type=submit formaction="file:/C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..f15f3083d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-triple-slash-c-bar</title>
+<input type=submit formaction="file:///C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..f4d95347d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-ftp-no-slash</title>
+<input type=submit formaction="ftp:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..40314614e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-ftp-single-slash</title>
+<input type=submit formaction="ftp:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..a29e4fa97
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-backslash</title>
+<input type=submit formaction="http:\\foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..5350ea0a9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash-colon</title>
+<input type=submit formaction="http::@c:29">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..c7f227eab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash</title>
+<input type=submit formaction="http:foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..3d66391cd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash-square-bracket</title>
+<input type=submit formaction="http:[61:27]/:foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..6c69f2789
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-single-slash</title>
+<input type=submit formaction="http:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..6c15ad999
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-https-no-slash</title>
+<input type=submit formaction="https:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..27e668c97
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-https-single-slash</title>
+<input type=submit formaction="https:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..fe2c0ce71
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-javascript-no-slash-malformed</title>
+<input type=submit formaction="javascript:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..3ab19fffd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-cr</title>
+<input type=submit formaction="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..eba43de91
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-newline</title>
+<input type=submit formaction="a:
+foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..e0d62b36f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-space</title>
+<input type=submit formaction="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..4b75ff2e7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-tab</title>
+<input type=submit formaction="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..56f8a0b7d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-backslash</title>
+<input type=submit formaction="http://a\b:c\d@foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..d005f35cb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-password-bad-chars</title>
+<input type=submit formaction="http://&a:foo(b]c@d:2/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..eba2430b5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-password-contains-pile-of-poo</title>
+<input type=submit formaction="http://foo:💩@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..060f63c16
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-username-contains-at-sign</title>
+<input type=submit formaction="http://::@c@d:2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..5e528bff8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-username-contains-pile-of-poo</title>
+<input type=submit formaction="http://💩:foo@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value-empty-isvalid.html
new file mode 100644
index 000000000..229b7a2b9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty value attribute is valid</title>
+<input type=url value="">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value-isvalid.html
new file mode 100644
index 000000000..93f5eb5cc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value-isvalid.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid value attribute</title>
+<input type=url value="file:///"><!-- scheme-file-slash-slash-slash-only -->
+<input type=url value="http://a:@www.example.com"><!-- userinfo-password-empty -->
+<input type=url value="foo://///////"><!-- scheme-private-path-leading-slashes-only -->
+<input type=url value="file://abc|/foo/bar"><!-- scheme-file-slash-slash-abc-bar -->
+<input type=url value="http://example.com/foo#💩"><!-- fragment-contains-pile-of-poo -->
+<input type=url value="http://example.com/你好你好"><!-- path-unicode-han -->
+<input type=url value="http://f:/c"><!-- port-none-but-colon -->
+<input type=url value="http://example.com/foo%41%7a"><!-- path-percent-encoded-multiple -->
+<input type=url value="http://192.168.0.257/"><!-- host-IP-address-broken -->
+<input type=url value="madeupscheme:example.com/"><!-- scheme-private-no-slash -->
+<input type=url value="http://example.com/%20foo"><!-- path-percent-encoded-space -->
+<input type=url value="http://%25DOMAIN:foobar@foodomain.com"><!-- userinfo-username-contains-percent-encoded -->
+<input type=url value="http://你好你好"><!-- host-idn-unicode-han -->
+<input type=url value="http://example.com/%3A%3a%3C%3c"><!-- path-percent-encoded-mixed-case -->
+<input type=url value="http://user:pass@foo:21/bar;par?b#c"><!-- userinfo -->
+<input type=url value="ws:/example.com/"><!-- scheme-ws-single-slash -->
+<input type=url value="foo://"><!-- scheme-private-slash-slash -->
+<input type=url value="http://f:00000000000000/c"><!-- port-00000000000000 -->
+<input type=url value="foo:////://///"><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<input type=url value="foo:/"><!-- scheme-private-slash -->
+<input type=url value="http://💩"><!-- host-is-pile-of-poo -->
+<input type=url value="file:test"><!-- scheme-file-no-slash -->
+<input type=url value="file://C|/foo/bar"><!-- scheme-file-slash-slash-c-bar -->
+<input type=url value="http://192.0x00A80001"><!-- host-192.0x00A80001 -->
+<input type=url value="http://example.com/foo/💩"><!-- path-contains-pile-of-poo -->
+<input type=url value="File://foo/bar.html"><!-- scheme-file-uppercase -->
+<input type=url value="http://www.foo。bar.com"><!-- host-exotic-dot -->
+<input type=url value="http://GOO​⁠goo.com"><!-- host-exotic-whitespace -->
+<input type=url value="file:///foo/bar.txt"><!-- scheme-file-host-empty -->
+<input type=url value="javascript:/example.com/"><!-- scheme-javascript-single-slash -->
+<input type=url value="gopher:/example.com/"><!-- scheme-gopher-single-slash -->
+<input type=url value="ftps:example.com/"><!-- scheme-ftps-no-slash -->
+<input type=url value="file://server/foo/bar"><!-- scheme-file-host-included -->
+<input type=url value="http://foo/abcd#foo?bar"><!-- fragment-contains-question-mark -->
+<input type=url value="a:foo.com"><!-- scheme-private -->
+<input type=url value="http://:b@www.example.com"><!-- userinfo-user-empty -->
+<input type=url value="file:/"><!-- scheme-file-slash-only -->
+<input type=url value="madeupscheme:/example.com/"><!-- scheme-private-single-slash -->
+<input type=url value="http://a:b@c:29/d"><!-- userinfo-host-port-path -->
+<input type=url value="gopher:example.com/"><!-- scheme-gopher-no-slash -->
+<input type=url value="mailto:example.com/"><!-- scheme-mailto-no-slash -->
+<input type=url value="mailto:/example.com/"><!-- scheme-mailto-single-slash -->
+<input type=url value="foo://///////bar.com/"><!-- scheme-private-path-leading-slashes-chars -->
+<input type=url value="http://[2001::1]:80"><!-- host-ipv6-port -->
+<input type=url value="http://example.com/foo/%2e"><!-- path-percent-encoded-dot -->
+<input type=url value="file:/example.com/"><!-- scheme-file-single-slash -->
+<input type=url value="http://example.com/©zbar"><!-- path-non-ascii -->
+<input type=url value="http://example.com//foo"><!-- path-uFEFF -->
+<input type=url value="wss:/example.com/"><!-- scheme-wss-single-slash -->
+<input type=url value="http://example.com/foo%00"><!-- path-percent-encoded-u0000 -->
+<input type=url value="http://example.com/foo%91"><!-- path-percent-encoded-u0091 -->
+<input type=url value="c:/foo"><!-- scheme-private-single-letter -->
+<input type=url value="wss:example.com/"><!-- scheme-wss-no-slash -->
+<input type=url value="http://foo/abcd?efgh?ijkl"><!-- query-contains-question-mark -->
+<input type=url value="file:"><!-- scheme-file-scheme-only -->
+<input type=url value="foo:/bar.com/"><!-- scheme-private-path -->
+<input type=url value="http://f:0/c"><!-- port-0 -->
+<input type=url value="http://Go.com"><!-- host-fullwidth -->
+<input type=url value="http://@www.example.com"><!-- userinfo-empty -->
+<input type=url value="http://example.com/‮/foo/‭/bar"><!-- path-u202E-u202D -->
+<input type=url value="http://[2001::1]"><!-- host-ipv6 -->
+<input type=url value="ftps:/example.com/"><!-- scheme-ftps-single-slash -->
+<input type=url value="http://foo.com:b@d/"><!-- userinfo-username-non-alpha -->
+<input type=url value="data:text/plain,foo"><!-- scheme-data-no-slash -->
+<input type=url value="http://example.com/foo?💩"><!-- query-contains-pile-of-poo -->
+<input type=url value="http://f:00000000000000000000080/c"><!-- port-00000000000000000000080 -->
+<input type=url value="file://"><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-backslash-novalid.html
new file mode 100644
index 000000000..0f194d586
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: fragment-backslash</title>
+<input type=url value="#\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..aae446c35
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: fragment-contains-hash</title>
+<input type=url value="http://foo/path#f#g">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-empty-hash-only-no-path-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-empty-hash-only-no-path-relative-novalid.html
new file mode 100644
index 000000000..afb742bdd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-empty-hash-only-no-path-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: fragment-empty-hash-only-no-path-relative</title>
+<input type=url value="#">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..58535e9c9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: fragment-leading-space</title>
+<input type=url value="http://f:21/b# e">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-non-ascii-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-non-ascii-relative-novalid.html
new file mode 100644
index 000000000..ad41f427b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-non-ascii-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: fragment-non-ascii-relative</title>
+<input type=url value="#β">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-semicolon-question-mark-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-semicolon-question-mark-relative-novalid.html
new file mode 100644
index 000000000..1bfc99cc9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-semicolon-question-mark-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: fragment-semicolon-question-mark-relative</title>
+<input type=url value="#;?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-slash-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-slash-relative-novalid.html
new file mode 100644
index 000000000..ccbfa4c2f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-slash-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: fragment-slash-relative</title>
+<input type=url value="#/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-cr-novalid.html
new file mode 100644
index 000000000..b47e6fc5f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-cr</title>
+<input type=url value="http://example. org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..f8e96bc44
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-double-percent-encoded</title>
+<input type=url value="http://%41.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..392c783d0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-double-percent-encoded-percent-encoded</title>
+<input type=url value="http://%ef%bc%85%ef%bc%94%ef%bc%91.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-novalid.html
new file mode 100644
index 000000000..d56b619ca
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-empty</title>
+<input type=url value="http://">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..2ac3f54f4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-empty-userinfo-empty</title>
+<input type=url value="http://@/www.example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..7976c1717
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-empty-with-userinfo</title>
+<input type=url value="http://user:pass@/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..d4e59450b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-hostname-in-brackets</title>
+<input type=url value="http://[www.google.com]/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..f18867cc9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-invalid-unicode</title>
+<input type=url value="http://﷐zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..073e1d9ed
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-invalid-unicode-percent-encoded</title>
+<input type=url value="http://%ef%b7%90zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-newline-novalid.html
new file mode 100644
index 000000000..01a2a7719
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-newline</title>
+<input type=url value="http://example.
+org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-space-novalid.html
new file mode 100644
index 000000000..95883e289
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-space</title>
+<input type=url value="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..eb0b0a23c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-square-brackets-port-contains-colon</title>
+<input type=url value="http://[1::2]:3:4">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-tab-novalid.html
new file mode 100644
index 000000000..e6be4953e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-tab</title>
+<input type=url value="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..c2460b040
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-u0000-percent-encoded</title>
+<input type=url value="http://%00.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..905b48383
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-u0000-percent-encoded-percent-encoded</title>
+<input type=url value="http://%ef%bc%85%ef%bc%90%ef%bc%90.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..f409db5a0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-bare-percent-sign</title>
+<input type=url value="http://example.com/foo%">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-contains-space-novalid.html
new file mode 100644
index 000000000..29e3eddf0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-contains-space</title>
+<input type=url value="/a/ /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..8ce609a66
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-leading-backslash-at-sign</title>
+<input type=url value="http://foo.com/\@">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..10c69106a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-leading-colon-backslash</title>
+<input type=url value=":\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..b3f22fe4a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-leading-colon-chars-backslash</title>
+<input type=url value=":foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-space-novalid.html
new file mode 100644
index 000000000..657fd16e3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-leading-space</title>
+<input type=url value="http://f:21/ b">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..cc232af68
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-percent-encoded-malformed</title>
+<input type=url value="http://example.com/foo/%2e%2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-plus-slashes-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-plus-slashes-relative-novalid.html
new file mode 100644
index 000000000..c717ac0ea
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-plus-slashes-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-percent-encoded-slash-plus-slashes-relative</title>
+<input type=url value="/a/%2f/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-relative-novalid.html
new file mode 100644
index 000000000..a61bdcb5b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-percent-encoded-slash-relative</title>
+<input type=url value="/a%2fc">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..f9265b7bb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-relative-square-brackets</title>
+<input type=url value="[61:24:74]:98">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-simple-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-simple-relative-novalid.html
new file mode 100644
index 000000000..6eb803b79
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-simple-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-simple-relative</title>
+<input type=url value="/a/b/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-slash-only-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-slash-only-relative-novalid.html
new file mode 100644
index 000000000..8fb0efcb4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-slash-only-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-slash-only-relative</title>
+<input type=url value="/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-tab-novalid.html
new file mode 100644
index 000000000..2d70b76f7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-tab</title>
+<input type=url value="http://example.com/foo bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-trailing-space-novalid.html
new file mode 100644
index 000000000..8a5b79123
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-trailing-space</title>
+<input type=url value="http://f:21/b ?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-u0091-novalid.html
new file mode 100644
index 000000000..ed3ec7f0a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-u0091</title>
+<input type=url value="http://example.com/foo‘">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-999999-novalid.html
new file mode 100644
index 000000000..9ea67f378
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-999999</title>
+<input type=url value="http://f:999999/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-cr-novalid.html
new file mode 100644
index 000000000..650968dfc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-cr</title>
+<input type=url value="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..d64939376
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-leading-colon-bracket-colon</title>
+<input type=url value="http://2001::1]:80">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-novalid.html
new file mode 100644
index 000000000..030e9d329
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-leading-colon</title>
+<input type=url value="http://2001::1">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-dash-novalid.html
new file mode 100644
index 000000000..9ceabb9bd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-leading-dash</title>
+<input type=url value="http://foo:-80/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..02df80f07
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-multiple-letters</title>
+<input type=url value="http://f:fifty-two/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-newline-novalid.html
new file mode 100644
index 000000000..09c399998
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-newline</title>
+<input type=url value="http://f:
+/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-single-letter-novalid.html
new file mode 100644
index 000000000..7b673eb22
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-single-letter</title>
+<input type=url value="http://f:b/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-space-novalid.html
new file mode 100644
index 000000000..cf8439b4d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-space</title>
+<input type=url value="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-tab-novalid.html
new file mode 100644
index 000000000..f05db6676
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-tab</title>
+<input type=url value="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-empty-no-path-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-empty-no-path-relative-novalid.html
new file mode 100644
index 000000000..9ade778db
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-empty-no-path-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: query-empty-no-path-relative</title>
+<input type=url value="?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-leading-space-novalid.html
new file mode 100644
index 000000000..49196c94a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: query-leading-space</title>
+<input type=url value="http://f:21/b? d">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-trailing-space-novalid.html
new file mode 100644
index 000000000..a877bdf1d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: query-trailing-space</title>
+<input type=url value="http://f:21/b?d #">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..aa4204c11
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>value warning: scheme-data-contains-fragment</title>
+<input type=url value="data:text/html,test#test">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..e1926f488
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-data-single-slash</title>
+<input type=url value="data:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..cb2823b84
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-file-backslash</title>
+<input type=url value="file:c:\foo\bar.html">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..4d3d662ba
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-file-single-slash-c-bar</title>
+<input type=url value="file:/C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..d0bf5325c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-file-triple-slash-c-bar</title>
+<input type=url value="file:///C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..5fab853b6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-ftp-no-slash</title>
+<input type=url value="ftp:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..fc6fd7d13
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-ftp-single-slash</title>
+<input type=url value="ftp:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..1de549d93
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-http-backslash</title>
+<input type=url value="http:\\foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..9bf960341
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-http-no-slash-colon</title>
+<input type=url value="http::@c:29">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..41b939e02
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-http-no-slash</title>
+<input type=url value="http:foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..11004d954
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-http-no-slash-square-bracket</title>
+<input type=url value="http:[61:27]/:foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..f4fd88923
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-http-single-slash</title>
+<input type=url value="http:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..b0b6ae6f4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-https-no-slash</title>
+<input type=url value="https:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..5de56191d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-https-single-slash</title>
+<input type=url value="https:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..73c7e6adf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-javascript-no-slash-malformed</title>
+<input type=url value="javascript:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-schemeless-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-schemeless-relative-novalid.html
new file mode 100644
index 000000000..f626dfe10
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-schemeless-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-schemeless-relative</title>
+<input type=url value="//foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..5731f372f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-trailing-cr</title>
+<input type=url value="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..428471ce6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-trailing-newline</title>
+<input type=url value="a:
+foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..ea2ffe302
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-trailing-space</title>
+<input type=url value="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..40f77c7e8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-trailing-tab</title>
+<input type=url value="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..2c62de247
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: userinfo-backslash</title>
+<input type=url value="http://a\b:c\d@foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..00cbff7e8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: userinfo-password-bad-chars</title>
+<input type=url value="http://&a:foo(b]c@d:2/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..2d43c8888
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: userinfo-password-contains-pile-of-poo</title>
+<input type=url value="http://foo:💩@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..4d88541aa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: userinfo-username-contains-at-sign</title>
+<input type=url value="http://::@c@d:2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..a457fe6b4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: userinfo-username-contains-pile-of-poo</title>
+<input type=url value="http://💩:foo@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite-empty-isvalid.html
new file mode 100644
index 000000000..a0b625fb7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty cite is valid</title>
+<ins cite=""></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite-isvalid.html
new file mode 100644
index 000000000..64c2d189e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid cite</title>
+<ins cite="file:///"></ins><!-- scheme-file-slash-slash-slash-only -->
+<ins cite="http://a:@www.example.com"></ins><!-- userinfo-password-empty -->
+<ins cite="foo://///////"></ins><!-- scheme-private-path-leading-slashes-only -->
+<ins cite="file://abc|/foo/bar"></ins><!-- scheme-file-slash-slash-abc-bar -->
+<ins cite="/a/b/c"></ins><!-- path-simple-relative -->
+<ins cite="http://example.com/你好你好"></ins><!-- path-unicode-han -->
+<ins cite="/a/%2f/c"></ins><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<ins cite="http://f:/c"></ins><!-- port-none-but-colon -->
+<ins cite="http://example.com/foo%41%7a"></ins><!-- path-percent-encoded-multiple -->
+<ins cite="http://192.168.0.257/"></ins><!-- host-IP-address-broken -->
+<ins cite="madeupscheme:example.com/"></ins><!-- scheme-private-no-slash -->
+<ins cite="?"></ins><!-- query-empty-no-path-relative -->
+<ins cite="http://example.com/%20foo"></ins><!-- path-percent-encoded-space -->
+<ins cite="mailto:/example.com/"></ins><!-- scheme-mailto-single-slash -->
+<ins cite="::"></ins><!-- path-leading-colon-colon-relative -->
+<ins cite="http://example.com/%3A%3a%3C%3c"></ins><!-- path-percent-encoded-mixed-case -->
+<ins cite="http://user:pass@foo:21/bar;par?b#c"></ins><!-- userinfo -->
+<ins cite="ws:/example.com/"></ins><!-- scheme-ws-single-slash -->
+<ins cite="foo://"></ins><!-- scheme-private-slash-slash -->
+<ins cite="#"></ins><!-- fragment-empty-hash-only-no-path-relative -->
+<ins cite="http://f:00000000000000/c"></ins><!-- port-00000000000000 -->
+<ins cite="foo:////://///"></ins><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<ins cite=":23"></ins><!-- path-leading-colon-number-relative -->
+<ins cite="foo:/"></ins><!-- scheme-private-slash -->
+<ins cite="http://💩"></ins><!-- host-is-pile-of-poo -->
+<ins cite="file:test"></ins><!-- scheme-file-no-slash -->
+<ins cite="file://C|/foo/bar"></ins><!-- scheme-file-slash-slash-c-bar -->
+<ins cite="#/"></ins><!-- fragment-slash-relative -->
+<ins cite="http://192.0x00A80001"></ins><!-- host-192.0x00A80001 -->
+<ins cite="foo.com"></ins><!-- scheme-none-relative -->
+<ins cite="http💩//:foo"></ins><!-- path-contains-pile-of-poo -->
+<ins cite="File://foo/bar.html"></ins><!-- scheme-file-uppercase -->
+<ins cite=":/"></ins><!-- path-leading-colon-slash-relative -->
+<ins cite="http://www.foo。bar.com"></ins><!-- host-exotic-dot -->
+<ins cite="http://GOO​⁠goo.com"></ins><!-- host-exotic-whitespace -->
+<ins cite="file:///foo/bar.txt"></ins><!-- scheme-file-host-empty -->
+<ins cite="javascript:/example.com/"></ins><!-- scheme-javascript-single-slash -->
+<ins cite="gopher:/example.com/"></ins><!-- scheme-gopher-single-slash -->
+<ins cite="ftps:example.com/"></ins><!-- scheme-ftps-no-slash -->
+<ins cite="file://server/foo/bar"></ins><!-- scheme-file-host-included -->
+<ins cite="http://example.com/foo%00"></ins><!-- path-percent-encoded-u0000 -->
+<ins cite="a:foo.com"></ins><!-- scheme-private -->
+<ins cite=":"></ins><!-- path-colon-relative -->
+<ins cite="http://:b@www.example.com"></ins><!-- userinfo-user-empty -->
+<ins cite="file:/"></ins><!-- scheme-file-slash-only -->
+<ins cite="wss:example.com/"></ins><!-- scheme-wss-no-slash -->
+<ins cite="::23"></ins><!-- path-colon-colon-number-relative -->
+<ins cite="/a%2fc"></ins><!-- path-percent-encoded-slash-relative -->
+<ins cite="http://a:b@c:29/d"></ins><!-- userinfo-host-port-path -->
+<ins cite="gopher:example.com/"></ins><!-- scheme-gopher-no-slash -->
+<ins cite="madeupscheme:/example.com/"></ins><!-- scheme-private-single-slash -->
+<ins cite="mailto:example.com/"></ins><!-- scheme-mailto-no-slash -->
+<ins cite="http://%25DOMAIN:foobar@foodomain.com"></ins><!-- userinfo-username-contains-percent-encoded -->
+<ins cite="/:23"></ins><!-- path-slash-colon-number-relative -->
+<ins cite="foo://///////bar.com/"></ins><!-- scheme-private-path-leading-slashes-chars -->
+<ins cite="http://[2001::1]:80"></ins><!-- host-ipv6-port -->
+<ins cite="data:text/plain,foo"></ins><!-- scheme-data-no-slash -->
+<ins cite="http://example.com/foo/%2e"></ins><!-- path-percent-encoded-dot -->
+<ins cite="file:/example.com/"></ins><!-- scheme-file-single-slash -->
+<ins cite="http://example.com/©zbar"></ins><!-- path-non-ascii -->
+<ins cite="http://example.com//foo"></ins><!-- path-uFEFF -->
+<ins cite="wss:/example.com/"></ins><!-- scheme-wss-single-slash -->
+<ins cite="http://foo/abcd#foo?bar"></ins><!-- fragment-contains-question-mark -->
+<ins cite=":#"></ins><!-- path-leading-colon-hash-relative -->
+<ins cite="http://example.com/foo%91"></ins><!-- path-percent-encoded-u0091 -->
+<ins cite="c:/foo"></ins><!-- scheme-private-single-letter -->
+<ins cite=":foo.com"></ins><!-- path-leading-colon-chars-relative -->
+<ins cite="http://你好你好"></ins><!-- host-idn-unicode-han -->
+<ins cite="http://example.com/foo#💩"></ins><!-- fragment-contains-pile-of-poo -->
+<ins cite="file:"></ins><!-- scheme-file-scheme-only -->
+<ins cite="#β"></ins><!-- fragment-non-ascii-relative -->
+<ins cite="foo:/bar.com/"></ins><!-- scheme-private-path -->
+<ins cite="http://f:0/c"></ins><!-- port-0 -->
+<ins cite="#;?"></ins><!-- fragment-semicolon-question-mark-relative -->
+<ins cite="http://Go.com"></ins><!-- host-fullwidth -->
+<ins cite="http://@www.example.com"></ins><!-- userinfo-empty -->
+<ins cite="http://example.com/‮/foo/‭/bar"></ins><!-- path-u202E-u202D -->
+<ins cite="http://[2001::1]"></ins><!-- host-ipv6 -->
+<ins cite="💩http://foo"></ins><!-- path-starts-with-pile-of-poo -->
+<ins cite="http://foo/abcd?efgh?ijkl"></ins><!-- query-contains-question-mark -->
+<ins cite="//foo/bar"></ins><!-- scheme-schemeless-relative -->
+<ins cite="ftps:/example.com/"></ins><!-- scheme-ftps-single-slash -->
+<ins cite="http://foo.com:b@d/"></ins><!-- userinfo-username-non-alpha -->
+<ins cite=":a"></ins><!-- path-leading-colon-letter-relative -->
+<ins cite="/"></ins><!-- path-slash-only-relative -->
+<ins cite="http://example.com/foo?💩"></ins><!-- query-contains-pile-of-poo -->
+<ins cite="http://f:00000000000000000000080/c"></ins><!-- port-00000000000000000000080 -->
+<ins cite="file://"></ins><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/fragment-backslash-novalid.html
new file mode 100644
index 000000000..a2519ec53
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: fragment-backslash</title>
+<ins cite="#\"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..0f8149f38
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: fragment-contains-hash</title>
+<ins cite="http://foo/path#f#g"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..9ff6f2e96
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: fragment-leading-space</title>
+<ins cite="http://f:21/b# e"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-cr-novalid.html
new file mode 100644
index 000000000..c436dad37
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-cr</title>
+<ins cite="http://example. org"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..abf421a13
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http://%41.com"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..5a39b32a9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-empty-novalid.html
new file mode 100644
index 000000000..b2d37f30d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-empty</title>
+<ins cite="http://"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..b8d2608a7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http://@/www.example.com"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..89f04ce79
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http://user:pass@/"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..c56f19608
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http://[www.google.com]/"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..47ca570a9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-invalid-unicode</title>
+<ins cite="http://﷐zyx.com"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..0f8122142
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http://%ef%b7%90zyx.com"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-newline-novalid.html
new file mode 100644
index 000000000..675066308
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-newline</title>
+<ins cite="http://example.
+org"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-space-novalid.html
new file mode 100644
index 000000000..69425323f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-space</title>
+<ins cite="http://example .org"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..44ab3ecb1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http://[1::2]:3:4"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-tab-novalid.html
new file mode 100644
index 000000000..ddbe575b8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: host-tab</title>
+<ins cite="http://example .org"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..065ca6062
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http://%00.com"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..fc999b5fe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..637bc283e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http://example.com/foo%"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-contains-space-novalid.html
new file mode 100644
index 000000000..c9b63ed91
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-contains-space</title>
+<ins cite="/a/ /c"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..0773005c3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http://foo.com/\@"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..da1af59e4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite=":\"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..95366e5cc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite=":foo.com\"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-leading-space-novalid.html
new file mode 100644
index 000000000..44769d757
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-leading-space</title>
+<ins cite="http://f:21/ b"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..85177801e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http://example.com/foo/%2e%2"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..8ccb9cd77
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="[61:24:74]:98"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-tab-novalid.html
new file mode 100644
index 000000000..2cdc5c8f9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-tab</title>
+<ins cite="http://example.com/foo bar"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-trailing-space-novalid.html
new file mode 100644
index 000000000..302dac4f6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-trailing-space</title>
+<ins cite="http://f:21/b ?"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-u0091-novalid.html
new file mode 100644
index 000000000..1d9541121
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: path-u0091</title>
+<ins cite="http://example.com/foo‘"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-999999-novalid.html
new file mode 100644
index 000000000..006149af2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-999999</title>
+<ins cite="http://f:999999/c"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-cr-novalid.html
new file mode 100644
index 000000000..194ab6c02
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-cr</title>
+<ins cite="http://f: /c"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..137e699df
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http://2001::1]:80"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-leading-colon-novalid.html
new file mode 100644
index 000000000..3ef71420f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-leading-colon</title>
+<ins cite="http://2001::1"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-leading-dash-novalid.html
new file mode 100644
index 000000000..b759b88c8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-leading-dash</title>
+<ins cite="http://foo:-80/"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..d5cc8a21f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-multiple-letters</title>
+<ins cite="http://f:fifty-two/c"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-newline-novalid.html
new file mode 100644
index 000000000..d2b7614f4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-newline</title>
+<ins cite="http://f:
+/c"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-single-letter-novalid.html
new file mode 100644
index 000000000..9ddd1c56e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-single-letter</title>
+<ins cite="http://f:b/c"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-space-novalid.html
new file mode 100644
index 000000000..f6ac1c355
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-space</title>
+<ins cite="http://f: /c"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-tab-novalid.html
new file mode 100644
index 000000000..59524a40c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: port-tab</title>
+<ins cite="http://f: /c"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/query-leading-space-novalid.html
new file mode 100644
index 000000000..5cc177a4f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: query-leading-space</title>
+<ins cite="http://f:21/b? d"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/query-trailing-space-novalid.html
new file mode 100644
index 000000000..e05a4ce03
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: query-trailing-space</title>
+<ins cite="http://f:21/b?d #"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..433c5ee63
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="data:text/html,test#test"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..95a8f8c49
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="data:/example.com/"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..ff869b614
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-file-backslash</title>
+<ins cite="file:c:\foo\bar.html"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..83e020343
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="file:/C|/foo/bar"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..a003799e4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="file:///C|/foo/bar"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..5d9a29198
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="ftp:example.com/"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..56ca71cc3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="ftp:/example.com/"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..f40b32fae
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-http-backslash</title>
+<ins cite="http:\\foo.com\"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..ece7ecb2a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http::@c:29"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..a604c209e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http:foo.com"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..bf9d732f4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http:[61:27]/:foo"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..efd921249
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http:/example.com/"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..36331cf97
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="https:example.com/"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..75d3fb244
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="https:/example.com/"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..267f1131a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-javascript-no-slash-malformed</title>
+<ins cite="javascript:example.com/"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..c603ca23e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-trailing-cr</title>
+<ins cite="a: foo.com"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..8762f24b3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-trailing-newline</title>
+<ins cite="a:
+foo.com"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..8b4b310a1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-trailing-space</title>
+<ins cite="a: foo.com"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..9cc2491ae
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-trailing-tab</title>
+<ins cite="a: foo.com"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..48e87bdeb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: userinfo-backslash</title>
+<ins cite="http://a\b:c\d@foo.com"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..0cc977676
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http://&a:foo(b]c@d:2/"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..c225c2c7c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http://foo:💩@example.com"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..6c7c667b0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http://::@c@d:2"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/cite/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..de82cee96
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/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>
+<ins cite="http://💩:foo@example.com"></ins>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-0004-02-29-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-0004-02-29-haswarn.html
new file mode 100644
index 000000000..5fad16aa3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-0004-02-29-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-0004-02-29</title>
+<ins datetime="0004-02-29"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-0005-02-29-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-0005-02-29-novalid.html
new file mode 100644
index 000000000..1d8de9bd8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-0005-02-29-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-0005-02-29</title>
+<ins datetime="0005-02-29"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-0214-09-29-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-0214-09-29-haswarn.html
new file mode 100644
index 000000000..893889850
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-0214-09-29-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-0214-09-29</title>
+<ins datetime="0214-09-29"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-1900-02-29-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-1900-02-29-novalid.html
new file mode 100644
index 000000000..04a87af38
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-1900-02-29-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-1900-02-29</title>
+<ins datetime="1900-02-29"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-1969-02-29-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-1969-02-29-novalid.html
new file mode 100644
index 000000000..2ef440020
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-1969-02-29-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-1969-02-29</title>
+<ins datetime="1969-02-29"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-20014-09-29-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-20014-09-29-haswarn.html
new file mode 100644
index 000000000..006804686
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-20014-09-29-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-20014-09-29</title>
+<ins datetime="20014-09-29"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-2014-02-29-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-2014-02-29-novalid.html
new file mode 100644
index 000000000..244edadd6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-2014-02-29-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-2014-02-29</title>
+<ins datetime="2014-02-29"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-2100-02-29-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-2100-02-29-novalid.html
new file mode 100644
index 000000000..405a710cc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-2100-02-29-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-2100-02-29</title>
+<ins datetime="2100-02-29"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-2200-02-29-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-2200-02-29-novalid.html
new file mode 100644
index 000000000..6144a86b1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-2200-02-29-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-2200-02-29</title>
+<ins datetime="2200-02-29"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-01-32-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-01-32-novalid.html
new file mode 100644
index 000000000..84a368ae1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-01-32-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-01-32</title>
+<ins datetime="2002-01-32"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-03-32-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-03-32-novalid.html
new file mode 100644
index 000000000..4bfa96f2f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-03-32-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-03-32</title>
+<ins datetime="2002-03-32"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-04-31-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-04-31-novalid.html
new file mode 100644
index 000000000..3e720617a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-04-31-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-04-31</title>
+<ins datetime="2002-04-31"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-05-32-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-05-32-novalid.html
new file mode 100644
index 000000000..8e3129a1c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-05-32-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-05-32</title>
+<ins datetime="2002-05-32"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-06-31-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-06-31-novalid.html
new file mode 100644
index 000000000..4ab9d3ab9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-06-31-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-06-31</title>
+<ins datetime="2002-06-31"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-07-32-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-07-32-novalid.html
new file mode 100644
index 000000000..e719a2d3c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-07-32-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-07-32</title>
+<ins datetime="2002-07-32"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-08-32-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-08-32-novalid.html
new file mode 100644
index 000000000..b64612d67
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-08-32-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-08-32</title>
+<ins datetime="2002-08-32"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-09-31-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-09-31-novalid.html
new file mode 100644
index 000000000..1274aabe8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-09-31-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-09-31</title>
+<ins datetime="2002-09-31"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-10-32-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-10-32-novalid.html
new file mode 100644
index 000000000..2b064605b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-10-32-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-10-32</title>
+<ins datetime="2002-10-32"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-11-31-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-11-31-novalid.html
new file mode 100644
index 000000000..ed8dad3e0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-11-31-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-11-31</title>
+<ins datetime="2002-11-31"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-12-32-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-12-32-novalid.html
new file mode 100644
index 000000000..c31e099f7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-12-32-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-12-32</title>
+<ins datetime="2002-12-32"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-missing-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-missing-separator-novalid.html
new file mode 100644
index 000000000..11e95e25a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-missing-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-missing-separator</title>
+<ins datetime="2014-0220"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-one-digit-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-one-digit-novalid.html
new file mode 100644
index 000000000..8d51c0df6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-one-digit-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-one-digit</title>
+<ins datetime="2002-09-9"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-three-digits-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-three-digits-novalid.html
new file mode 100644
index 000000000..7f97a5b5f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-day-three-digits-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-day-three-digits</title>
+<ins datetime="2002-11-009"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-iso8601-YYYYMMDD-no-hyphen-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-iso8601-YYYYMMDD-no-hyphen-novalid.html
new file mode 100644
index 000000000..a412c4635
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-iso8601-YYYYMMDD-no-hyphen-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-iso8601-YYYYMMDD-no-hyphen</title>
+<ins datetime="20020929"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-leading-bom-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-leading-bom-novalid.html
new file mode 100644
index 000000000..1b541fbb2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-leading-bom-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-leading-bom</title>
+<ins datetime="2002-09-29"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-leading-whitespace-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-leading-whitespace-novalid.html
new file mode 100644
index 000000000..faa7e7f52
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-leading-whitespace-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-leading-whitespace</title>
+<ins datetime=" 2002-09-29"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-00-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-00-novalid.html
new file mode 100644
index 000000000..3aa1dcebf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-00-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-month-00</title>
+<ins datetime="2002-00-15"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-13-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-13-novalid.html
new file mode 100644
index 000000000..501528d85
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-13-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-month-13</title>
+<ins datetime="2002-13-15"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-missing-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-missing-separator-novalid.html
new file mode 100644
index 000000000..a0f7473b6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-missing-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-month-missing-separator</title>
+<ins datetime="201402-20"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-one-digit-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-one-digit-novalid.html
new file mode 100644
index 000000000..b26933c02
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-one-digit-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-month-one-digit</title>
+<ins datetime="2002-9-29"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-three-digits-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-three-digits-novalid.html
new file mode 100644
index 000000000..b61171df9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-month-three-digits-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-month-three-digits</title>
+<ins datetime="2002-011-29"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-non-ascii-digit-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-non-ascii-digit-novalid.html
new file mode 100644
index 000000000..14c37880e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-non-ascii-digit-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-non-ascii-digit</title>
+<ins datetime="2002-09-29"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-trailing-U+0000-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-trailing-U+0000-novalid.html
new file mode 100644
index 000000000..fb849779e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-trailing-U+0000-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-trailing-U+0000</title>
+<ins datetime="2002-09-29&#x0000;"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-trailing-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-trailing-pile-of-poo-novalid.html
new file mode 100644
index 000000000..3349cc80a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-trailing-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-trailing-pile-of-poo</title>
+<ins datetime="2002-09-29💩"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-trailing-whitespace-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-trailing-whitespace-novalid.html
new file mode 100644
index 000000000..39bbeef70
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-trailing-whitespace-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-trailing-whitespace</title>
+<ins datetime="2002-09-29 "></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-wrong-day-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-wrong-day-separator-novalid.html
new file mode 100644
index 000000000..530a05e41
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-wrong-day-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-wrong-day-separator</title>
+<ins datetime="2014-02:20"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-wrong-month-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-wrong-month-separator-novalid.html
new file mode 100644
index 000000000..9ed0be6f8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-wrong-month-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-wrong-month-separator</title>
+<ins datetime="2014:02-20"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-year-0000-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-year-0000-novalid.html
new file mode 100644
index 000000000..4f5e524a9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-year-0000-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-year-0000</title>
+<ins datetime="0000-12-09"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-year-five-digits-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-year-five-digits-haswarn.html
new file mode 100644
index 000000000..6de3a4326
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-year-five-digits-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-year-five-digits</title>
+<ins datetime="12014-09-29"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-year-negative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-year-negative-novalid.html
new file mode 100644
index 000000000..767b9f476
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-year-negative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-year-negative</title>
+<ins datetime="-2002-09-29"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-year-three-digits-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-year-three-digits-novalid.html
new file mode 100644
index 000000000..805b6a214
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/date-year-three-digits-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>date-year-three-digits</title>
+<ins datetime="782-09-29"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/datetime-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/datetime-isvalid.html
new file mode 100644
index 000000000..e9f6daf62
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/datetime-isvalid.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid datetime</title>
+<ins datetime="2011-11-12T06:54:39-08:00"></ins> <!-- global-date-and-time-timezone-with-colon -->
+<ins datetime="2002-12-31"></ins> <!-- date-day-12-31 -->
+<ins datetime="2002-08-31"></ins> <!-- date-day-08-31 -->
+<ins datetime="1900-02-28"></ins> <!-- date-1900-02-28 -->
+<ins datetime="2011-11-12T14:54:39+0000"></ins> <!-- global-date-and-time-with-seconds -->
+<ins datetime="2002-10-31"></ins> <!-- date-day-10-31 -->
+<ins datetime="2002-01-31"></ins> <!-- date-day-01-31 -->
+<ins datetime="2200-02-28"></ins> <!-- date-2200-02-28 -->
+<ins datetime="2002-09-29"></ins> <!-- date -->
+<ins datetime="2002-06-30"></ins> <!-- date-day-06-30 -->
+<ins datetime="2100-02-28"></ins> <!-- date-2100-02-28 -->
+<ins datetime="2011-11-12T06:54:39-0845"></ins> <!-- global-date-and-time-timezone-45 -->
+<ins datetime="2002-03-31"></ins> <!-- date-day-03-31 -->
+<ins datetime="2011-11-12T06:54:39+0900"></ins> <!-- global-date-and-time-timezone -->
+<ins datetime="2002-04-30"></ins> <!-- date-day-04-30 -->
+<ins datetime="2002-09-30"></ins> <!-- date-day-09-30 -->
+<ins datetime="2002-05-31"></ins> <!-- date-day-05-31 -->
+<ins datetime="2011-11-12T14:54Z"></ins> <!-- global-date-and-time-no-seconds -->
+<ins datetime="2011-11-12T06:54:39.92+07:00"></ins> <!-- global-date-and-time-with-two-digit-fraction -->
+<ins datetime="2400-02-29"></ins> <!-- date-2400-02-29 -->
+<ins datetime="2002-07-31"></ins> <!-- date-day-07-31 -->
+<ins datetime="2011-11-12T06:54:39.929-06:00"></ins> <!-- global-date-and-time-with-three-digit-fraction -->
+<ins datetime="2011-11-12T06:54:39-0830"></ins> <!-- global-date-and-time-timezone-30 -->
+<ins datetime="2014-02-28"></ins> <!-- date-2014-02-28 -->
+<ins datetime="2002-11-30"></ins> <!-- date-day-11-30 -->
+<ins datetime="2000-02-29"></ins> <!-- date-2000-02-29 -->
+<ins datetime="2011-11-12 14:54Z"></ins> <!-- global-date-and-time-space -->
+<ins datetime="2011-11-12T06:54:39.9-08:00"></ins> <!-- global-date-and-time-with-one-digit-fraction -->
+<ins datetime="1968-02-29"></ins> <!-- date-1968-02-29 -->
+<ins datetime="2011-11-12T06:54:39-0800"></ins> <!-- global-date-and-time-timezone-without-colon -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/duration-P-form-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/duration-P-form-novalid.html
new file mode 100644
index 000000000..addb39e6c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/duration-P-form-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>duration-P-form</title>
+<ins datetime="PT4H18M3S"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/duration-time-component-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/duration-time-component-novalid.html
new file mode 100644
index 000000000..6151e9ee7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/duration-time-component-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>duration-time-component</title>
+<ins datetime="4h 18m 3s"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-2400-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-2400-novalid.html
new file mode 100644
index 000000000..2d77c4c5d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-2400-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-2400</title>
+<ins datetime="2011-11-12T24:00:00+08:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-60-minutes-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-60-minutes-novalid.html
new file mode 100644
index 000000000..59895e85f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-60-minutes-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-60-minutes</title>
+<ins datetime="2011-11-12T00:60:00+08:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-60-seconds-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-60-seconds-novalid.html
new file mode 100644
index 000000000..f20905342
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-60-seconds-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-60-seconds</title>
+<ins datetime="2011-11-12T00:00:60+08:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-bad-fraction-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-bad-fraction-separator-novalid.html
new file mode 100644
index 000000000..68d44b2de
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-bad-fraction-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-bad-fraction-separator</title>
+<ins datetime="2011-11-12T14:54:39,929+0000"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-four-digit-fraction-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-four-digit-fraction-novalid.html
new file mode 100644
index 000000000..7d130bffb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-four-digit-fraction-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-four-digit-fraction</title>
+<ins datetime="2011-11-12T06:54:39.9291-08:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-hour-one-digit-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-hour-one-digit-novalid.html
new file mode 100644
index 000000000..10f4c7d40
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-hour-one-digit-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-hour-one-digit</title>
+<ins datetime="2011-11-12T6:54:39-08:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-hour-three-digits-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-hour-three-digits-novalid.html
new file mode 100644
index 000000000..edea421e5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-hour-three-digits-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-hour-three-digits</title>
+<ins datetime="2011-11-12T016:54:39-08:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hh-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hh-novalid.html
new file mode 100644
index 000000000..9f9b0536b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hh-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-iso8601-hh</title>
+<ins datetime="2011-11-12T14Z"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hhmm-no-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hhmm-no-colon-novalid.html
new file mode 100644
index 000000000..67a041220
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hhmm-no-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-iso8601-hhmm-no-colon</title>
+<ins datetime="2011-11-12T1454Z"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hhmmss-no-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hhmmss-no-colon-novalid.html
new file mode 100644
index 000000000..5b868661b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-iso8601-hhmmss-no-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-iso8601-hhmmss-no-colon</title>
+<ins datetime="2011-11-12T145439Z"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-lowercase-z-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-lowercase-z-novalid.html
new file mode 100644
index 000000000..b4fd1d917
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-lowercase-z-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-lowercase-z</title>
+<ins datetime="2011-11-12T14:54z"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-minutes-one-digit-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-minutes-one-digit-novalid.html
new file mode 100644
index 000000000..7d8782345
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-minutes-one-digit-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-minutes-one-digit</title>
+<ins datetime="2011-11-12T16:4:39-08:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-minutes-three-digits-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-minutes-three-digits-novalid.html
new file mode 100644
index 000000000..bdeeba497
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-minutes-three-digits-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-minutes-three-digits</title>
+<ins datetime="2011-11-12T16:354:39-08:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-missing-minutes-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-missing-minutes-separator-novalid.html
new file mode 100644
index 000000000..174db0e6f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-missing-minutes-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-missing-minutes-separator</title>
+<ins datetime="2011-11-12T1454Z"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-missing-seconds-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-missing-seconds-separator-novalid.html
new file mode 100644
index 000000000..745f243db
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-missing-seconds-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-missing-seconds-separator</title>
+<ins datetime="2011-11-12T14:5439Z"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-nbsp-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-nbsp-novalid.html
new file mode 100644
index 000000000..292dc36e2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-nbsp-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-nbsp</title>
+<ins datetime="2011-11-12 14:54Z"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-seconds-one-digit-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-seconds-one-digit-novalid.html
new file mode 100644
index 000000000..bd9bddd02
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-seconds-one-digit-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-seconds-one-digit</title>
+<ins datetime="2011-11-12T16:54:9-08:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-seconds-three-digits-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-seconds-three-digits-novalid.html
new file mode 100644
index 000000000..12968b15d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-seconds-three-digits-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-seconds-three-digits</title>
+<ins datetime="2011-11-12T16:54:039-08:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-space-before-timezone-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-space-before-timezone-novalid.html
new file mode 100644
index 000000000..d97bfc4e3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-space-before-timezone-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-space-before-timezone</title>
+<ins datetime="2011-11-12T06:54:39 08:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-60-minutes-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-60-minutes-novalid.html
new file mode 100644
index 000000000..4dbd785bf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-60-minutes-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-60-minutes</title>
+<ins datetime="2011-11-12T06:54:39-08:60"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-iso8601-two-digit-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-iso8601-two-digit-novalid.html
new file mode 100644
index 000000000..c60facf9d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-iso8601-two-digit-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-iso8601-two-digit</title>
+<ins datetime="2011-11-12T06:54:39-08"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-lowercase-t-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-lowercase-t-novalid.html
new file mode 100644
index 000000000..056c876ae
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-lowercase-t-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-lowercase-t</title>
+<ins datetime="2011-11-12t14:54Z"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minus-1300-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minus-1300-haswarn.html
new file mode 100644
index 000000000..314e0ce2c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minus-1300-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-minus-1300</title>
+<ins datetime="2011-11-12T00:00:00-1300"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minus-2400-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minus-2400-novalid.html
new file mode 100644
index 000000000..63b239712
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minus-2400-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-minus-2400</title>
+<ins datetime="2011-11-12T06:54:39-24:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minutes-15-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minutes-15-haswarn.html
new file mode 100644
index 000000000..c65cc9038
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-minutes-15-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-minutes-15</title>
+<ins datetime="2011-11-12T00:00:00+08:15"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-multiple-spaces-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-multiple-spaces-novalid.html
new file mode 100644
index 000000000..20659abc9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-multiple-spaces-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-multiple-spaces</title>
+<ins datetime="2011-11-12 14:54Z"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-non-T-character-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-non-T-character-novalid.html
new file mode 100644
index 000000000..17b702476
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-non-T-character-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-non-T-character</title>
+<ins datetime="2011-11-12+14:54Z"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-offset-colon-start-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-offset-colon-start-novalid.html
new file mode 100644
index 000000000..6b81d7883
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-offset-colon-start-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-offset-colon-start</title>
+<ins datetime="2011-11-12T06:54:39.929:08:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-offset-space-start-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-offset-space-start-novalid.html
new file mode 100644
index 000000000..6d5ae8201
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-offset-space-start-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-offset-space-start</title>
+<ins datetime="2011-11-12T06:54:39.929 08:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-one-digit-hour-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-one-digit-hour-novalid.html
new file mode 100644
index 000000000..292fd1340
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-one-digit-hour-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-one-digit-hour</title>
+<ins datetime="2011-11-12T06:54:39-5:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-one-digit-minute-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-one-digit-minute-novalid.html
new file mode 100644
index 000000000..a1afb9170
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-one-digit-minute-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-one-digit-minute</title>
+<ins datetime="2011-11-12T06:54:39-05:0"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-plus-1500-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-plus-1500-haswarn.html
new file mode 100644
index 000000000..91b6e23b8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-plus-1500-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-plus-1500</title>
+<ins datetime="2011-11-12T00:00:00+1500"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-plus-2400-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-plus-2400-novalid.html
new file mode 100644
index 000000000..6044623bc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-plus-2400-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-plus-2400</title>
+<ins datetime="2011-11-12T06:54:39-24:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-three-digit-hour-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-three-digit-hour-novalid.html
new file mode 100644
index 000000000..ba7b84b32
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-three-digit-hour-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-three-digit-hour</title>
+<ins datetime="2011-11-12T06:54:39-005:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-three-digit-minute-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-three-digit-minute-novalid.html
new file mode 100644
index 000000000..8b1fb6d36
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-three-digit-minute-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-three-digit-minute</title>
+<ins datetime="2011-11-12T06:54:39-05:000"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-with-seconds-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-with-seconds-novalid.html
new file mode 100644
index 000000000..6d51004ed
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-timezone-with-seconds-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-timezone-with-seconds</title>
+<ins datetime="2011-11-12T06:54:39-08:00:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-with-both-T-and-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-with-both-T-and-space-novalid.html
new file mode 100644
index 000000000..6c67d7cf2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-with-both-T-and-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-with-both-T-and-space</title>
+<ins datetime="2011-11-12T 14:54Z"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-wrong-minutes-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-wrong-minutes-separator-novalid.html
new file mode 100644
index 000000000..a19752c6f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-wrong-minutes-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-wrong-minutes-separator</title>
+<ins datetime="2011-11-12T14-54Z"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-wrong-seconds-separator-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-wrong-seconds-separator-novalid.html
new file mode 100644
index 000000000..03f7b3579
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-wrong-seconds-separator-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-wrong-seconds-separator</title>
+<ins datetime="2011-11-12T14:54-39Z"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-zero-digit-fraction-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-zero-digit-fraction-novalid.html
new file mode 100644
index 000000000..1e388dd99
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/global-date-and-time-zero-digit-fraction-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>global-date-and-time-zero-digit-fraction</title>
+<ins datetime="2011-11-12T06:54:39.-08:00"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/local-date-and-time-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/local-date-and-time-novalid.html
new file mode 100644
index 000000000..32136f3e5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/local-date-and-time-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>local-date-and-time</title>
+<ins datetime="2011-11-12T14:54"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/model-isvalid.html
new file mode 100644
index 000000000..cd10ac511
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/model-isvalid.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;ins&gt;</title>
+</head>
+<body>
+
+ <!-- can contain strictly inline while in strictly inline context -->
+ <p><dfn>strictly inline
+ <ins>
+ <em>text</em>
+ </ins>
+ </dfn></p>
+
+ <!-- can contain interactive if ancestor does not forbid it -->
+ <p>paragraph
+ <ins>
+ <a>link</a>
+ </ins>
+ </p>
+ <p><dfn>strictly inline
+ <ins>
+ <a>link</a>
+ </ins>
+ </dfn></p>
+
+ <!-- ins with flow content and flow parent -->
+ <div><ins><p>foo</p></ins></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/model-novalid.html
new file mode 100644
index 000000000..65ee321f2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/model-novalid.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;ins&gt;</title>
+</head>
+<body>
+ <!-- can contain inline while in inline context -->
+ <p>paragraph
+ <ins>
+ <em>some</em> <ul><li>inline</li></ul> content
+ </ins>
+ </p>
+
+ <!-- can contain strictly inline while in strictly inline context -->
+ <p><dfn>strictly inline
+ <ins>
+ <em>text</em>
+ </ins>
+ </dfn></p>
+
+ <!-- can contain blocks while in block context -->
+ <ins>
+ <p>text</p>
+ </ins>
+
+ <!-- can contain interactive if ancestor does not forbid it -->
+ <p>paragraph
+ <ins>
+ <a>link</a>
+ </ins>
+ </p>
+ <p><dfn>strictly inline
+ <ins>
+ <a>link</a>
+ </ins>
+ </dfn></p>
+ <ins>
+ <p><a>link</a></p>
+ </ins>
+
+ <!-- ins with flow content and phrasing parent -->
+ <span><ins><p>foo</p></ins></span>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/month-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/month-novalid.html
new file mode 100644
index 000000000..57f8bf0da
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/month-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>month</title>
+<ins datetime="2011-11"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/time-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/time-novalid.html
new file mode 100644
index 000000000..aaf798ff7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/time-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>time</title>
+<ins datetime="14:54:39"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/week-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/week-novalid.html
new file mode 100644
index 000000000..77c2dcfc9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/week-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>week</title>
+<ins datetime="2011-W46"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/year-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/year-novalid.html
new file mode 100644
index 000000000..b971e7fbf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/year-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>year</title>
+<ins datetime="2006"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ins/yearless-date-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ins/yearless-date-novalid.html
new file mode 100644
index 000000000..e477cb452
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ins/yearless-date-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>yearless-date</title>
+<ins datetime="07-15"></ins> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/kbd/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/kbd/model-isvalid.html
new file mode 100644
index 000000000..45646d0eb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/kbd/model-isvalid.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;kbd&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><kbd class="class" lang="en">text</kbd></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><kbd class="class" lang="en">text</kbd></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <kbd></kbd></p>
+ <p>text <dfn><kbd></kbd></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><kbd><a>text</a></kbd></p>
+ <p><dfn><kbd><a>text</a></kbd></dfn></p>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/kbd/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/kbd/model-novalid.html
new file mode 100644
index 000000000..8bfbb8839
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/kbd/model-novalid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;kbd&gt;</title>
+</head>
+<body>
+ <!-- not a block -->
+ <kbd>text</kbd>
+
+ <!-- cannot contain structured inline -->
+ <p><kbd><ul><li>text</li></ul></kbd></p>
+
+ <!-- cannot contain interactive if parent forbids interactive -->
+ <p><a><kbd><a>text</a></kbd></a></p>
+ <p><a><dfn><kbd><a>text</a></kbd></dfn></a></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/keygen/challenge-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/challenge-isvalid.html
new file mode 100644
index 000000000..09bb2a096
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/challenge-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>keygen with "challenge" attribute</title>
+</head>
+<body>
+<keygen challenge="123456">
+<keygen challenge=""> <!-- empty challenge -->
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/keygen/id-bad-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/id-bad-novalid.html
new file mode 100644
index 000000000..1c8d72c78
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/id-bad-novalid.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>keygen as &lt;label> descendant, with wrong ID</title>
+</head>
+<body>
+<label for="foo">
+<keygen id="bar">
+</label>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/keygen/id-missing-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/id-missing-novalid.html
new file mode 100644
index 000000000..1793192c8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/id-missing-novalid.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>keygen as &lt;label> descendant, with no ID</title>
+</head>
+<body>
+<label for="foo">
+<keygen>
+</label>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/keygen/id-redundant-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/id-redundant-novalid.html
new file mode 100644
index 000000000..9bc49b5ed
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/id-redundant-novalid.html
@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>keygen as redundant &lt;label> descendant</title>
+</head>
+<body>
+<label for="foo">
+<input id="foo">
+<keygen>
+</label>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/keygen/keytype-bad-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/keytype-bad-value-novalid.html
new file mode 100644
index 000000000..791f7c206
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/keytype-bad-value-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>keygen with invalid value for "keytype" attribute</title>
+</head>
+<body>
+<keygen keytype="dsa">
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/keygen/keytype-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/keytype-empty-novalid.html
new file mode 100644
index 000000000..88c32a969
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/keytype-empty-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>keygen with invalid empty "keytype" attribute</title>
+</head>
+<body>
+<keygen keytype="">
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/keygen/keytype-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/keytype-isvalid.html
new file mode 100644
index 000000000..a92a32a86
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/keytype-isvalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>keygen with "keytype" attribute</title>
+</head>
+<body>
+<keygen keytype="rsa">
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/keygen/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/model-isvalid.html
new file mode 100644
index 000000000..953ec6ad0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/model-isvalid.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>keygen as &lt;label> descendant</title>
+</head>
+<body>
+<label for="foo">
+<keygen id="foo">
+</label>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/keygen/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/model-novalid.html
new file mode 100644
index 000000000..8d267093a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/model-novalid.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>keygen as an invalid &lt;a> descendant</title>
+</head>
+<body>
+<a href="url">
+<keygen>
+</a>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/keygen/no-attributes-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/no-attributes-isvalid.html
new file mode 100644
index 000000000..ca17832aa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/no-attributes-isvalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>keygen with no attributes</title>
+</head>
+<body>
+<keygen>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/keygen/non-void-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/non-void-novalid.html
new file mode 100644
index 000000000..fb5fcef0c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/keygen/non-void-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>no-void keygen</title>
+</head>
+<body>
+<keygen>foo</keygen>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/label/for-descendant-no-id-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/label/for-descendant-no-id-novalid.html
new file mode 100644
index 000000000..2f1ed73f2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/label/for-descendant-no-id-novalid.html
@@ -0,0 +1 @@
+<!doctype html><meta charset=utf-8><title>&lt;input id=a>&lt;label for=a>&lt;input></title><p>There should be an error. <input id=a><label for=a><input></label>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/label/for-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/label/for-isvalid.html
new file mode 100644
index 000000000..c4a4e60da
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/label/for-isvalid.html
@@ -0,0 +1 @@
+<!doctype html><meta charset=utf-8><title>&lt;label for=a>&lt;input id=a></title><p>There should be no error. <label for=a><input id=a></label>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/label/multiple-descendants-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/label/multiple-descendants-novalid.html
new file mode 100644
index 000000000..014085bb6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/label/multiple-descendants-novalid.html
@@ -0,0 +1 @@
+<!doctype html><meta charset=utf-8><title>&lt;label>&lt;input>&lt;input></title><p>There should be an error. <label><input><input></label>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href-empty-novalid.html
new file mode 100644
index 000000000..fb1f349f7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty href is not valid</title>
+<link href="" rel>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href-isvalid.html
new file mode 100644
index 000000000..fd4bd484a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid href</title>
+<link href="file:///" rel=help><!-- scheme-file-slash-slash-slash-only -->
+<link href="http://a:@www.example.com" rel=help><!-- userinfo-password-empty -->
+<link href="foo://///////" rel=help><!-- scheme-private-path-leading-slashes-only -->
+<link href="file://abc|/foo/bar" rel=help><!-- scheme-file-slash-slash-abc-bar -->
+<link href="/a/b/c" rel=help><!-- path-simple-relative -->
+<link href="http://example.com/你好你好" rel=help><!-- path-unicode-han -->
+<link href="/a/%2f/c" rel=help><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<link href="http://f:/c" rel=help><!-- port-none-but-colon -->
+<link href="http://example.com/foo%41%7a" rel=help><!-- path-percent-encoded-multiple -->
+<link href="http://192.168.0.257/" rel=help><!-- host-IP-address-broken -->
+<link href="madeupscheme:example.com/" rel=help><!-- scheme-private-no-slash -->
+<link href="?" rel=help><!-- query-empty-no-path-relative -->
+<link href="http://example.com/%20foo" rel=help><!-- path-percent-encoded-space -->
+<link href="mailto:/example.com/" rel=help><!-- scheme-mailto-single-slash -->
+<link href="::" rel=help><!-- path-leading-colon-colon-relative -->
+<link href="http://example.com/%3A%3a%3C%3c" rel=help><!-- path-percent-encoded-mixed-case -->
+<link href="http://user:pass@foo:21/bar;par?b#c" rel=help><!-- userinfo -->
+<link href="ws:/example.com/" rel=help><!-- scheme-ws-single-slash -->
+<link href="foo://" rel=help><!-- scheme-private-slash-slash -->
+<link href="#" rel=help><!-- fragment-empty-hash-only-no-path-relative -->
+<link href="http://f:00000000000000/c" rel=help><!-- port-00000000000000 -->
+<link href="foo:////://///" rel=help><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<link href=":23" rel=help><!-- path-leading-colon-number-relative -->
+<link href="foo:/" rel=help><!-- scheme-private-slash -->
+<link href="http://💩" rel=help><!-- host-is-pile-of-poo -->
+<link href="file:test" rel=help><!-- scheme-file-no-slash -->
+<link href="file://C|/foo/bar" rel=help><!-- scheme-file-slash-slash-c-bar -->
+<link href="#/" rel=help><!-- fragment-slash-relative -->
+<link href="http://192.0x00A80001" rel=help><!-- host-192.0x00A80001 -->
+<link href="foo.com" rel=help><!-- scheme-none-relative -->
+<link href="http💩//:foo" rel=help><!-- path-contains-pile-of-poo -->
+<link href="File://foo/bar.html" rel=help><!-- scheme-file-uppercase -->
+<link href=":/" rel=help><!-- path-leading-colon-slash-relative -->
+<link href="http://www.foo。bar.com" rel=help><!-- host-exotic-dot -->
+<link href="http://GOO​⁠goo.com" rel=help><!-- host-exotic-whitespace -->
+<link href="file:///foo/bar.txt" rel=help><!-- scheme-file-host-empty -->
+<link href="javascript:/example.com/" rel=help><!-- scheme-javascript-single-slash -->
+<link href="gopher:/example.com/" rel=help><!-- scheme-gopher-single-slash -->
+<link href="ftps:example.com/" rel=help><!-- scheme-ftps-no-slash -->
+<link href="file://server/foo/bar" rel=help><!-- scheme-file-host-included -->
+<link href="http://example.com/foo%00" rel=help><!-- path-percent-encoded-u0000 -->
+<link href="a:foo.com" rel=help><!-- scheme-private -->
+<link href=":" rel=help><!-- path-colon-relative -->
+<link href="http://:b@www.example.com" rel=help><!-- userinfo-user-empty -->
+<link href="file:/" rel=help><!-- scheme-file-slash-only -->
+<link href="wss:example.com/" rel=help><!-- scheme-wss-no-slash -->
+<link href="::23" rel=help><!-- path-colon-colon-number-relative -->
+<link href="/a%2fc" rel=help><!-- path-percent-encoded-slash-relative -->
+<link href="http://a:b@c:29/d" rel=help><!-- userinfo-host-port-path -->
+<link href="gopher:example.com/" rel=help><!-- scheme-gopher-no-slash -->
+<link href="madeupscheme:/example.com/" rel=help><!-- scheme-private-single-slash -->
+<link href="mailto:example.com/" rel=help><!-- scheme-mailto-no-slash -->
+<link href="http://%25DOMAIN:foobar@foodomain.com" rel=help><!-- userinfo-username-contains-percent-encoded -->
+<link href="/:23" rel=help><!-- path-slash-colon-number-relative -->
+<link href="foo://///////bar.com/" rel=help><!-- scheme-private-path-leading-slashes-chars -->
+<link href="http://[2001::1]:80" rel=help><!-- host-ipv6-port -->
+<link href="data:text/plain,foo" rel=help><!-- scheme-data-no-slash -->
+<link href="http://example.com/foo/%2e" rel=help><!-- path-percent-encoded-dot -->
+<link href="file:/example.com/" rel=help><!-- scheme-file-single-slash -->
+<link href="http://example.com/©zbar" rel=help><!-- path-non-ascii -->
+<link href="http://example.com//foo" rel=help><!-- path-uFEFF -->
+<link href="wss:/example.com/" rel=help><!-- scheme-wss-single-slash -->
+<link href="http://foo/abcd#foo?bar" rel=help><!-- fragment-contains-question-mark -->
+<link href=":#" rel=help><!-- path-leading-colon-hash-relative -->
+<link href="http://example.com/foo%91" rel=help><!-- path-percent-encoded-u0091 -->
+<link href="c:/foo" rel=help><!-- scheme-private-single-letter -->
+<link href=":foo.com" rel=help><!-- path-leading-colon-chars-relative -->
+<link href="http://你好你好" rel=help><!-- host-idn-unicode-han -->
+<link href="http://example.com/foo#💩" rel=help><!-- fragment-contains-pile-of-poo -->
+<link href="file:" rel=help><!-- scheme-file-scheme-only -->
+<link href="#β" rel=help><!-- fragment-non-ascii-relative -->
+<link href="foo:/bar.com/" rel=help><!-- scheme-private-path -->
+<link href="http://f:0/c" rel=help><!-- port-0 -->
+<link href="#;?" rel=help><!-- fragment-semicolon-question-mark-relative -->
+<link href="http://Go.com" rel=help><!-- host-fullwidth -->
+<link href="http://@www.example.com" rel=help><!-- userinfo-empty -->
+<link href="http://example.com/‮/foo/‭/bar" rel=help><!-- path-u202E-u202D -->
+<link href="http://[2001::1]" rel=help><!-- host-ipv6 -->
+<link href="💩http://foo" rel=help><!-- path-starts-with-pile-of-poo -->
+<link href="http://foo/abcd?efgh?ijkl" rel=help><!-- query-contains-question-mark -->
+<link href="//foo/bar" rel=help><!-- scheme-schemeless-relative -->
+<link href="ftps:/example.com/" rel=help><!-- scheme-ftps-single-slash -->
+<link href="http://foo.com:b@d/" rel=help><!-- userinfo-username-non-alpha -->
+<link href=":a" rel=help><!-- path-leading-colon-letter-relative -->
+<link href="/" rel=help><!-- path-slash-only-relative -->
+<link href="http://example.com/foo?💩" rel=help><!-- query-contains-pile-of-poo -->
+<link href="http://f:00000000000000000000080/c" rel=help><!-- port-00000000000000000000080 -->
+<link href="file://" rel=help><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href-missing-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href-missing-novalid.html
new file mode 100644
index 000000000..eded973f6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href-missing-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta charset=utf-8>
+<title>link element missing href attribute</title>
+<link rel=stylesheet>
+</head>
+<body>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href-whitespace-only-novalid.html
new file mode 100644
index 000000000..6874b1197
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty href is not valid</title>
+<link href="
+" rel>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-backslash-novalid.html
new file mode 100644
index 000000000..8f59c37ca
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-backslash</title>
+<link href="#\" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..77997986a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-contains-hash</title>
+<link href="http://foo/path#f#g" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..3cd63e09c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: fragment-leading-space</title>
+<link href="http://f:21/b# e" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-cr-novalid.html
new file mode 100644
index 000000000..f66c1640a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-cr</title>
+<link href="http://example. org" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..591dca852
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-double-percent-encoded</title>
+<link href="http://%41.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..484097db8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-double-percent-encoded-percent-encoded</title>
+<link href="http://%ef%bc%85%ef%bc%94%ef%bc%91.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-novalid.html
new file mode 100644
index 000000000..30bfc0f08
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-empty</title>
+<link href="http://" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..027efe0d4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-empty-userinfo-empty</title>
+<link href="http://@/www.example.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..b07878ee9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-empty-with-userinfo</title>
+<link href="http://user:pass@/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..03b35eb58
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-hostname-in-brackets</title>
+<link href="http://[www.google.com]/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..22b5e8d3c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-invalid-unicode</title>
+<link href="http://﷐zyx.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..fcba2a20b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-invalid-unicode-percent-encoded</title>
+<link href="http://%ef%b7%90zyx.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-newline-novalid.html
new file mode 100644
index 000000000..446a0d480
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-newline</title>
+<link href="http://example.
+org" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-space-novalid.html
new file mode 100644
index 000000000..7cf4ab8d3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-space</title>
+<link href="http://example .org" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..34500ab8c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-square-brackets-port-contains-colon</title>
+<link href="http://[1::2]:3:4" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-tab-novalid.html
new file mode 100644
index 000000000..4f4a97bd3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-tab</title>
+<link href="http://example .org" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..905c8661f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-u0000-percent-encoded</title>
+<link href="http://%00.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..084773e6f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: host-u0000-percent-encoded-percent-encoded</title>
+<link href="http://%ef%bc%85%ef%bc%90%ef%bc%90.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..1e02cf8e8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-bare-percent-sign</title>
+<link href="http://example.com/foo%" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-contains-space-novalid.html
new file mode 100644
index 000000000..8386f5d80
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-contains-space</title>
+<link href="/a/ /c" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..5c333681b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-backslash-at-sign</title>
+<link href="http://foo.com/\@" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..19d37d8f1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-colon-backslash</title>
+<link href=":\" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..5580214cb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-colon-chars-backslash</title>
+<link href=":foo.com\" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-space-novalid.html
new file mode 100644
index 000000000..288900585
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-leading-space</title>
+<link href="http://f:21/ b" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..599fecbbc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-percent-encoded-malformed</title>
+<link href="http://example.com/foo/%2e%2" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..630062db8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-relative-square-brackets</title>
+<link href="[61:24:74]:98" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-tab-novalid.html
new file mode 100644
index 000000000..4c5e234c4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-tab</title>
+<link href="http://example.com/foo bar" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-trailing-space-novalid.html
new file mode 100644
index 000000000..f8bcef833
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-trailing-space</title>
+<link href="http://f:21/b ?" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-u0091-novalid.html
new file mode 100644
index 000000000..5bed826c0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: path-u0091</title>
+<link href="http://example.com/foo‘" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-999999-novalid.html
new file mode 100644
index 000000000..4b7e189c4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-999999</title>
+<link href="http://f:999999/c" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-cr-novalid.html
new file mode 100644
index 000000000..030307b47
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-cr</title>
+<link href="http://f: /c" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..0bf977156
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-leading-colon-bracket-colon</title>
+<link href="http://2001::1]:80" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-colon-novalid.html
new file mode 100644
index 000000000..04eb695a0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-leading-colon</title>
+<link href="http://2001::1" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-dash-novalid.html
new file mode 100644
index 000000000..f77f17e13
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-leading-dash</title>
+<link href="http://foo:-80/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..2a8ab2aac
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-multiple-letters</title>
+<link href="http://f:fifty-two/c" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-newline-novalid.html
new file mode 100644
index 000000000..5346b4fa2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-newline</title>
+<link href="http://f:
+/c" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-single-letter-novalid.html
new file mode 100644
index 000000000..f0b2d5117
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-single-letter</title>
+<link href="http://f:b/c" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-space-novalid.html
new file mode 100644
index 000000000..1acf0b3d3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-space</title>
+<link href="http://f: /c" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-tab-novalid.html
new file mode 100644
index 000000000..4371db32d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: port-tab</title>
+<link href="http://f: /c" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/query-leading-space-novalid.html
new file mode 100644
index 000000000..1a45d5a80
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: query-leading-space</title>
+<link href="http://f:21/b? d" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/query-trailing-space-novalid.html
new file mode 100644
index 000000000..ccd4596d3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: query-trailing-space</title>
+<link href="http://f:21/b?d #" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..70fd6492c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>href warning: scheme-data-contains-fragment</title>
+<link href="data:text/html,test#test" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..95f895806
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-data-single-slash</title>
+<link href="data:/example.com/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..8b37e6b76
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-file-backslash</title>
+<link href="file:c:\foo\bar.html" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..cb0274812
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-file-single-slash-c-bar</title>
+<link href="file:/C|/foo/bar" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..0364ce649
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-file-triple-slash-c-bar</title>
+<link href="file:///C|/foo/bar" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..17a72ac54
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-ftp-no-slash</title>
+<link href="ftp:example.com/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..c930a16b4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-ftp-single-slash</title>
+<link href="ftp:/example.com/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..af1814b44
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-backslash</title>
+<link href="http:\\foo.com\" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..816bd3b25
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-no-slash-colon</title>
+<link href="http::@c:29" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..1678caac7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-no-slash</title>
+<link href="http:foo.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..f768ffa9d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-no-slash-square-bracket</title>
+<link href="http:[61:27]/:foo" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..b2210d490
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-http-single-slash</title>
+<link href="http:/example.com/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..13c5e3462
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-https-no-slash</title>
+<link href="https:example.com/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..b9192eb21
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-https-single-slash</title>
+<link href="https:/example.com/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..6cf49ca23
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-javascript-no-slash-malformed</title>
+<link href="javascript:example.com/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..3877fab7c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-cr</title>
+<link href="a: foo.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..5b747be01
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-newline</title>
+<link href="a:
+foo.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..65dd25d84
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-space</title>
+<link href="a: foo.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..934a8c4d3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: scheme-trailing-tab</title>
+<link href="a: foo.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..78e636f58
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-backslash</title>
+<link href="http://a\b:c\d@foo.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..259f84eb6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-password-bad-chars</title>
+<link href="http://&a:foo(b]c@d:2/" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..5acd244cc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-password-contains-pile-of-poo</title>
+<link href="http://foo:💩@example.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..1cff4f275
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-username-contains-at-sign</title>
+<link href="http://::@c@d:2" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..0db2f57b9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/link/href/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid href: userinfo-username-contains-pile-of-poo</title>
+<link href="http://💩:foo@example.com" rel=help>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/map/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/map/model-isvalid.html
new file mode 100644
index 000000000..ae6dbac6f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/map/model-isvalid.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;map&gt;</title>
+</head>
+<body>
+ <!-- is block, contains blocks and <area> -->
+ <map class="class" id="id" name="id" lang="en">
+ <h2>header</h2>
+ <p><area alt="text" href='foo' coords="1,2,3,4">p</p>
+ <p>text</p>
+ <p><area alt="text" href='foo' coords="3,2,5,4">p</p>
+ <p>text2</p>
+ </map>
+
+ <!-- can contain interactive -->
+ <map id='foo' name="foo">
+ <p><a>text</a></p>
+ <p><area alt="text" href='foo' coords="3,2,5,4">p</p>
+ </map>
+
+ <!-- map with flow content and flow parent -->
+ <div><map name=foo><p>foo</p></map></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/map/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/map/model-novalid.html
new file mode 100644
index 000000000..3ee9b822e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/map/model-novalid.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;map&gt;</title>
+</head>
+<body>
+ <!-- is block, contains blocks and <area> -->
+ <map name="foo" class="class" id="id" lang="en">
+ <h2>header</h2>
+ <area alt="text" coords="1,2,3,4">
+ <p>text</p>
+ <area alt="text" coords="5,2,3,4">
+ <p>text2</p>
+ </map>
+
+ <!-- can contain interactive -->
+ <map>
+ <p><a>text</a></p>
+ <area alt="text" coords="5,2,3,4">
+ </map>
+
+ <!-- map with flow content and phrasing parent -->
+ <span><map name=foo><p>foo</p></map></span>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/mark/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/mark/model-isvalid.html
new file mode 100644
index 000000000..20ba6d25d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/mark/model-isvalid.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;m&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><mark class="class" lang="en">text</mark></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><mark class="class" lang="en">text</mark></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <mark></mark></p>
+ <p>text <dfn><mark></mark></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><mark><a>text</a></mark></p>
+ <p><dfn><mark><a>text</a></mark></dfn></p>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/meta/names-registered-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/meta/names-registered-isvalid.html
new file mode 100644
index 000000000..f2cb75bb1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/meta/names-registered-isvalid.html
@@ -0,0 +1,768 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>Registered extensions to the predefined set of metadata names</title>
+<meta name="aglsterms.accessibility" content>
+<meta name="AGLSTERMS.ACCESSIBILITY" content>
+<meta name="AgLsTeRmS.AcCeSsIbIlItY" content>
+<meta name="aglsterms.accessmode" content>
+<meta name="AGLSTERMS.ACCESSMODE" content>
+<meta name="AgLsTeRmS.AcCeSsMoDe" content>
+<meta name="aglsterms.act" content>
+<meta name="AGLSTERMS.ACT" content>
+<meta name="AgLsTeRmS.AcT" content>
+<meta name="aglsterms.aggregationlevel" content>
+<meta name="AGLSTERMS.AGGREGATIONLEVEL" content>
+<meta name="AgLsTeRmS.AgGrEgAtIoNlEvEl" content>
+<meta name="aglsterms.availability" content>
+<meta name="AGLSTERMS.AVAILABILITY" content>
+<meta name="AgLsTeRmS.AvAiLaBiLiTy" content>
+<meta name="aglsterms.case" content>
+<meta name="AGLSTERMS.CASE" content>
+<meta name="AgLsTeRmS.CaSe" content>
+<meta name="aglsterms.category" content>
+<meta name="AGLSTERMS.CATEGORY" content>
+<meta name="AgLsTeRmS.CaTeGoRy" content>
+<meta name="aglsterms.datelicensed" content>
+<meta name="AGLSTERMS.DATELICENSED" content>
+<meta name="AgLsTeRmS.DaTeLiCeNsEd" content>
+<meta name="aglsterms.documenttype" content>
+<meta name="AGLSTERMS.DOCUMENTTYPE" content>
+<meta name="AgLsTeRmS.DoCuMeNtTyPe" content>
+<meta name="aglsterms.function" content>
+<meta name="AGLSTERMS.FUNCTION" content>
+<meta name="AgLsTeRmS.FuNcTiOn" content>
+<meta name="aglsterms.isbasedon" content>
+<meta name="AGLSTERMS.ISBASEDON" content>
+<meta name="AgLsTeRmS.IsBaSeDoN" content>
+<meta name="aglsterms.isbasisfor" content>
+<meta name="AGLSTERMS.ISBASISFOR" content>
+<meta name="AgLsTeRmS.IsBaSiSfOr" content>
+<meta name="aglsterms.jurisdiction" content>
+<meta name="AGLSTERMS.JURISDICTION" content>
+<meta name="AgLsTeRmS.JuRiSdIcTiOn" content>
+<meta name="aglsterms.mandate" content>
+<meta name="AGLSTERMS.MANDATE" content>
+<meta name="AgLsTeRmS.MaNdAtE" content>
+<meta name="aglsterms.protectivemarking" content>
+<meta name="AGLSTERMS.PROTECTIVEMARKING" content>
+<meta name="AgLsTeRmS.PrOtEcTiVeMaRkInG" content>
+<meta name="aglsterms.regulation" content>
+<meta name="AGLSTERMS.REGULATION" content>
+<meta name="AgLsTeRmS.ReGuLaTiOn" content>
+<meta name="aglsterms.servicetype" content>
+<meta name="AGLSTERMS.SERVICETYPE" content>
+<meta name="AgLsTeRmS.SeRvIcEtYpE" content>
+<meta name="alexaverifyid" content>
+<meta name="ALEXAVERIFYID" content>
+<meta name="AlExAvErIfYiD" content>
+<meta name="apple-itunes-app" content>
+<meta name="APPLE-ITUNES-APP" content>
+<meta name="ApPlE-ItUnEs-aPp" content>
+<meta name="apple-mobile-web-app-capable" content>
+<meta name="APPLE-MOBILE-WEB-APP-CAPABLE" content>
+<meta name="ApPlE-MoBiLe-wEb-aPp-cApAbLe" content>
+<meta name="apple-mobile-web-app-status-bar-style" content>
+<meta name="APPLE-MOBILE-WEB-APP-STATUS-BAR-STYLE" content>
+<meta name="ApPlE-MoBiLe-wEb-aPp-sTaTuS-BaR-StYlE" content>
+<meta name="apple-mobile-web-app-title" content>
+<meta name="APPLE-MOBILE-WEB-APP-TITLE" content>
+<meta name="ApPlE-MoBiLe-wEb-aPp-tItLe" content>
+<meta name="apple-touch-fullscreen" content>
+<meta name="APPLE-TOUCH-FULLSCREEN" content>
+<meta name="ApPlE-ToUcH-FuLlScReEn" content>
+<meta name="application-url" content>
+<meta name="APPLICATION-URL" content>
+<meta name="ApPlIcAtIoN-UrL" content>
+<meta name="baiduspider" content>
+<meta name="BAIDUSPIDER" content>
+<meta name="BaIdUsPiDeR" content>
+<meta name="bitcoin" content>
+<meta name="BITCOIN" content>
+<meta name="BiTcOiN" content>
+<meta name="blazerr-secure" content>
+<meta name="BLAZERR-SECURE" content>
+<meta name="BlAzErR-SeCuRe" content>
+<meta name="blazerr-seo" content>
+<meta name="BLAZERR-SEO" content>
+<meta name="BlAzErR-SeO" content>
+<meta name="blazerr-ssl" content>
+<meta name="BLAZERR-SSL" content>
+<meta name="BlAzErR-SsL" content>
+<meta name="blazerr-support-id-noncookies" content>
+<meta name="BLAZERR-SUPPORT-ID-NONCOOKIES" content>
+<meta name="BlAzErR-SuPpOrT-Id-nOnCoOkIeS" content>
+<meta name="blazerr-support-identifier" content>
+<meta name="BLAZERR-SUPPORT-IDENTIFIER" content>
+<meta name="BlAzErR-SuPpOrT-IdEnTiFiEr" content>
+<meta name="cfia.gdr.activity" content>
+<meta name="CFIA.GDR.ACTIVITY" content>
+<meta name="CfIa.gDr.aCtIvItY" content>
+<meta name="cfia.gdr.commodity" content>
+<meta name="CFIA.GDR.COMMODITY" content>
+<meta name="CfIa.gDr.cOmMoDiTy" content>
+<meta name="cfia.gdr.include" content>
+<meta name="CFIA.GDR.INCLUDE" content>
+<meta name="CfIa.gDr.iNcLuDe" content>
+<meta name="cfia.gdr.program" content>
+<meta name="CFIA.GDR.PROGRAM" content>
+<meta name="CfIa.gDr.pRoGrAm" content>
+<meta name="citeseerxbot" content>
+<meta name="CITESEERXBOT" content>
+<meta name="CiTeSeErXbOt" content>
+<meta name="collection" content>
+<meta name="COLLECTION" content>
+<meta name="CoLlEcTiOn" content>
+<meta name="csrf-param" content>
+<meta name="CSRF-PARAM" content>
+<meta name="CsRf-pArAm" content>
+<meta name="csrf-token" content>
+<meta name="CSRF-TOKEN" content>
+<meta name="CsRf-tOkEn" content>
+<meta name="da_anonymiseip" content>
+<meta name="DA_ANONYMISEIP" content>
+<meta name="Da_aNoNyMiSeIp" content>
+<meta name="da_contactcompany" content>
+<meta name="DA_CONTACTCOMPANY" content>
+<meta name="Da_cOnTaCtCoMpAnY" content>
+<meta name="da_contactemail" content>
+<meta name="DA_CONTACTEMAIL" content>
+<meta name="Da_cOnTaCtEmAiL" content>
+<meta name="da_contactfirstname" content>
+<meta name="DA_CONTACTFIRSTNAME" content>
+<meta name="Da_cOnTaCtFiRsTnAmE" content>
+<meta name="da_contactlastname" content>
+<meta name="DA_CONTACTLASTNAME" content>
+<meta name="Da_cOnTaCtLaStNaMe" content>
+<meta name="da_contactname" content>
+<meta name="DA_CONTACTNAME" content>
+<meta name="Da_cOnTaCtNaMe" content>
+<meta name="da_contacttelephone" content>
+<meta name="DA_CONTACTTELEPHONE" content>
+<meta name="Da_cOnTaCtTeLePhOnE" content>
+<meta name="da_conversioncurrency" content>
+<meta name="DA_CONVERSIONCURRENCY" content>
+<meta name="Da_cOnVeRsIoNcUrReNcY" content>
+<meta name="da_conversionid" content>
+<meta name="DA_CONVERSIONID" content>
+<meta name="Da_cOnVeRsIoNiD" content>
+<meta name="da_conversionvalue" content>
+<meta name="DA_CONVERSIONVALUE" content>
+<meta name="Da_cOnVeRsIoNvAlUe" content>
+<meta name="da_goalcurrency" content>
+<meta name="DA_GOALCURRENCY" content>
+<meta name="Da_gOaLcUrReNcY" content>
+<meta name="da_goalid" content>
+<meta name="DA_GOALID" content>
+<meta name="Da_gOaLiD" content>
+<meta name="da_goalvalue" content>
+<meta name="DA_GOALVALUE" content>
+<meta name="Da_gOaLvAlUe" content>
+<meta name="da_interactionselector" content>
+<meta name="DA_INTERACTIONSELECTOR" content>
+<meta name="Da_iNtErAcTiOnSeLeCtOr" content>
+<meta name="da_pagerole" content>
+<meta name="DA_PAGEROLE" content>
+<meta name="Da_pAgErOlE" content>
+<meta name="da_pagetaxonomy" content>
+<meta name="DA_PAGETAXONOMY" content>
+<meta name="Da_pAgEtAxOnOmY" content>
+<meta name="da_pagetitle" content>
+<meta name="DA_PAGETITLE" content>
+<meta name="Da_pAgEtItLe" content>
+<meta name="da_pageversion" content>
+<meta name="DA_PAGEVERSION" content>
+<meta name="Da_pAgEvErSiOn" content>
+<meta name="da_sessionid" content>
+<meta name="DA_SESSIONID" content>
+<meta name="Da_sEsSiOnId" content>
+<meta name="da_userid" content>
+<meta name="DA_USERID" content>
+<meta name="Da_uSeRiD" content>
+<meta name="dc.date.issued" content>
+<meta name="DC.DATE.ISSUED" content>
+<meta name="Dc.dAtE.IsSuEd" content>
+<meta name="dc.language" content>
+<meta name="DC.LANGUAGE" content>
+<meta name="Dc.lAnGuAgE" content>
+<meta name="dcterms.abstract" content>
+<meta name="DCTERMS.ABSTRACT" content>
+<meta name="DcTeRmS.AbStRaCt" content>
+<meta name="dcterms.accessrights" content>
+<meta name="DCTERMS.ACCESSRIGHTS" content>
+<meta name="DcTeRmS.AcCeSsRiGhTs" content>
+<meta name="dcterms.accrualmethod" content>
+<meta name="DCTERMS.ACCRUALMETHOD" content>
+<meta name="DcTeRmS.AcCrUaLmEtHoD" content>
+<meta name="dcterms.accrualperiodicity" content>
+<meta name="DCTERMS.ACCRUALPERIODICITY" content>
+<meta name="DcTeRmS.AcCrUaLpErIoDiCiTy" content>
+<meta name="dcterms.accrualpolicy" content>
+<meta name="DCTERMS.ACCRUALPOLICY" content>
+<meta name="DcTeRmS.AcCrUaLpOlIcY" content>
+<meta name="dcterms.alternative" content>
+<meta name="DCTERMS.ALTERNATIVE" content>
+<meta name="DcTeRmS.AlTeRnAtIvE" content>
+<meta name="dcterms.audience" content>
+<meta name="DCTERMS.AUDIENCE" content>
+<meta name="DcTeRmS.AuDiEnCe" content>
+<meta name="dcterms.available" content>
+<meta name="DCTERMS.AVAILABLE" content>
+<meta name="DcTeRmS.AvAiLaBlE" content>
+<meta name="dcterms.bibliographiccitation" content>
+<meta name="DCTERMS.BIBLIOGRAPHICCITATION" content>
+<meta name="DcTeRmS.BiBlIoGrApHiCcItAtIoN" content>
+<meta name="dcterms.collection" content>
+<meta name="DCTERMS.COLLECTION" content>
+<meta name="DcTeRmS.CoLlEcTiOn" content>
+<meta name="dcterms.conformsto" content>
+<meta name="DCTERMS.CONFORMSTO" content>
+<meta name="DcTeRmS.CoNfOrMsTo" content>
+<meta name="dcterms.contributor" content>
+<meta name="DCTERMS.CONTRIBUTOR" content>
+<meta name="DcTeRmS.CoNtRiBuToR" content>
+<meta name="dcterms.coverage" content>
+<meta name="DCTERMS.COVERAGE" content>
+<meta name="DcTeRmS.CoVeRaGe" content>
+<meta name="dcterms.created" content>
+<meta name="DCTERMS.CREATED" content>
+<meta name="DcTeRmS.CrEaTeD" content>
+<meta name="dcterms.creator" content>
+<meta name="DCTERMS.CREATOR" content>
+<meta name="DcTeRmS.CrEaToR" content>
+<meta name="dcterms.date" content>
+<meta name="DCTERMS.DATE" content>
+<meta name="DcTeRmS.DaTe" content>
+<meta name="dcterms.dateaccepted" content>
+<meta name="DCTERMS.DATEACCEPTED" content>
+<meta name="DcTeRmS.DaTeAcCePtEd" content>
+<meta name="dcterms.datecopyrighted" content>
+<meta name="DCTERMS.DATECOPYRIGHTED" content>
+<meta name="DcTeRmS.DaTeCoPyRiGhTeD" content>
+<meta name="dcterms.datesubmitted" content>
+<meta name="DCTERMS.DATESUBMITTED" content>
+<meta name="DcTeRmS.DaTeSuBmItTeD" content>
+<meta name="dcterms.description" content>
+<meta name="DCTERMS.DESCRIPTION" content>
+<meta name="DcTeRmS.DeScRiPtIoN" content>
+<meta name="dcterms.educationlevel" content>
+<meta name="DCTERMS.EDUCATIONLEVEL" content>
+<meta name="DcTeRmS.EdUcAtIoNlEvEl" content>
+<meta name="dcterms.extent" content>
+<meta name="DCTERMS.EXTENT" content>
+<meta name="DcTeRmS.ExTeNt" content>
+<meta name="dcterms.format" content>
+<meta name="DCTERMS.FORMAT" content>
+<meta name="DcTeRmS.FoRmAt" content>
+<meta name="dcterms.hasformat" content>
+<meta name="DCTERMS.HASFORMAT" content>
+<meta name="DcTeRmS.HaSfOrMaT" content>
+<meta name="dcterms.haspart" content>
+<meta name="DCTERMS.HASPART" content>
+<meta name="DcTeRmS.HaSpArT" content>
+<meta name="dcterms.hasversion" content>
+<meta name="DCTERMS.HASVERSION" content>
+<meta name="DcTeRmS.HaSvErSiOn" content>
+<meta name="dcterms.identifier" content>
+<meta name="DCTERMS.IDENTIFIER" content>
+<meta name="DcTeRmS.IdEnTiFiEr" content>
+<meta name="dcterms.instructionalmethod" content>
+<meta name="DCTERMS.INSTRUCTIONALMETHOD" content>
+<meta name="DcTeRmS.InStRuCtIoNaLmEtHoD" content>
+<meta name="dcterms.isformatof" content>
+<meta name="DCTERMS.ISFORMATOF" content>
+<meta name="DcTeRmS.IsFoRmAtOf" content>
+<meta name="dcterms.ispartof" content>
+<meta name="DCTERMS.ISPARTOF" content>
+<meta name="DcTeRmS.IsPaRtOf" content>
+<meta name="dcterms.isreferencedby" content>
+<meta name="DCTERMS.ISREFERENCEDBY" content>
+<meta name="DcTeRmS.IsReFeReNcEdBy" content>
+<meta name="dcterms.isreplacedby" content>
+<meta name="DCTERMS.ISREPLACEDBY" content>
+<meta name="DcTeRmS.IsRePlAcEdBy" content>
+<meta name="dcterms.isrequiredby" content>
+<meta name="DCTERMS.ISREQUIREDBY" content>
+<meta name="DcTeRmS.IsReQuIrEdBy" content>
+<meta name="dcterms.issued" content>
+<meta name="DCTERMS.ISSUED" content>
+<meta name="DcTeRmS.IsSuEd" content>
+<meta name="dcterms.isversionof" content>
+<meta name="DCTERMS.ISVERSIONOF" content>
+<meta name="DcTeRmS.IsVeRsIoNoF" content>
+<meta name="dcterms.language" content>
+<meta name="DCTERMS.LANGUAGE" content>
+<meta name="DcTeRmS.LaNgUaGe" content>
+<meta name="dcterms.license" content>
+<meta name="DCTERMS.LICENSE" content>
+<meta name="DcTeRmS.LiCeNsE" content>
+<meta name="dcterms.mediator" content>
+<meta name="DCTERMS.MEDIATOR" content>
+<meta name="DcTeRmS.MeDiAtOr" content>
+<meta name="dcterms.medium" content>
+<meta name="DCTERMS.MEDIUM" content>
+<meta name="DcTeRmS.MeDiUm" content>
+<meta name="dcterms.modified" content>
+<meta name="DCTERMS.MODIFIED" content>
+<meta name="DcTeRmS.MoDiFiEd" content>
+<meta name="dcterms.provenance" content>
+<meta name="DCTERMS.PROVENANCE" content>
+<meta name="DcTeRmS.PrOvEnAnCe" content>
+<meta name="dcterms.publisher" content>
+<meta name="DCTERMS.PUBLISHER" content>
+<meta name="DcTeRmS.PuBlIsHeR" content>
+<meta name="dcterms.references" content>
+<meta name="DCTERMS.REFERENCES" content>
+<meta name="DcTeRmS.ReFeReNcEs" content>
+<meta name="dcterms.relation" content>
+<meta name="DCTERMS.RELATION" content>
+<meta name="DcTeRmS.ReLaTiOn" content>
+<meta name="dcterms.replaces" content>
+<meta name="DCTERMS.REPLACES" content>
+<meta name="DcTeRmS.RePlAcEs" content>
+<meta name="dcterms.requires" content>
+<meta name="DCTERMS.REQUIRES" content>
+<meta name="DcTeRmS.ReQuIrEs" content>
+<meta name="dcterms.rights" content>
+<meta name="DCTERMS.RIGHTS" content>
+<meta name="DcTeRmS.RiGhTs" content>
+<meta name="dcterms.rightsholder" content>
+<meta name="DCTERMS.RIGHTSHOLDER" content>
+<meta name="DcTeRmS.RiGhTsHoLdEr" content>
+<meta name="dcterms.source" content>
+<meta name="DCTERMS.SOURCE" content>
+<meta name="DcTeRmS.SoUrCe" content>
+<meta name="dcterms.spatial" content>
+<meta name="DCTERMS.SPATIAL" content>
+<meta name="DcTeRmS.SpAtIaL" content>
+<meta name="dcterms.subject" content>
+<meta name="DCTERMS.SUBJECT" content>
+<meta name="DcTeRmS.SuBjEcT" content>
+<meta name="dcterms.tableofcontents" content>
+<meta name="DCTERMS.TABLEOFCONTENTS" content>
+<meta name="DcTeRmS.TaBlEoFcOnTeNtS" content>
+<meta name="dcterms.temporal" content>
+<meta name="DCTERMS.TEMPORAL" content>
+<meta name="DcTeRmS.TeMpOrAl" content>
+<meta name="dcterms.title" content>
+<meta name="DCTERMS.TITLE" content>
+<meta name="DcTeRmS.TiTlE" content>
+<meta name="dcterms.type" content>
+<meta name="DCTERMS.TYPE" content>
+<meta name="DcTeRmS.TyPe" content>
+<meta name="dcterms.valid" content>
+<meta name="DCTERMS.VALID" content>
+<meta name="DcTeRmS.VaLiD" content>
+<meta name="designer" content>
+<meta name="DESIGNER" content>
+<meta name="DeSiGnEr" content>
+<meta name="entity" content>
+<meta name="ENTITY" content>
+<meta name="EnTiTy" content>
+<meta name="essaydirectory" content>
+<meta name="ESSAYDIRECTORY" content>
+<meta name="EsSaYdIrEcToRy" content>
+<meta name="fdse-description" content>
+<meta name="FDSE-DESCRIPTION" content>
+<meta name="FdSe-dEsCrIpTiOn" content>
+<meta name="fdse-index-as" content>
+<meta name="FDSE-INDEX-AS" content>
+<meta name="FdSe-iNdEx-aS" content>
+<meta name="fdse-keywords" content>
+<meta name="FDSE-KEYWORDS" content>
+<meta name="FdSe-kEyWoRdS" content>
+<meta name="fdse-refresh" content>
+<meta name="FDSE-REFRESH" content>
+<meta name="FdSe-rEfReSh" content>
+<meta name="fdse-robots" content>
+<meta name="FDSE-ROBOTS" content>
+<meta name="FdSe-rObOtS" content>
+<meta name="format-detection" content>
+<meta name="FORMAT-DETECTION" content>
+<meta name="FoRmAt-dEtEcTiOn" content>
+<meta name="fragment" content>
+<meta name="FRAGMENT" content>
+<meta name="FrAgMeNt" content>
+<meta name="gcterms.topictaxonomy" content>
+<meta name="GCTERMS.TOPICTAXONOMY" content>
+<meta name="GcTeRmS.ToPiCtAxOnOmY" content>
+<meta name="geo.a1" content>
+<meta name="GEO.A1" content>
+<meta name="GeO.A1" content>
+<meta name="geo.a2" content>
+<meta name="GEO.A2" content>
+<meta name="GeO.A2" content>
+<meta name="geo.a3" content>
+<meta name="GEO.A3" content>
+<meta name="GeO.A3" content>
+<meta name="geo.country" content>
+<meta name="GEO.COUNTRY" content>
+<meta name="GeO.CoUnTrY" content>
+<meta name="geo.lmk" content>
+<meta name="GEO.LMK" content>
+<meta name="GeO.LmK" content>
+<meta name="geo.placename" content>
+<meta name="GEO.PLACENAME" content>
+<meta name="GeO.PlAcEnAmE" content>
+<meta name="geo.position" content>
+<meta name="GEO.POSITION" content>
+<meta name="GeO.PoSiTiOn" content>
+<meta name="geo.region" content>
+<meta name="GEO.REGION" content>
+<meta name="GeO.ReGiOn" content>
+<meta name="globrix.bathrooms" content>
+<meta name="GLOBRIX.BATHROOMS" content>
+<meta name="GlObRiX.BaThRoOmS" content>
+<meta name="globrix.bedrooms" content>
+<meta name="GLOBRIX.BEDROOMS" content>
+<meta name="GlObRiX.BeDrOoMs" content>
+<meta name="globrix.condition" content>
+<meta name="GLOBRIX.CONDITION" content>
+<meta name="GlObRiX.CoNdItIoN" content>
+<meta name="globrix.features" content>
+<meta name="GLOBRIX.FEATURES" content>
+<meta name="GlObRiX.FeAtUrEs" content>
+<meta name="globrix.instruction" content>
+<meta name="GLOBRIX.INSTRUCTION" content>
+<meta name="GlObRiX.InStRuCtIoN" content>
+<meta name="globrix.latitude" content>
+<meta name="GLOBRIX.LATITUDE" content>
+<meta name="GlObRiX.LaTiTuDe" content>
+<meta name="globrix.longitude" content>
+<meta name="GLOBRIX.LONGITUDE" content>
+<meta name="GlObRiX.LoNgItUdE" content>
+<meta name="globrix.outsidespace" content>
+<meta name="GLOBRIX.OUTSIDESPACE" content>
+<meta name="GlObRiX.OuTsIdEsPaCe" content>
+<meta name="globrix.parking" content>
+<meta name="GLOBRIX.PARKING" content>
+<meta name="GlObRiX.PaRkInG" content>
+<meta name="globrix.period" content>
+<meta name="GLOBRIX.PERIOD" content>
+<meta name="GlObRiX.PeRiOd" content>
+<meta name="globrix.poa" content>
+<meta name="GLOBRIX.POA" content>
+<meta name="GlObRiX.PoA" content>
+<meta name="globrix.postcode" content>
+<meta name="GLOBRIX.POSTCODE" content>
+<meta name="GlObRiX.PoStCoDe" content>
+<meta name="globrix.price" content>
+<meta name="GLOBRIX.PRICE" content>
+<meta name="GlObRiX.PrIcE" content>
+<meta name="globrix.priceproximity" content>
+<meta name="GLOBRIX.PRICEPROXIMITY" content>
+<meta name="GlObRiX.PrIcEpRoXiMiTy" content>
+<meta name="globrix.tenure" content>
+<meta name="GLOBRIX.TENURE" content>
+<meta name="GlObRiX.TeNuRe" content>
+<meta name="globrix.type" content>
+<meta name="GLOBRIX.TYPE" content>
+<meta name="GlObRiX.TyPe" content>
+<meta name="globrix.underoffer" content>
+<meta name="GLOBRIX.UNDEROFFER" content>
+<meta name="GlObRiX.UnDeRoFfEr" content>
+<meta name="go-import" content>
+<meta name="GO-IMPORT" content>
+<meta name="Go-iMpOrT" content>
+<meta name="google" content>
+<meta name="GOOGLE" content>
+<meta name="GoOgLe" content>
+<meta name="google-site-verification" content>
+<meta name="GOOGLE-SITE-VERIFICATION" content>
+<meta name="GoOgLe-sItE-VeRiFiCaTiOn" content>
+<meta name="googlebot" content>
+<meta name="GOOGLEBOT" content>
+<meta name="GoOgLeBoT" content>
+<meta name="googlebot-mobile" content>
+<meta name="GOOGLEBOT-MOBILE" content>
+<meta name="GoOgLeBoT-MoBiLe" content>
+<meta name="gwt:property" content>
+<meta name="GWT:PROPERTY" content>
+<meta name="GwT:PrOpErTy" content>
+<meta name="handheldfriendly" content>
+<meta name="HANDHELDFRIENDLY" content>
+<meta name="HaNdHeLdFrIeNdLy" content>
+<meta name="icas.datetime" content>
+<meta name="ICAS.DATETIME" content>
+<meta name="IcAs.dAtEtImE" content>
+<meta name="icas.datetime.abbr" content>
+<meta name="ICAS.DATETIME.ABBR" content>
+<meta name="IcAs.dAtEtImE.AbBr" content>
+<meta name="icas.datetime.day" content>
+<meta name="ICAS.DATETIME.DAY" content>
+<meta name="IcAs.dAtEtImE.DaY" content>
+<meta name="icas.datetime.long" content>
+<meta name="ICAS.DATETIME.LONG" content>
+<meta name="IcAs.dAtEtImE.LoNg" content>
+<meta name="icbm" content>
+<meta name="ICBM" content>
+<meta name="IcBm" content>
+<meta name="itemsperpage" content>
+<meta name="ITEMSPERPAGE" content>
+<meta name="ItEmSpErPaGe" content>
+<meta name="meta_date" content>
+<meta name="META_DATE" content>
+<meta name="MeTa_dAtE" content>
+<meta name="mobile-agent" content>
+<meta name="MOBILE-AGENT" content>
+<meta name="MoBiLe-aGeNt" content>
+<meta name="mobile-web-app-capable" content>
+<meta name="MOBILE-WEB-APP-CAPABLE" content>
+<meta name="MoBiLe-wEb-aPp-cApAbLe" content>
+<meta name="mobileoptimized" content>
+<meta name="MOBILEOPTIMIZED" content>
+<meta name="MoBiLeOpTiMiZeD" content>
+<meta name="msapplication-config" content>
+<meta name="MSAPPLICATION-CONFIG" content>
+<meta name="MsApPlIcAtIoN-CoNfIg" content>
+<meta name="msapplication-navbutton-color" content>
+<meta name="MSAPPLICATION-NAVBUTTON-COLOR" content>
+<meta name="MsApPlIcAtIoN-NaVbUtToN-CoLoR" content>
+<meta name="msapplication-square150x150logo" content>
+<meta name="MSAPPLICATION-SQUARE150X150LOGO" content>
+<meta name="MsApPlIcAtIoN-SqUaRe150x150lOgO" content>
+<meta name="msapplication-square310x310logo" content>
+<meta name="MSAPPLICATION-SQUARE310X310LOGO" content>
+<meta name="MsApPlIcAtIoN-SqUaRe310x310lOgO" content>
+<meta name="msapplication-square70x70logo" content>
+<meta name="MSAPPLICATION-SQUARE70X70LOGO" content>
+<meta name="MsApPlIcAtIoN-SqUaRe70X70lOgO" content>
+<meta name="msapplication-starturl" content>
+<meta name="MSAPPLICATION-STARTURL" content>
+<meta name="MsApPlIcAtIoN-StArTuRl" content>
+<meta name="msapplication-tap-highlight" content>
+<meta name="MSAPPLICATION-TAP-HIGHLIGHT" content>
+<meta name="MsApPlIcAtIoN-TaP-HiGhLiGhT" content>
+<meta name="msapplication-task" content>
+<meta name="MSAPPLICATION-TASK" content>
+<meta name="MsApPlIcAtIoN-TaSk" content>
+<meta name="msapplication-tilecolor" content>
+<meta name="MSAPPLICATION-TILECOLOR" content>
+<meta name="MsApPlIcAtIoN-TiLeCoLoR" content>
+<meta name="msapplication-tileimage" content>
+<meta name="MSAPPLICATION-TILEIMAGE" content>
+<meta name="MsApPlIcAtIoN-TiLeImAgE" content>
+<meta name="msapplication-tooltip" content>
+<meta name="MSAPPLICATION-TOOLTIP" content>
+<meta name="MsApPlIcAtIoN-ToOlTiP" content>
+<meta name="msapplication-wide310x150logo" content>
+<meta name="MSAPPLICATION-WIDE310X150LOGO" content>
+<meta name="MsApPlIcAtIoN-WiDe310x150lOgO" content>
+<meta name="msapplication-window" content>
+<meta name="MSAPPLICATION-WINDOW" content>
+<meta name="MsApPlIcAtIoN-WiNdOw" content>
+<meta name="msvalidate.01" content>
+<meta name="MSVALIDATE.01" content>
+<meta name="MsVaLiDaTe.01" content>
+<meta name="norton-safeweb-site-verification" content>
+<meta name="NORTON-SAFEWEB-SITE-VERIFICATION" content>
+<meta name="NoRtOn-sAfEwEb-sItE-VeRiFiCaTiOn" content>
+<meta name="p:domain_verify" content>
+<meta name="P:DOMAIN_VERIFY" content>
+<meta name="P:DoMaIn_vErIfY" content>
+<meta name="pingdom" content>
+<meta name="PINGDOM" content>
+<meta name="PiNgDoM" content>
+<meta name="pinterest" content>
+<meta name="PINTEREST" content>
+<meta name="PiNtErEsT" content>
+<meta name="rating" content>
+<meta name="RATING" content>
+<meta name="RaTiNg" content>
+<meta name="referrer" content>
+<meta name="REFERRER" content>
+<meta name="ReFeRrEr" content>
+<meta name="repostusapikey" content>
+<meta name="REPOSTUSAPIKEY" content>
+<meta name="RePoStUsApIkEy" content>
+<meta name="resourceloaderdynamicstyles" content>
+<meta name="RESOURCELOADERDYNAMICSTYLES" content>
+<meta name="ReSoUrCeLoAdErDyNaMiCsTyLeS" content>
+<meta name="review_date" content>
+<meta name="REVIEW_DATE" content>
+<meta name="ReViEw_dAtE" content>
+<meta name="revision" content>
+<meta name="REVISION" content>
+<meta name="ReViSiOn" content>
+<meta name="revisit-after" content>
+<meta name="REVISIT-AFTER" content>
+<meta name="ReViSiT-AfTeR" content>
+<meta name="rights-standard" content>
+<meta name="RIGHTS-STANDARD" content>
+<meta name="RiGhTs-sTaNdArD" content>
+<meta name="robots" content>
+<meta name="ROBOTS" content>
+<meta name="RoBoTs" content>
+<meta name="rpuplugin" content>
+<meta name="RPUPLUGIN" content>
+<meta name="RpUpLuGiN" content>
+<meta name="rqid" content>
+<meta name="RQID" content>
+<meta name="RqId" content>
+<meta name="signet:authors" content>
+<meta name="SIGNET:AUTHORS" content>
+<meta name="SiGnEt:aUtHoRs" content>
+<meta name="signet:links" content>
+<meta name="SIGNET:LINKS" content>
+<meta name="SiGnEt:lInKs" content>
+<meta name="skype_toolbar" content>
+<meta name="SKYPE_TOOLBAR" content>
+<meta name="SkYpE_ToOlBaR" content>
+<meta name="slurp" content>
+<meta name="SLURP" content>
+<meta name="SlUrP" content>
+<meta name="startindex" content>
+<meta name="STARTINDEX" content>
+<meta name="StArTiNdEx" content>
+<meta name="startver" content>
+<meta name="STARTVER" content>
+<meta name="StArTvEr" content>
+<meta name="teoma" content>
+<meta name="TEOMA" content>
+<meta name="TeOmA" content>
+<meta name="totalresults" content>
+<meta name="TOTALRESULTS" content>
+<meta name="ToTaLrEsUlTs" content>
+<meta name="twitter:app:country" content>
+<meta name="TWITTER:APP:COUNTRY" content>
+<meta name="TwItTeR:ApP:CoUnTrY" content>
+<meta name="twitter:app:id:googleplay" content>
+<meta name="TWITTER:APP:ID:GOOGLEPLAY" content>
+<meta name="TwItTeR:ApP:Id:gOoGlEpLaY" content>
+<meta name="twitter:app:id:ipad" content>
+<meta name="TWITTER:APP:ID:IPAD" content>
+<meta name="TwItTeR:ApP:Id:iPaD" content>
+<meta name="twitter:app:id:iphone" content>
+<meta name="TWITTER:APP:ID:IPHONE" content>
+<meta name="TwItTeR:ApP:Id:iPhOnE" content>
+<meta name="twitter:app:url:googleplay" content>
+<meta name="TWITTER:APP:URL:GOOGLEPLAY" content>
+<meta name="TwItTeR:ApP:UrL:GoOgLePlAy" content>
+<meta name="twitter:app:url:ipad" content>
+<meta name="TWITTER:APP:URL:IPAD" content>
+<meta name="TwItTeR:ApP:UrL:IpAd" content>
+<meta name="twitter:app:url:iphone" content>
+<meta name="TWITTER:APP:URL:IPHONE" content>
+<meta name="TwItTeR:ApP:UrL:IpHoNe" content>
+<meta name="twitter:card" content>
+<meta name="TWITTER:CARD" content>
+<meta name="TwItTeR:CaRd" content>
+<meta name="twitter:creator" content>
+<meta name="TWITTER:CREATOR" content>
+<meta name="TwItTeR:CrEaToR" content>
+<meta name="twitter:creator:id" content>
+<meta name="TWITTER:CREATOR:ID" content>
+<meta name="TwItTeR:CrEaToR:Id" content>
+<meta name="twitter:description" content>
+<meta name="TWITTER:DESCRIPTION" content>
+<meta name="TwItTeR:DeScRiPtIoN" content>
+<meta name="twitter:domain" content>
+<meta name="TWITTER:DOMAIN" content>
+<meta name="TwItTeR:DoMaIn" content>
+<meta name="twitter:image" content>
+<meta name="TWITTER:IMAGE" content>
+<meta name="TwItTeR:ImAgE" content>
+<meta name="twitter:image0" content>
+<meta name="TWITTER:IMAGE0" content>
+<meta name="TwItTeR:ImAgE0" content>
+<meta name="twitter:image1" content>
+<meta name="TWITTER:IMAGE1" content>
+<meta name="TwItTeR:ImAgE1" content>
+<meta name="twitter:image2" content>
+<meta name="TWITTER:IMAGE2" content>
+<meta name="TwItTeR:ImAgE2" content>
+<meta name="twitter:image3" content>
+<meta name="TWITTER:IMAGE3" content>
+<meta name="TwItTeR:ImAgE3" content>
+<meta name="twitter:image:height" content>
+<meta name="TWITTER:IMAGE:HEIGHT" content>
+<meta name="TwItTeR:ImAgE:HeIgHt" content>
+<meta name="twitter:image:src" content>
+<meta name="TWITTER:IMAGE:SRC" content>
+<meta name="TwItTeR:ImAgE:SrC" content>
+<meta name="twitter:image:width" content>
+<meta name="TWITTER:IMAGE:WIDTH" content>
+<meta name="TwItTeR:ImAgE:WiDtH" content>
+<meta name="twitter:site" content>
+<meta name="TWITTER:SITE" content>
+<meta name="TwItTeR:SiTe" content>
+<meta name="twitter:site:id" content>
+<meta name="TWITTER:SITE:ID" content>
+<meta name="TwItTeR:SiTe:iD" content>
+<meta name="twitter:title" content>
+<meta name="TWITTER:TITLE" content>
+<meta name="TwItTeR:TiTlE" content>
+<meta name="twitter:url" content>
+<meta name="TWITTER:URL" content>
+<meta name="TwItTeR:UrL" content>
+<meta name="typemetal.formatprefs" content>
+<meta name="TYPEMETAL.FORMATPREFS" content>
+<meta name="TyPeMeTaL.FoRmAtPrEfS" content>
+<meta name="verify-v1" content>
+<meta name="VERIFY-V1" content>
+<meta name="VeRiFy-v1" content>
+<meta name="vfb-version" content>
+<meta name="VFB-VERSION" content>
+<meta name="VfB-VeRsIoN" content>
+<meta name="viewport" content>
+<meta name="VIEWPORT" content>
+<meta name="ViEwPoRt" content>
+<meta name="web_author" content>
+<meta name="WEB_AUTHOR" content>
+<meta name="WeB_AuThOr" content>
+<meta name="wot-verification" content>
+<meta name="WOT-VERIFICATION" content>
+<meta name="WoT-VeRiFiCaTiOn" content>
+<meta name="wt.ac" content>
+<meta name="WT.AC" content>
+<meta name="Wt.aC" content>
+<meta name="wt.ad" content>
+<meta name="WT.AD" content>
+<meta name="Wt.aD" content>
+<meta name="wt.cg_n" content>
+<meta name="WT.CG_N" content>
+<meta name="Wt.cG_N" content>
+<meta name="wt.cg_s" content>
+<meta name="WT.CG_S" content>
+<meta name="Wt.cG_S" content>
+<meta name="wt.mc_id" content>
+<meta name="WT.MC_ID" content>
+<meta name="Wt.mC_Id" content>
+<meta name="wt.si_n" content>
+<meta name="WT.SI_N" content>
+<meta name="Wt.sI_N" content>
+<meta name="wt.si_p" content>
+<meta name="WT.SI_P" content>
+<meta name="Wt.sI_P" content>
+<meta name="wt.si_x" content>
+<meta name="WT.SI_X" content>
+<meta name="Wt.sI_X" content>
+<meta name="wt.sv" content>
+<meta name="WT.SV" content>
+<meta name="Wt.sV" content>
+<meta name="wt.ti" content>
+<meta name="WT.TI" content>
+<meta name="Wt.tI" content>
+<meta name="y_key" content>
+<meta name="Y_KEY" content>
+<meta name="Y_KeY" content>
+<meta name="yandex-verification" content>
+<meta name="YANDEX-VERIFICATION" content>
+<meta name="YaNdEx-vErIfIcAtIoN" content>
+<meta name="zoomcategory" content>
+<meta name="ZOOMCATEGORY" content>
+<meta name="ZoOmCaTeGoRy" content>
+<meta name="zoomdescription" content>
+<meta name="ZOOMDESCRIPTION" content>
+<meta name="ZoOmDeScRiPtIoN" content>
+<meta name="zoomimage" content>
+<meta name="ZOOMIMAGE" content>
+<meta name="ZoOmImAgE" content>
+<meta name="zoompageboost" content>
+<meta name="ZOOMPAGEBOOST" content>
+<meta name="ZoOmPaGeBoOsT" content>
+<meta name="zoomtitle" content>
+<meta name="ZOOMTITLE" content>
+<meta name="ZoOmTiTlE" content>
+<meta name="zoomwords" content>
+<meta name="ZOOMWORDS" content>
+<meta name="ZoOmWoRdS" content>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/meta/names-standard-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/meta/names-standard-isvalid.html
new file mode 100644
index 000000000..738af2a9d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/meta/names-standard-isvalid.html
@@ -0,0 +1,21 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>Standard metadata names</title>
+<!-- all lowercase-->
+<meta name="application-name" content>
+<meta name="author" content>
+<meta name="description" content>
+<meta name="generator" content>
+<meta name="keywords" content>
+<!-- all uppercase -->
+<meta name="APPLICATION-NAME" content>
+<meta name="AUTHOR" content>
+<meta name="DESCRIPTION" content>
+<meta name="GENERATOR" content>
+<meta name="KEYWORDS" content>
+<!-- mixed case -->
+<meta name="aPplIcAtioN-nAmE" content>
+<meta name="AUtHOr" content>
+<meta name="dEScrIpTiON" content>
+<meta name="GEneRatoR" content>
+<meta name="kEyWoRDs" content>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/meta/refresh-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/meta/refresh-isvalid.html
new file mode 100644
index 000000000..8b3f49969
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/meta/refresh-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid meta refresh</title>
+<meta http-equiv=refresh content="0; URL=file:///"><!-- scheme-file-slash-slash-slash-only -->
+<meta http-equiv=refresh content="0; URL=http://a:@www.example.com"><!-- userinfo-password-empty -->
+<meta http-equiv=refresh content="0; URL=foo://///////"><!-- scheme-private-path-leading-slashes-only -->
+<meta http-equiv=refresh content="0; URL=file://abc|/foo/bar"><!-- scheme-file-slash-slash-abc-bar -->
+<meta http-equiv=refresh content="0; URL=/a/b/c"><!-- path-simple-relative -->
+<meta http-equiv=refresh content="0; URL=http://example.com/你好你好"><!-- path-unicode-han -->
+<meta http-equiv=refresh content="0; URL=/a/%2f/c"><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<meta http-equiv=refresh content="0; URL=http://f:/c"><!-- port-none-but-colon -->
+<meta http-equiv=refresh content="0; URL=http://example.com/foo%41%7a"><!-- path-percent-encoded-multiple -->
+<meta http-equiv=refresh content="0; URL=http://192.168.0.257/"><!-- host-IP-address-broken -->
+<meta http-equiv=refresh content="0; URL=madeupscheme:example.com/"><!-- scheme-private-no-slash -->
+<meta http-equiv=refresh content="0; URL=?"><!-- query-empty-no-path-relative -->
+<meta http-equiv=refresh content="0; URL=http://example.com/%20foo"><!-- path-percent-encoded-space -->
+<meta http-equiv=refresh content="0; URL=mailto:/example.com/"><!-- scheme-mailto-single-slash -->
+<meta http-equiv=refresh content="0; URL=::"><!-- path-leading-colon-colon-relative -->
+<meta http-equiv=refresh content="0; URL=http://example.com/%3A%3a%3C%3c"><!-- path-percent-encoded-mixed-case -->
+<meta http-equiv=refresh content="0; URL=http://user:pass@foo:21/bar;par?b#c"><!-- userinfo -->
+<meta http-equiv=refresh content="0; URL=ws:/example.com/"><!-- scheme-ws-single-slash -->
+<meta http-equiv=refresh content="0; URL=foo://"><!-- scheme-private-slash-slash -->
+<meta http-equiv=refresh content="0; URL=#"><!-- fragment-empty-hash-only-no-path-relative -->
+<meta http-equiv=refresh content="0; URL=http://f:00000000000000/c"><!-- port-00000000000000 -->
+<meta http-equiv=refresh content="0; URL=foo:////://///"><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<meta http-equiv=refresh content="0; URL=:23"><!-- path-leading-colon-number-relative -->
+<meta http-equiv=refresh content="0; URL=foo:/"><!-- scheme-private-slash -->
+<meta http-equiv=refresh content="0; URL=http://💩"><!-- host-is-pile-of-poo -->
+<meta http-equiv=refresh content="0; URL=file:test"><!-- scheme-file-no-slash -->
+<meta http-equiv=refresh content="0; URL=file://C|/foo/bar"><!-- scheme-file-slash-slash-c-bar -->
+<meta http-equiv=refresh content="0; URL=#/"><!-- fragment-slash-relative -->
+<meta http-equiv=refresh content="0; URL=http://192.0x00A80001"><!-- host-192.0x00A80001 -->
+<meta http-equiv=refresh content="0; URL=foo.com"><!-- scheme-none-relative -->
+<meta http-equiv=refresh content="0; URL=http💩//:foo"><!-- path-contains-pile-of-poo -->
+<meta http-equiv=refresh content="0; URL=File://foo/bar.html"><!-- scheme-file-uppercase -->
+<meta http-equiv=refresh content="0; URL=:/"><!-- path-leading-colon-slash-relative -->
+<meta http-equiv=refresh content="0; URL=http://www.foo。bar.com"><!-- host-exotic-dot -->
+<meta http-equiv=refresh content="0; URL=http://GOO​⁠goo.com"><!-- host-exotic-whitespace -->
+<meta http-equiv=refresh content="0; URL=file:///foo/bar.txt"><!-- scheme-file-host-empty -->
+<meta http-equiv=refresh content="0; URL=javascript:/example.com/"><!-- scheme-javascript-single-slash -->
+<meta http-equiv=refresh content="0; URL=gopher:/example.com/"><!-- scheme-gopher-single-slash -->
+<meta http-equiv=refresh content="0; URL=ftps:example.com/"><!-- scheme-ftps-no-slash -->
+<meta http-equiv=refresh content="0; URL=file://server/foo/bar"><!-- scheme-file-host-included -->
+<meta http-equiv=refresh content="0; URL=http://example.com/foo%00"><!-- path-percent-encoded-u0000 -->
+<meta http-equiv=refresh content="0; URL=a:foo.com"><!-- scheme-private -->
+<meta http-equiv=refresh content="0; URL=:"><!-- path-colon-relative -->
+<meta http-equiv=refresh content="0; URL=http://:b@www.example.com"><!-- userinfo-user-empty -->
+<meta http-equiv=refresh content="0; URL=file:/"><!-- scheme-file-slash-only -->
+<meta http-equiv=refresh content="0; URL=wss:example.com/"><!-- scheme-wss-no-slash -->
+<meta http-equiv=refresh content="0; URL=::23"><!-- path-colon-colon-number-relative -->
+<meta http-equiv=refresh content="0; URL=/a%2fc"><!-- path-percent-encoded-slash-relative -->
+<meta http-equiv=refresh content="0; URL=http://a:b@c:29/d"><!-- userinfo-host-port-path -->
+<meta http-equiv=refresh content="0; URL=gopher:example.com/"><!-- scheme-gopher-no-slash -->
+<meta http-equiv=refresh content="0; URL=madeupscheme:/example.com/"><!-- scheme-private-single-slash -->
+<meta http-equiv=refresh content="0; URL=mailto:example.com/"><!-- scheme-mailto-no-slash -->
+<meta http-equiv=refresh content="0; URL=http://%25DOMAIN:foobar@foodomain.com"><!-- userinfo-username-contains-percent-encoded -->
+<meta http-equiv=refresh content="0; URL=/:23"><!-- path-slash-colon-number-relative -->
+<meta http-equiv=refresh content="0; URL=foo://///////bar.com/"><!-- scheme-private-path-leading-slashes-chars -->
+<meta http-equiv=refresh content="0; URL=http://[2001::1]:80"><!-- host-ipv6-port -->
+<meta http-equiv=refresh content="0; URL=data:text/plain,foo"><!-- scheme-data-no-slash -->
+<meta http-equiv=refresh content="0; URL=http://example.com/foo/%2e"><!-- path-percent-encoded-dot -->
+<meta http-equiv=refresh content="0; URL=file:/example.com/"><!-- scheme-file-single-slash -->
+<meta http-equiv=refresh content="0; URL=http://example.com/©zbar"><!-- path-non-ascii -->
+<meta http-equiv=refresh content="0; URL=http://example.com//foo"><!-- path-uFEFF -->
+<meta http-equiv=refresh content="0; URL=wss:/example.com/"><!-- scheme-wss-single-slash -->
+<meta http-equiv=refresh content="0; URL=http://foo/abcd#foo?bar"><!-- fragment-contains-question-mark -->
+<meta http-equiv=refresh content="0; URL=:#"><!-- path-leading-colon-hash-relative -->
+<meta http-equiv=refresh content="0; URL=http://example.com/foo%91"><!-- path-percent-encoded-u0091 -->
+<meta http-equiv=refresh content="0; URL=c:/foo"><!-- scheme-private-single-letter -->
+<meta http-equiv=refresh content="0; URL=:foo.com"><!-- path-leading-colon-chars-relative -->
+<meta http-equiv=refresh content="0; URL=http://你好你好"><!-- host-idn-unicode-han -->
+<meta http-equiv=refresh content="0; URL=http://example.com/foo#💩"><!-- fragment-contains-pile-of-poo -->
+<meta http-equiv=refresh content="0; URL=file:"><!-- scheme-file-scheme-only -->
+<meta http-equiv=refresh content="0; URL=#β"><!-- fragment-non-ascii-relative -->
+<meta http-equiv=refresh content="0; URL=foo:/bar.com/"><!-- scheme-private-path -->
+<meta http-equiv=refresh content="0; URL=http://f:0/c"><!-- port-0 -->
+<meta http-equiv=refresh content="0; URL=#;?"><!-- fragment-semicolon-question-mark-relative -->
+<meta http-equiv=refresh content="0; URL=http://Go.com"><!-- host-fullwidth -->
+<meta http-equiv=refresh content="0; URL=http://@www.example.com"><!-- userinfo-empty -->
+<meta http-equiv=refresh content="0; URL=http://example.com/‮/foo/‭/bar"><!-- path-u202E-u202D -->
+<meta http-equiv=refresh content="0; URL=http://[2001::1]"><!-- host-ipv6 -->
+<meta http-equiv=refresh content="0; URL=💩http://foo"><!-- path-starts-with-pile-of-poo -->
+<meta http-equiv=refresh content="0; URL=http://foo/abcd?efgh?ijkl"><!-- query-contains-question-mark -->
+<meta http-equiv=refresh content="0; URL=//foo/bar"><!-- scheme-schemeless-relative -->
+<meta http-equiv=refresh content="0; URL=ftps:/example.com/"><!-- scheme-ftps-single-slash -->
+<meta http-equiv=refresh content="0; URL=http://foo.com:b@d/"><!-- userinfo-username-non-alpha -->
+<meta http-equiv=refresh content="0; URL=:a"><!-- path-leading-colon-letter-relative -->
+<meta http-equiv=refresh content="0; URL=/"><!-- path-slash-only-relative -->
+<meta http-equiv=refresh content="0; URL=http://example.com/foo?💩"><!-- query-contains-pile-of-poo -->
+<meta http-equiv=refresh content="0; URL=http://f:00000000000000000000080/c"><!-- port-00000000000000000000080 -->
+<meta http-equiv=refresh content="0; URL=file://"><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/noscript/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/noscript/model-isvalid.html
new file mode 100644
index 000000000..6d74e762b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/noscript/model-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <noscript><style></style></noscript>
+ <meta charset=utf-8>
+ <title>&lt;noscript&gt; in &lt;head&gt;</title>
+</head>
+<body>
+<p>foo</p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data-empty-novalid.html
new file mode 100644
index 000000000..ffa455f9f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty data is not valid</title>
+<object data=""></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data-isvalid.html
new file mode 100644
index 000000000..a4b3d4fba
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid data</title>
+<object data="file:///"></object><!-- scheme-file-slash-slash-slash-only -->
+<object data="http://a:@www.example.com"></object><!-- userinfo-password-empty -->
+<object data="foo://///////"></object><!-- scheme-private-path-leading-slashes-only -->
+<object data="file://abc|/foo/bar"></object><!-- scheme-file-slash-slash-abc-bar -->
+<object data="/a/b/c"></object><!-- path-simple-relative -->
+<object data="http://example.com/你好你好"></object><!-- path-unicode-han -->
+<object data="/a/%2f/c"></object><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<object data="http://f:/c"></object><!-- port-none-but-colon -->
+<object data="http://example.com/foo%41%7a"></object><!-- path-percent-encoded-multiple -->
+<object data="http://192.168.0.257/"></object><!-- host-IP-address-broken -->
+<object data="madeupscheme:example.com/"></object><!-- scheme-private-no-slash -->
+<object data="?"></object><!-- query-empty-no-path-relative -->
+<object data="http://example.com/%20foo"></object><!-- path-percent-encoded-space -->
+<object data="mailto:/example.com/"></object><!-- scheme-mailto-single-slash -->
+<object data="::"></object><!-- path-leading-colon-colon-relative -->
+<object data="http://example.com/%3A%3a%3C%3c"></object><!-- path-percent-encoded-mixed-case -->
+<object data="http://user:pass@foo:21/bar;par?b#c"></object><!-- userinfo -->
+<object data="ws:/example.com/"></object><!-- scheme-ws-single-slash -->
+<object data="foo://"></object><!-- scheme-private-slash-slash -->
+<object data="#"></object><!-- fragment-empty-hash-only-no-path-relative -->
+<object data="http://f:00000000000000/c"></object><!-- port-00000000000000 -->
+<object data="foo:////://///"></object><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<object data=":23"></object><!-- path-leading-colon-number-relative -->
+<object data="foo:/"></object><!-- scheme-private-slash -->
+<object data="http://💩"></object><!-- host-is-pile-of-poo -->
+<object data="file:test"></object><!-- scheme-file-no-slash -->
+<object data="file://C|/foo/bar"></object><!-- scheme-file-slash-slash-c-bar -->
+<object data="#/"></object><!-- fragment-slash-relative -->
+<object data="http://192.0x00A80001"></object><!-- host-192.0x00A80001 -->
+<object data="foo.com"></object><!-- scheme-none-relative -->
+<object data="http💩//:foo"></object><!-- path-contains-pile-of-poo -->
+<object data="File://foo/bar.html"></object><!-- scheme-file-uppercase -->
+<object data=":/"></object><!-- path-leading-colon-slash-relative -->
+<object data="http://www.foo。bar.com"></object><!-- host-exotic-dot -->
+<object data="http://GOO​⁠goo.com"></object><!-- host-exotic-whitespace -->
+<object data="file:///foo/bar.txt"></object><!-- scheme-file-host-empty -->
+<object data="javascript:/example.com/"></object><!-- scheme-javascript-single-slash -->
+<object data="gopher:/example.com/"></object><!-- scheme-gopher-single-slash -->
+<object data="ftps:example.com/"></object><!-- scheme-ftps-no-slash -->
+<object data="file://server/foo/bar"></object><!-- scheme-file-host-included -->
+<object data="http://example.com/foo%00"></object><!-- path-percent-encoded-u0000 -->
+<object data="a:foo.com"></object><!-- scheme-private -->
+<object data=":"></object><!-- path-colon-relative -->
+<object data="http://:b@www.example.com"></object><!-- userinfo-user-empty -->
+<object data="file:/"></object><!-- scheme-file-slash-only -->
+<object data="wss:example.com/"></object><!-- scheme-wss-no-slash -->
+<object data="::23"></object><!-- path-colon-colon-number-relative -->
+<object data="/a%2fc"></object><!-- path-percent-encoded-slash-relative -->
+<object data="http://a:b@c:29/d"></object><!-- userinfo-host-port-path -->
+<object data="gopher:example.com/"></object><!-- scheme-gopher-no-slash -->
+<object data="madeupscheme:/example.com/"></object><!-- scheme-private-single-slash -->
+<object data="mailto:example.com/"></object><!-- scheme-mailto-no-slash -->
+<object data="http://%25DOMAIN:foobar@foodomain.com"></object><!-- userinfo-username-contains-percent-encoded -->
+<object data="/:23"></object><!-- path-slash-colon-number-relative -->
+<object data="foo://///////bar.com/"></object><!-- scheme-private-path-leading-slashes-chars -->
+<object data="http://[2001::1]:80"></object><!-- host-ipv6-port -->
+<object data="data:text/plain,foo"></object><!-- scheme-data-no-slash -->
+<object data="http://example.com/foo/%2e"></object><!-- path-percent-encoded-dot -->
+<object data="file:/example.com/"></object><!-- scheme-file-single-slash -->
+<object data="http://example.com/©zbar"></object><!-- path-non-ascii -->
+<object data="http://example.com//foo"></object><!-- path-uFEFF -->
+<object data="wss:/example.com/"></object><!-- scheme-wss-single-slash -->
+<object data="http://foo/abcd#foo?bar"></object><!-- fragment-contains-question-mark -->
+<object data=":#"></object><!-- path-leading-colon-hash-relative -->
+<object data="http://example.com/foo%91"></object><!-- path-percent-encoded-u0091 -->
+<object data="c:/foo"></object><!-- scheme-private-single-letter -->
+<object data=":foo.com"></object><!-- path-leading-colon-chars-relative -->
+<object data="http://你好你好"></object><!-- host-idn-unicode-han -->
+<object data="http://example.com/foo#💩"></object><!-- fragment-contains-pile-of-poo -->
+<object data="file:"></object><!-- scheme-file-scheme-only -->
+<object data="#β"></object><!-- fragment-non-ascii-relative -->
+<object data="foo:/bar.com/"></object><!-- scheme-private-path -->
+<object data="http://f:0/c"></object><!-- port-0 -->
+<object data="#;?"></object><!-- fragment-semicolon-question-mark-relative -->
+<object data="http://Go.com"></object><!-- host-fullwidth -->
+<object data="http://@www.example.com"></object><!-- userinfo-empty -->
+<object data="http://example.com/‮/foo/‭/bar"></object><!-- path-u202E-u202D -->
+<object data="http://[2001::1]"></object><!-- host-ipv6 -->
+<object data="💩http://foo"></object><!-- path-starts-with-pile-of-poo -->
+<object data="http://foo/abcd?efgh?ijkl"></object><!-- query-contains-question-mark -->
+<object data="//foo/bar"></object><!-- scheme-schemeless-relative -->
+<object data="ftps:/example.com/"></object><!-- scheme-ftps-single-slash -->
+<object data="http://foo.com:b@d/"></object><!-- userinfo-username-non-alpha -->
+<object data=":a"></object><!-- path-leading-colon-letter-relative -->
+<object data="/"></object><!-- path-slash-only-relative -->
+<object data="http://example.com/foo?💩"></object><!-- query-contains-pile-of-poo -->
+<object data="http://f:00000000000000000000080/c"></object><!-- port-00000000000000000000080 -->
+<object data="file://"></object><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data-type-missing-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data-type-missing-novalid.html
new file mode 100644
index 000000000..03f84f904
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data-type-missing-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta charset=utf-8>
+<title>object element missing data and type attribute</title>
+</head>
+<body>
+<object></object>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data-whitespace-only-novalid.html
new file mode 100644
index 000000000..26b77fd46
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty data is not valid</title>
+<object data="
+"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/fragment-backslash-novalid.html
new file mode 100644
index 000000000..db712e248
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: fragment-backslash</title>
+<object data="#\"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..91c153197
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: fragment-contains-hash</title>
+<object data="http://foo/path#f#g"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..bf09cca1a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: fragment-leading-space</title>
+<object data="http://f:21/b# e"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-cr-novalid.html
new file mode 100644
index 000000000..0d834e8da
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: host-cr</title>
+<object data="http://example. org"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..d9f6ead7a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: host-double-percent-encoded</title>
+<object data="http://%41.com"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..7bcff83e1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: host-double-percent-encoded-percent-encoded</title>
+<object data="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-empty-novalid.html
new file mode 100644
index 000000000..2e2d6d84a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: host-empty</title>
+<object data="http://"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..db6dc0556
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: host-empty-userinfo-empty</title>
+<object data="http://@/www.example.com"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..a468c3743
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: host-empty-with-userinfo</title>
+<object data="http://user:pass@/"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..64388a6a5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: host-hostname-in-brackets</title>
+<object data="http://[www.google.com]/"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..ee26451bf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: host-invalid-unicode</title>
+<object data="http://﷐zyx.com"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..600c40146
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: host-invalid-unicode-percent-encoded</title>
+<object data="http://%ef%b7%90zyx.com"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-newline-novalid.html
new file mode 100644
index 000000000..9cda7a1cc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: host-newline</title>
+<object data="http://example.
+org"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-space-novalid.html
new file mode 100644
index 000000000..24ee0daf4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: host-space</title>
+<object data="http://example .org"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..e65b6a35d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: host-square-brackets-port-contains-colon</title>
+<object data="http://[1::2]:3:4"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-tab-novalid.html
new file mode 100644
index 000000000..06424d027
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: host-tab</title>
+<object data="http://example .org"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..0782bd2ba
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: host-u0000-percent-encoded</title>
+<object data="http://%00.com"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..72bee10c2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: host-u0000-percent-encoded-percent-encoded</title>
+<object data="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..7672e0075
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: path-bare-percent-sign</title>
+<object data="http://example.com/foo%"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-contains-space-novalid.html
new file mode 100644
index 000000000..306bd90cb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: path-contains-space</title>
+<object data="/a/ /c"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..4d421d7e7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: path-leading-backslash-at-sign</title>
+<object data="http://foo.com/\@"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..bab2c3661
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: path-leading-colon-backslash</title>
+<object data=":\"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..d24fc52e6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: path-leading-colon-chars-backslash</title>
+<object data=":foo.com\"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-leading-space-novalid.html
new file mode 100644
index 000000000..9093f5e26
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: path-leading-space</title>
+<object data="http://f:21/ b"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..d0a32ca50
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: path-percent-encoded-malformed</title>
+<object data="http://example.com/foo/%2e%2"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..d3c020df8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: path-relative-square-brackets</title>
+<object data="[61:24:74]:98"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-tab-novalid.html
new file mode 100644
index 000000000..393ad621b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: path-tab</title>
+<object data="http://example.com/foo bar"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-trailing-space-novalid.html
new file mode 100644
index 000000000..7637e81e4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: path-trailing-space</title>
+<object data="http://f:21/b ?"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-u0091-novalid.html
new file mode 100644
index 000000000..16b7b7504
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: path-u0091</title>
+<object data="http://example.com/foo‘"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-999999-novalid.html
new file mode 100644
index 000000000..7cc877269
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: port-999999</title>
+<object data="http://f:999999/c"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-cr-novalid.html
new file mode 100644
index 000000000..c66522f3d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: port-cr</title>
+<object data="http://f: /c"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..23a94ce36
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: port-leading-colon-bracket-colon</title>
+<object data="http://2001::1]:80"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-leading-colon-novalid.html
new file mode 100644
index 000000000..67d1d40f1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: port-leading-colon</title>
+<object data="http://2001::1"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-leading-dash-novalid.html
new file mode 100644
index 000000000..ace5c2109
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: port-leading-dash</title>
+<object data="http://foo:-80/"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..72aabe72d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: port-multiple-letters</title>
+<object data="http://f:fifty-two/c"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-newline-novalid.html
new file mode 100644
index 000000000..f9cec6d9b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: port-newline</title>
+<object data="http://f:
+/c"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-single-letter-novalid.html
new file mode 100644
index 000000000..1c349f119
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: port-single-letter</title>
+<object data="http://f:b/c"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-space-novalid.html
new file mode 100644
index 000000000..0efa3a646
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: port-space</title>
+<object data="http://f: /c"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-tab-novalid.html
new file mode 100644
index 000000000..d472787a9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: port-tab</title>
+<object data="http://f: /c"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/query-leading-space-novalid.html
new file mode 100644
index 000000000..a07913589
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: query-leading-space</title>
+<object data="http://f:21/b? d"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/query-trailing-space-novalid.html
new file mode 100644
index 000000000..6a8cc4bc6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: query-trailing-space</title>
+<object data="http://f:21/b?d #"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..7075d88a0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/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>
+<object data="data:text/html,test#test"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..97d1d0418
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-data-single-slash</title>
+<object data="data:/example.com/"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..829632449
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-file-backslash</title>
+<object data="file:c:\foo\bar.html"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..a5d0c782b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-file-single-slash-c-bar</title>
+<object data="file:/C|/foo/bar"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..4109b8c84
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-file-triple-slash-c-bar</title>
+<object data="file:///C|/foo/bar"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..a828a9fb6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-ftp-no-slash</title>
+<object data="ftp:example.com/"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..0f4a5d311
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-ftp-single-slash</title>
+<object data="ftp:/example.com/"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..4286ae797
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-http-backslash</title>
+<object data="http:\\foo.com\"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..522f34cb9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-http-no-slash-colon</title>
+<object data="http::@c:29"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..8ae3cc5e4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-http-no-slash</title>
+<object data="http:foo.com"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..af87406c3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-http-no-slash-square-bracket</title>
+<object data="http:[61:27]/:foo"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..392351285
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-http-single-slash</title>
+<object data="http:/example.com/"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..79ca00c60
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-https-no-slash</title>
+<object data="https:example.com/"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..17f031742
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-https-single-slash</title>
+<object data="https:/example.com/"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..aa2779659
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-javascript-no-slash-malformed</title>
+<object data="javascript:example.com/"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..4c9c1226c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-trailing-cr</title>
+<object data="a: foo.com"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..7a46f0ccc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-trailing-newline</title>
+<object data="a:
+foo.com"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..756cbb9c7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-trailing-space</title>
+<object data="a: foo.com"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..f85ac5dcd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: scheme-trailing-tab</title>
+<object data="a: foo.com"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..c19636350
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: userinfo-backslash</title>
+<object data="http://a\b:c\d@foo.com"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..c1b3669e3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: userinfo-password-bad-chars</title>
+<object data="http://&a:foo(b]c@d:2/"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..b6f542d72
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: userinfo-password-contains-pile-of-poo</title>
+<object data="http://foo:💩@example.com"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..15763d0e0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: userinfo-username-contains-at-sign</title>
+<object data="http://::@c@d:2"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..9cb6d9cc2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/data/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid data: userinfo-username-contains-pile-of-poo</title>
+<object data="http://💩:foo@example.com"></object>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/model-isvalid.html
new file mode 100644
index 000000000..820915ed3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/model-isvalid.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;object&gt;</title>
+</head>
+<body>
+ <map name="idref"></map>
+ <!-- is structured inline -->
+ <p><object
+ data="uri"
+ height="40"
+ usemap="#idref"
+ width="40"
+ class="class"
+ lang="en"></object></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><object
+ data="uri"
+ height="40"
+ usemap="#idref"
+ width="40"
+ class="class"
+ lang="en"></object></dfn></p>
+
+
+ <!-- can contain strictly inline while in strictly inline context, but param must come first -->
+ <p><dfn>strictly inline
+ <object data='f'>
+ <em>text</em>
+ </object>
+ </dfn></p>
+ <p><dfn>strictly inline
+ <object data='f'>
+ <param name="foo" value='bar'><param name="bar" value='foo'>
+ <em>text</em>
+ </object>
+ </dfn></p>
+
+ <!-- can contain blocks while in block context, but param must come first -->
+<!-- REVISIT
+ <object>
+ <p>text</p>
+ </object>
+ <object>
+ <param name="foo" value='bar'><param name="bar" value='foo'>
+ <p>text</p>
+ </object>
+-->
+ <!-- can contain interactive if ancestor does not forbid it, but param must come first -->
+ <p>paragraph
+ <object data='f'>
+ <a>link</a>
+ </object>
+ </p>
+ <p>paragraph
+ <object data='f'>
+ <param name="foo" value='bar'><param name="bar" value='foo'>
+ <a>link</a>
+ </object>
+ </p>
+ <p><dfn>strictly inline
+ <object data='f'>
+ <a>link</a>
+ </object>
+ </dfn></p>
+ <p><dfn>strictly inline
+ <object data='f'>
+ <param name="foo" value='bar'><param name="bar" value='foo'>
+ <a>link</a>
+ </object>
+ </dfn></p>
+
+ <!-- object with flow content and flow parent -->
+ <div><object data=foo><p>foo</p></object></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/object/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/object/model-novalid.html
new file mode 100644
index 000000000..f5037efa8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/object/model-novalid.html
@@ -0,0 +1,81 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;obj&gt;</title>
+</head>
+<body>
+ <!-- classid, codebase, data, usemap are uris; archive is uri list
+ width and height are positive integers
+ type and codetype are MIME types -->
+ <p><object archive="&lt;"></object></p>
+ <p><object classid="&lt;"></object></p>
+ <p><object codebase="&lt;"></object></p>
+ <p><object codetype="//"></object></p>
+ <p><object data="&lt;"></object></p>
+ <p><object height="4.2"></object></p>
+ <p><object type="//"></object></p>
+ <p><object usemap="&lt;"></object></p>
+ <p><object width="0"></object></p>
+
+ <!-- cannot contain blocks while in inline context -->
+ <p>paragraph
+ <object>
+ <p>para</p>
+ </object>
+ </p>
+
+ <!-- cannot contain blocks while in strictly inline context -->
+ <p><dfn>strictly inline
+ <object>
+ <p>para</p>
+ </object>
+ </dfn></p>
+
+ <!-- cannot contain structured inline while in strictly inline context -->
+ <p><dfn>strictly inline
+ <object>
+ <ul><li>para</li></ul>
+ </object>
+ </dfn></p>
+
+ <!-- cannot contain inline while in block context -->
+ <object>
+ <em>inline</em> text
+ </object>
+
+ <!-- param must be first -->
+ <p>paragraph
+ <object>
+ <em>text</em>
+ <param name="foo">
+ </object>
+ </p>
+ <p><dfn>strictly inline
+ <object>
+ text
+ <param name="foo">
+ </object>
+ </dfn></p>
+ <object>
+ <p>para</p>
+ <param name="foo">
+ </object>
+
+ <!-- cannot contain interactive if ancestor forbids it -->
+ <p><a>paragraph
+ <object>
+ <a>para</a>
+ </object>
+ </a></p>
+ <p><dfn><a>strictly inline
+ <object>
+ <a>para</a>
+ </object>
+ </a></dfn></p>
+
+ <!-- object with flow content and phrasing parent -->
+ <span><object data=foo><p>foo</p></object></span>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ol/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ol/model-isvalid.html
new file mode 100644
index 000000000..28e545a12
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ol/model-isvalid.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>Ordered List: &lt;ol&gt; &lt;li&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <ol class="class" id="id" lang="en" start="05">
+ <li class="class" id="id2" lang="en" value="9">text</li>
+ </ol>
+
+ <!-- can be empty -->
+ <ol></ol>
+ <ol>
+ <li></li>
+ <li></li>
+ </ol>
+
+ <!-- can contain structured inline -->
+ <ol>
+ <li>some <em>text</em>
+ <pre>more text</pre>
+ </li>
+ </ol>
+
+ <!-- can contain blocks -->
+ <ol>
+ <li>
+ <p>some</p>
+ <p>text</p>
+ </li>
+ </ol>
+
+ <!-- can contain interactive -->
+ <ol><li><a>text</a></li></ol>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ol/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ol/model-novalid.html
new file mode 100644
index 000000000..2b00a34e6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ol/model-novalid.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>Ordered List: &lt;ol&gt; &lt;li&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <ol class="class" id="id" lang="en" start="05">
+ <li class="class" id="id" lang="en" value="9">text</li>
+ </ol>
+
+ <!-- is structured inline -->
+ <p>paragraph
+ <ol class="class" id="id" lang="en" start="-8">
+ <li class="class" id="id" lang="en" value="-19">text</li>
+ </ol>
+ </p>
+
+ <!-- can be empty -->
+ <ol></ol>
+ <ol>
+ <li></li>
+ <li></li>
+ </ol>
+
+ <!-- cannot contain structured inline -->
+ <ol>
+ <li>some <em>text</em>
+ <pre>more text</pre>
+ </li>
+ </ol>
+ <p>paragraph
+ <ol>
+ <li>some <em>text</em>
+ <pre>more text</pre>
+ </li>
+ </ol>
+ </p>
+
+ <!-- can contain blocks -->
+ <ol>
+ <li>
+ <p>some</p>
+ <p>text</p>
+ </li>
+ </ol>
+
+ <!-- can contain interactive -->
+ <ol><li><a>text</a></li></ol>
+ <p>paragraph
+ <ol><li><a>text</a></li></ol>
+ </p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/option/label-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/option/label-isvalid.html
new file mode 100644
index 000000000..66c3a4f08
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/option/label-isvalid.html
@@ -0,0 +1,6 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>option element with label attribute</title>
+<select>
+<option label=foo></option>
+</select>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/option/label-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/option/label-novalid.html
new file mode 100644
index 000000000..c68367a4f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/option/label-novalid.html
@@ -0,0 +1,6 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>option element with empty label attribute</title>
+<select>
+<option label=""></option>
+</select>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/option/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/option/model-isvalid.html
new file mode 100644
index 000000000..7cc75ab80
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/option/model-isvalid.html
@@ -0,0 +1,6 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>non-empty option element</title>
+<select>
+<option>foo</option>
+</select>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/option/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/option/model-novalid.html
new file mode 100644
index 000000000..dbe431d5f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/option/model-novalid.html
@@ -0,0 +1,6 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>empty option element</title>
+<select>
+<option></option>
+</select>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/p/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/p/model-isvalid.html
new file mode 100644
index 000000000..9d9e2a11d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/p/model-isvalid.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;p&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <p class="class" id="id" lang="en">text</p>
+
+ <!-- can contain interactive -->
+ <p><a>text</a></p>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/p/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/p/model-novalid.html
new file mode 100644
index 000000000..18cdd5499
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/p/model-novalid.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;p&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <p class="class" id="id" lang="en">text</p>
+
+ <!-- can contain interactive -->
+ <p><a>text</a></p>
+
+ <!-- cannot contain structured inline -->
+ <p>text <ul><li>list</li></ul> <em>elem</em></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/param/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/param/model-isvalid.html
new file mode 100644
index 000000000..eedf9d006
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/param/model-isvalid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;param&gt;</title>
+</head>
+<body>
+<p>
+ <object data='foo'><param name="foo" value='bar'></object>
+
+ <object data='foo'><param name="foo" value="!@#$%$ ^&amp;)"></object>
+ <object data='foo'><param name="foo" value="!@#$%$ ^&amp;)"></object>
+
+ <object data='foo'><param name="foo" value="uri"></object>
+ <object data='foo'><param name="foo" value="uri"></object>
+</p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/param/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/param/model-novalid.html
new file mode 100644
index 000000000..ad780fc83
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/param/model-novalid.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;param&gt;</title>
+</head>
+<body>
+ <!-- param is not block or inline -->
+ <param name="foo">
+ <p>para<param name="foo"></p>
+ <p><dfn>strictly<param name="foo"></dfn></p>
+
+ <!-- param must be empty -->
+ <object><param name="foo"><p>yo</p></object>
+ <p><object><param name="foo"><em>some</em> text</object></p>
+
+ <!-- name is required -->
+ <object><param></object>
+
+ <!-- param data value cannot have type attr -->
+ <object><param name="foo" value="!@#$%$ ^&amp;)"
+ type="application/octet-stream"></object>
+ <object><param name="foo" valuetype="data" value="!@#$%$ ^&amp;)"
+ type="application/octet-stream"></object>
+
+ <!-- param ref value must be URI -->
+ <object><param name="foo" valuetype="ref" value="&lt;"></object>
+ <object><param name="foo" valuetype="ref" value="&lt;"
+ type="application/octet-stream"></object>
+
+ <!-- param object value must be IDREF, cannot have type attr -->
+ <object><param name="foo" valuetype="object" value="sth"></object>
+ <object><param name="foo" valuetype="object" value="#"></object>
+ <object><param name="foo" valuetype="object" value="#"
+ type="application/octet-stream"></object>
+
+ <!-- valuetype can't take any other values -->
+ <object><param name="foo" valuetype="sth"></object>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-all-spaces-with-following-source-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-all-spaces-with-following-source-srcset-novalid.html
new file mode 100644
index 000000000..7bcac2b42
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-all-spaces-with-following-source-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid always-matching-source-media-all-spaces-with-following-source-srcset</title>
+<picture><source srcset=x media=' all '><source srcset=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-all-with-following-source-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-all-with-following-source-srcset-novalid.html
new file mode 100644
index 000000000..320ca6912
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-all-with-following-source-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid always-matching-source-media-all-with-following-source-srcset</title>
+<picture><source srcset=x media=all><source srcset=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-empty-with-following-source-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-empty-with-following-source-srcset-novalid.html
new file mode 100644
index 000000000..a9dd0ab87
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-empty-with-following-source-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid always-matching-source-media-empty-with-following-source-srcset</title>
+<picture><source srcset=x media><source srcset=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-spaces-with-following-source-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-spaces-with-following-source-srcset-novalid.html
new file mode 100644
index 000000000..95c36b0cd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-spaces-with-following-source-srcset-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid always-matching-source-media-spaces-with-following-source-srcset</title>
+<picture><source srcset=x media='
+ '><source srcset=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-uppercase-with-following-source-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-uppercase-with-following-source-srcset-novalid.html
new file mode 100644
index 000000000..d495d18b4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-media-uppercase-with-following-source-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid always-matching-source-media-uppercase-with-following-source-srcset</title>
+<picture><source srcset=x media=ALL><source srcset=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-sizes-with-following-source-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-sizes-with-following-source-srcset-novalid.html
new file mode 100644
index 000000000..2cb7ea802
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-sizes-with-following-source-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid always-matching-source-sizes-with-following-source-srcset</title>
+<picture><source srcset='x 100w' sizes=50vw><source srcset=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-img-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-img-srcset-novalid.html
new file mode 100644
index 000000000..c2962a9a7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-img-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid always-matching-source-with-following-img-srcset</title>
+<picture><source srcset=x><img src=x srcset=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-media-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-media-novalid.html
new file mode 100644
index 000000000..a097307cd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-media-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid always-matching-source-with-following-source-media</title>
+<picture><source srcset=x><source srcset=x media=screen><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-srcset-novalid.html
new file mode 100644
index 000000000..d0f3ea937
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid always-matching-source-with-following-source-srcset</title>
+<picture><source srcset=x><source srcset=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-type-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-type-novalid.html
new file mode 100644
index 000000000..99eadd808
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/always-matching-source-with-following-source-type-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid always-matching-source-with-following-source-type</title>
+<picture><source srcset=x><source srcset=x type=image/gif><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/audio-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/audio-srcset-novalid.html
new file mode 100644
index 000000000..883f05be4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/audio-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid audio-srcset</title>
+<audio src=x srcset=x></audio> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-img-end-tag-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-img-end-tag-novalid.html
new file mode 100644
index 000000000..0c56b597a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-img-end-tag-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid html-syntax-img-end-tag</title>
+<picture><img src=x alt></img></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-picture-no-end-tag-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-picture-no-end-tag-novalid.html
new file mode 100644
index 000000000..a7e378d38
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-picture-no-end-tag-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid html-syntax-picture-no-end-tag</title>
+<picture><img src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-picture-slash-no-end-tag-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-picture-slash-no-end-tag-novalid.html
new file mode 100644
index 000000000..50816e522
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-picture-slash-no-end-tag-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid html-syntax-picture-slash-no-end-tag</title>
+<picture/><img src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-picture-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-picture-slash-novalid.html
new file mode 100644
index 000000000..0c824ef56
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-picture-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid html-syntax-picture-slash</title>
+<picture/><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-source-end-tag-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-source-end-tag-novalid.html
new file mode 100644
index 000000000..8a8b2c447
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/html-syntax-source-end-tag-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid html-syntax-source-end-tag</title>
+<picture><source srcset=x></source><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-novalid.html
new file mode 100644
index 000000000..a97c2a52d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid img-no-src</title>
+<img alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-with-picture-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-with-picture-novalid.html
new file mode 100644
index 000000000..aae258612
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-with-picture-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid img-no-src-with-picture</title>
+<picture><img alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-with-source-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-with-source-novalid.html
new file mode 100644
index 000000000..185231fd6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-with-source-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid img-no-src-with-source</title>
+<picture><source srcset=x><img alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-with-srcset-and-picture-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-with-srcset-and-picture-novalid.html
new file mode 100644
index 000000000..d7e820a1e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-with-srcset-and-picture-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid img-no-src-with-srcset-and-picture</title>
+<picture><img srcset=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-with-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-with-srcset-novalid.html
new file mode 100644
index 000000000..aade7df01
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-no-src-with-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid img-no-src-with-srcset</title>
+<img srcset=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-srcset-no-descriptor-with-sizes-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-srcset-no-descriptor-with-sizes-novalid.html
new file mode 100644
index 000000000..c23295931
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-srcset-no-descriptor-with-sizes-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid img-srcset-no-descriptor-with-sizes</title>
+<img src=x srcset='x' sizes=50vw alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-srcset-w-and-x-width-sizes-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-srcset-w-and-x-width-sizes-novalid.html
new file mode 100644
index 000000000..ae5cba4e1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-srcset-w-and-x-width-sizes-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid img-srcset-w-and-x-width-sizes</title>
+<img src=x srcset='x 100w, y 2x' sizes=50vw alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-srcset-w-no-sizes-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-srcset-w-no-sizes-novalid.html
new file mode 100644
index 000000000..c6970b758
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-srcset-w-no-sizes-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid img-srcset-w-no-sizes</title>
+<img srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-type-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-type-novalid.html
new file mode 100644
index 000000000..41a813c1c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-type-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid img-type</title>
+<img src=x type=image/gif alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-type-with-picture-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-type-with-picture-novalid.html
new file mode 100644
index 000000000..d05284ee5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-type-with-picture-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid img-type-with-picture</title>
+<picture><img src=x type=image/gif alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-with-sizes-no-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-with-sizes-no-srcset-novalid.html
new file mode 100644
index 000000000..a77c4a539
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/img-with-sizes-no-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid img-with-sizes-no-srcset</title>
+<img sizes=50vw src=foo alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/input-type-image-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/input-type-image-srcset-novalid.html
new file mode 100644
index 000000000..80c7995e5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/input-type-image-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid input-type-image-srcset</title>
+<input type=image src=x srcset=x alt=x> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-br-after-img-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-br-after-img-novalid.html
new file mode 100644
index 000000000..66ea1f960
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-br-after-img-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-br-after-img</title>
+<picture><img src=x alt><br></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-br-after-source-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-br-after-source-novalid.html
new file mode 100644
index 000000000..55bb78c19
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-br-after-source-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-br-after-source</title>
+<picture><source srcset=x><br><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-br-before-img-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-br-before-img-novalid.html
new file mode 100644
index 000000000..06462c42b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-br-before-img-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-br-before-img</title>
+<picture><br><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-br-before-source-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-br-before-source-novalid.html
new file mode 100644
index 000000000..7f9bbc0a2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-br-before-source-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-br-before-source</title>
+<picture><br><source srcset=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-figure-wrapping-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-figure-wrapping-novalid.html
new file mode 100644
index 000000000..ffe22b73b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-figure-wrapping-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-figure-wrapping</title>
+<picture><figure><img src=x alt></figure></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-input-type-hidden-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-input-type-hidden-novalid.html
new file mode 100644
index 000000000..b4763de6e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-input-type-hidden-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-input-type-hidden</title>
+<picture><input type=hidden name=x value=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-math-nog-img-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-math-nog-img-novalid.html
new file mode 100644
index 000000000..5f1b85dbb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-math-nog-img-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-math-nog-img</title>
+<picture><math></math></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-noscript-after-source-no-img-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-noscript-after-source-no-img-novalid.html
new file mode 100644
index 000000000..957c8bc1a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-noscript-after-source-no-img-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-noscript-after-source-no-img</title>
+<picture><source srcset=x><noscript><img src=x alt></noscript></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-noscript-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-noscript-novalid.html
new file mode 100644
index 000000000..45efb6712
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-noscript-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-noscript</title>
+<picture><img src=x alt><noscript></noscript></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-p-after-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-p-after-novalid.html
new file mode 100644
index 000000000..0848d51e0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-p-after-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-p-after</title>
+<picture><source srcset=x><img src=x alt><p></p></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-p-before-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-p-before-novalid.html
new file mode 100644
index 000000000..abb046b76
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-p-before-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-p-before</title>
+<picture><p></p><source srcset=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-p-wrapping-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-p-wrapping-novalid.html
new file mode 100644
index 000000000..c1561cf33
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-p-wrapping-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-p-wrapping</title>
+<picture><p><source srcset=x><img src=x alt></p></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-picture-before-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-picture-before-novalid.html
new file mode 100644
index 000000000..d2d3ce9ff
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-picture-before-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-picture-before</title>
+<picture><picture><img src=x alt></picture><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-picture-wrapping-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-picture-wrapping-novalid.html
new file mode 100644
index 000000000..beb9577c5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-picture-wrapping-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-picture-wrapping</title>
+<picture><picture><img src=x alt></picture></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-span-after-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-span-after-novalid.html
new file mode 100644
index 000000000..03f6923e7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-span-after-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-span-after</title>
+<picture><source srcset=x><img src=x alt><span></span></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-span-before-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-span-before-novalid.html
new file mode 100644
index 000000000..85307cfb5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-span-before-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-span-before</title>
+<picture><span></span><source srcset=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-span-wrapping-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-span-wrapping-novalid.html
new file mode 100644
index 000000000..701a263d5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-span-wrapping-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-span-wrapping</title>
+<picture><span><source srcset=x><img src=x alt></span></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-style-scroped-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-style-scroped-novalid.html
new file mode 100644
index 000000000..7aae2a0fe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-style-scroped-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-style-scroped</title>
+<picture><style scroped></style><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-svg-no-img-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-svg-no-img-novalid.html
new file mode 100644
index 000000000..0a4445849
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-svg-no-img-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-svg-no-img</title>
+<picture><svg></svg></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-svg-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-svg-novalid.html
new file mode 100644
index 000000000..03d47c718
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-svg-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-svg</title>
+<picture><img src=x alt><svg></svg></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-text-after-img-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-text-after-img-novalid.html
new file mode 100644
index 000000000..700f317c2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-text-after-img-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-text-after-img</title>
+<picture><img src=x alt>x</picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-text-after-source-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-text-after-source-novalid.html
new file mode 100644
index 000000000..99c173e8f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-text-after-source-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-text-after-source</title>
+<picture><source srcset=x>x<img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-text-before-img-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-text-before-img-novalid.html
new file mode 100644
index 000000000..256804c96
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-text-before-img-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-text-before-img</title>
+<picture>x<img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-text-before-source-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-text-before-source-novalid.html
new file mode 100644
index 000000000..cf1cf0f4e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-text-before-source-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-text-before-source</title>
+<picture>x<source srcset=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-video-before-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-video-before-novalid.html
new file mode 100644
index 000000000..2e91d9c29
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-video-before-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-video-before</title>
+<picture><video></video><source srcset=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-video-no-img-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-video-no-img-novalid.html
new file mode 100644
index 000000000..05d89383b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/junk-video-no-img-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid junk-video-no-img</title>
+<picture><video></video></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/link-rel-icon-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/link-rel-icon-srcset-novalid.html
new file mode 100644
index 000000000..df2d56c8e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/link-rel-icon-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid link-rel-icon-srcset</title>
+<link rel=icon srcset=x href=x> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-empty-picture-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-empty-picture-novalid.html
new file mode 100644
index 000000000..6f604e165
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-empty-picture-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid missing-img-empty-picture</title>
+<picture></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-only-script-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-only-script-novalid.html
new file mode 100644
index 000000000..96015048c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-only-script-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid missing-img-only-script</title>
+<picture><script></script></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-only-source-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-only-source-novalid.html
new file mode 100644
index 000000000..b8b25bd73
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-only-source-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid missing-img-only-source</title>
+<picture><source srcset=x></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-script-and-source-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-script-and-source-novalid.html
new file mode 100644
index 000000000..ea61fadbd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-script-and-source-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid missing-img-script-and-source</title>
+<picture><script></script><source srcset=x></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-source-and-script-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-source-and-script-novalid.html
new file mode 100644
index 000000000..a31715d33
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/missing-img-source-and-script-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid missing-img-source-and-script</title>
+<picture><source srcset=x><script></script></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/multiple-img-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/multiple-img-novalid.html
new file mode 100644
index 000000000..bed5b38ac
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/multiple-img-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid multiple-img</title>
+<picture><img src=x alt><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/multiple-img-with-script-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/multiple-img-with-script-novalid.html
new file mode 100644
index 000000000..973d01f80
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/multiple-img-with-script-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid multiple-img-with-script</title>
+<picture><img src=x alt><script></script><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/multiple-img-with-source-and-script-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/multiple-img-with-source-and-script-novalid.html
new file mode 100644
index 000000000..8c722ac07
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/multiple-img-with-source-and-script-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid multiple-img-with-source-and-script</title>
+<picture><source srcset=x><img src=x alt><script></script><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/multiple-img-with-source-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/multiple-img-with-source-novalid.html
new file mode 100644
index 000000000..d6c2402e8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/multiple-img-with-source-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid multiple-img-with-source</title>
+<picture><source srcset=x><img src=x alt><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/object-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/object-srcset-novalid.html
new file mode 100644
index 000000000..df784de7e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/object-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid object-srcset</title>
+<object data=x srcset=x></object> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/parent-dl-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/parent-dl-novalid.html
new file mode 100644
index 000000000..12b32af34
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/parent-dl-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid parent-dl</title>
+<dl><picture><img src=x alt></picture></dl> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/parent-hgroup-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/parent-hgroup-novalid.html
new file mode 100644
index 000000000..3b260d27f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/parent-hgroup-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid parent-hgroup</title>
+<hgroup><h1>x</h1><picture><img src=x alt></picture></hgroup> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/parent-noscript-in-head-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/parent-noscript-in-head-novalid.html
new file mode 100644
index 000000000..648a16c1d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/parent-noscript-in-head-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid parent-noscript-in-head</title>
+<noscript><picture><img src=x alt></picture></noscript> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/parent-ul-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/parent-ul-novalid.html
new file mode 100644
index 000000000..ed39ef722
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/parent-ul-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid parent-ul</title>
+<ul><picture><img src=x alt></picture></ul> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-align-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-align-novalid.html
new file mode 100644
index 000000000..494a44d0b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-align-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-align</title>
+<picture align=left><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-alt-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-alt-novalid.html
new file mode 100644
index 000000000..678dfe46a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-alt-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-alt</title>
+<picture alt><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-application-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-application-novalid.html
new file mode 100644
index 000000000..6d1771f2a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-application-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-aria-role-application</title>
+<picture role=application><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-button-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-button-novalid.html
new file mode 100644
index 000000000..ad144b79d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-button-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-aria-role-button</title>
+<picture role=button><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-img-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-img-novalid.html
new file mode 100644
index 000000000..f91f26710
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-img-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-aria-role-img</title>
+<picture role=img><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-presentation-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-presentation-novalid.html
new file mode 100644
index 000000000..7c8998c2a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-presentation-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-aria-role-presentation</title>
+<picture role=presentation><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-region-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-region-novalid.html
new file mode 100644
index 000000000..336b58d6f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-aria-role-region-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-aria-role-region</title>
+<picture role=region><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-border-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-border-novalid.html
new file mode 100644
index 000000000..013d6d668
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-border-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-border</title>
+<picture border=1><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-crossorigin-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-crossorigin-novalid.html
new file mode 100644
index 000000000..733be02c5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-crossorigin-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-crossorigin</title>
+<picture crossorigin><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-height-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-height-novalid.html
new file mode 100644
index 000000000..d5c0f0c1a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-height-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-height</title>
+<picture height=100><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-hspace-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-hspace-novalid.html
new file mode 100644
index 000000000..53912928b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-hspace-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-hspace</title>
+<picture hspace=1><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-ismap-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-ismap-novalid.html
new file mode 100644
index 000000000..d6dbfe425
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-ismap-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-ismap</title>
+<picture ismap><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-isvalid.html
new file mode 100644
index 000000000..302ce107e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-isvalid.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid picture</title>
+<template><picture><img src=x alt></picture></template> <!-- parent-template-in-head -->
+<body>
+<img sizes='1q' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-q-in-source-size-value -->
+<img sizes='not (width:500px) and (width:500px) 500px' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-media-not-and -->
+<img sizes='1mm' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-mm-in-source-size-value -->
+<noscript><picture><img src=x alt></picture></noscript> <!-- parent-noscript-in-body -->
+<img sizes='1rem' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-rem-in-source-size-value -->
+<embed sizes> <!-- embed-sizes-empty -->
+<embed srcset> <!-- embed-srcset-empty -->
+<picture title=x class=x dir=ltr hidden id=asdf tabindex=0><img src=x alt></picture> <!-- picture-global-attributes -->
+<img sizes='/**/50vw' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-leading-css-comment -->
+<img sizes='1em' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-em-in-source-size-value -->
+<picture><source srcset=x media=SCREEN><img src=x srcset=x alt></picture> <!-- source-with-media-uppercase-img-with-srcset -->
+<img srcset='%2Cx' src=x alt> <!-- srcset-microsyntax-percent-escaped-leading-comma-in-url -->
+<img srcset='x 1x,y 2x' src=x alt> <!-- srcset-microsyntax-no-space-between-candidates -->
+<video src=x><picture><img src=x alt></picture></video> <!-- parent-video -->
+<img sizes='50vw/**/' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-trailing-css-comment -->
+<picture><img usemap=#x src=x alt></picture><map name=x></map> <!-- img-usemap-with-picture -->
+<ruby>x<rt><picture><img src=x alt></picture></rt></ruby> <!-- parent-rt -->
+<img sizes='1vmax' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-vmax-in-source-size-value -->
+<main><picture><img src=x alt></picture></main> <!-- parent-main -->
+<img sizes='1in' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-in-in-source-size-value -->
+<picture><source srcset=x media=screen><source srcset=x><img src=x alt></picture> <!-- source-with-media-source-with-srcset -->
+<img sizes='-0' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-minus-zero -->
+<img src=x srcset='x 100w, y 200w' sizes=100vw alt> <!-- img-src-also-in-srcset-w -->
+<img src=x srcset='y 1x, x 2x' alt> <!-- img-src-also-in-srcset-2x -->
+<img srcset='%20' src=x alt> <!-- srcset-microsyntax-percent-escaped-space-in-url -->
+<picture><source srcset=x type=image/gif><img src=x srcset=x alt></picture> <!-- source-with-type-img-with-srcset -->
+<img srcset='x 100w, y 200w' sizes=50vw src=x alt> <!-- img-with-sizes -->
+<picture><template></template><source srcset=x><script></script><img src=x alt><template></template></picture> <!-- script-and-template -->
+<img sizes='+50vw' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-plus -->
+<img src=x srcset='y 100w, z 200w' sizes=100vw alt> <!-- img-src-not-in-srcset-w -->
+<h1><picture><img src=x alt=x></picture></h1> <!-- parent-h1 -->
+<img src=x srcset='y 1x, z 2x' alt> <!-- img-src-not-in-srcset-x -->
+<embed srcset='foo bar'> <!-- embed-srcset-junk -->
+<picture><source srcset=x><script></script><img src=x alt></picture> <!-- script-between -->
+<img src=x alt> <!-- basic-img-src -->
+<picture><img src=x alt width=1 height=1></picture> <!-- img-width-height-with-picture -->
+<canvas><picture><img src=x alt></picture></canvas> <!-- parent-canvas -->
+<img src=x srcset='x 1x, y 2x' alt> <!-- img-src-also-in-srcset-1x -->
+<img sizes='(min-width:calc(500px)) 500px' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-calc-in-media -->
+<ruby><picture><img src=x alt></picture><rt>x</rt></ruby> <!-- parent-ruby -->
+<img sizes='33E33px' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-scientifi-notation-3 -->
+<img sizes='2.2e2px' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-scientifi-notation-2 -->
+<img sizes='+11.11e+11px' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-scientifi-notation-1 -->
+<img sizes='-0e-0px' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-scientifi-notation-0 -->
+<a href=x><picture><img src=x alt></picture></a> <!-- parent-a -->
+<img sizes='.4E4px' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-scientifi-notation-4 -->
+<img sizes='calc(500px)' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-calc-in-default -->
+<img srcset='x 1e-0x' src=x alt> <!-- srcset-microsyntax-scientific-notation-e-minus-x -->
+<img sizes='(min-width:500px) 500px' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-no-default -->
+<embed sizes='foo bar'> <!-- embed-sizes-junk -->
+<p><picture><img src=x alt></picture></p> <!-- parent-p -->
+<img sizes='.2px' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-non-integer-omitted-zero -->
+<img sizes='(min-width:500px) 500px, 100vw' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-media-min-width -->
+<img srcset='x 1w' sizes=100vw src=x alt> <!-- srcset-microsyntax-w -->
+<object data=x><picture><img src=x alt></picture></object> <!-- parent-object -->
+<picture><source srcset=x type=image/gif><source srcset=x><img src=x alt></picture> <!-- source-with-type-source-with-srcset -->
+<picture> <!--x--> <source srcset=x> <!--x--> <img src=x alt> <!--x--> </picture> <!-- inter-element-whitespace -->
+<a href=x><picture><img ismap src=x alt></picture></a> <!-- img-ismap-with-picture -->
+<img sizes='1ex' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-ex-in-source-size-value -->
+<img sizes='1vmin' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-vmin-in-source-size-value -->
+<img srcset='x 1x' src=x alt> <!-- srcset-microsyntax-x -->
+<picture><img src=x alt width=0 height=0></picture> <!-- img-width-height-zero-with-picture -->
+<img sizes='1vw' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-vw-in-source-size-value -->
+<picture><source srcset='x 1x, y 2x' type=image/gif><img src=x alt></picture> <!-- source-type-srcset-x -->
+<img srcset='x 1e+0x' src=x alt> <!-- srcset-microsyntax-scientific-notation-e-plus-x -->
+<picture><template></template><source srcset=x><img src=x alt></picture> <!-- template-first -->
+<img sizes='0' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-zero -->
+<img sizes='1ch' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-ch-in-source-size-value -->
+<img sizes='1px' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-px-in-source-size-value -->
+<picture><source srcset=x media='
+ screen
+ '><img src=x srcset=x alt></picture> <!-- source-with-media-spaces-img-with-srcset -->
+<picture><source srcset='x 100w, y 200w' type=image/gif sizes=50vw><img src=x alt></picture> <!-- source-type-srcset-w-sizes -->
+<picture><script></script><source srcset=x><script></script><img src=x alt><script></script></picture> <!-- script-before-between-after -->
+<img sizes='500px' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-only-default -->
+<picture><img crossorigin src=x alt></picture> <!-- img-crossorigin-with-picture -->
+<picture><img src=x alt></picture> <!-- basic-picture-img-src -->
+<img sizes='1pt' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-pt-in-source-size-value -->
+<picture><source srcset=x type=image/gif><img src=x alt></picture> <!-- source-type -->
+<picture><script></script><source srcset=x><img src=x alt><script></script></picture> <!-- script-before-after -->
+<button><picture><img src=x alt></picture></button> <!-- parent-button -->
+<img srcset='x 1.5x' src=x alt> <!-- srcset-microsyntax-non-integer-x -->
+<img sizes='1cm' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-cm-in-source-size-value -->
+<img sizes='(min-width:500px) calc(500px)' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-calc-in-source-size-value -->
+<img srcset='x 1e0x' src=x alt> <!-- srcset-microsyntax-scientific-notation-x -->
+<img srcset='x%2C' src=x alt> <!-- srcset-microsyntax-percent-escaped-trailing-comma-in-url -->
+<section><h2>x</h2><picture><img src=x alt></picture></section> <!-- parent-section -->
+<picture><source srcset='x 100w, y 200w' sizes=50vw><img src=x alt></picture> <!-- source-with-sizes -->
+<picture><source srcset=x media=screen><img src=x srcset=x alt></picture> <!-- source-with-media-img-with-srcset -->
+<img sizes='1vh' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-vh-in-source-size-value -->
+<template><picture><img src=x alt></picture></template> <!-- parent-template-in-body -->
+<img srcset='x,x' src=x alt> <!-- srcset-microsyntax-comma-in-url -->
+<img sizes='1pc' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-pc-in-source-size-value -->
+<img sizes='0.2px' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-non-integer-px-in-source-size-value -->
+<img srcset='x 1E0x' src=x alt> <!-- srcset-microsyntax-scientific-notation-e-uppercase-x -->
+<img sizes='(min-width:1500px) 500px, (min-width:1000px) 33vw, (min-width:500px) 50vw, 100vw' srcset='x 100w, y 200w' src=x alt> <!-- sizes-microsyntax-multiple-source-sizes -->
+<picture><script></script><source srcset=x><img src=x alt></picture> <!-- script-first -->
+<img srcset='x 1.5e0x' src=x alt> <!-- srcset-microsyntax-scientific-notation-decimals-x -->
+<picture><source srcset=x><img src=x alt><script></script></picture> <!-- script-after -->
+<table><tr><td><picture><img src=x alt></picture></table> <!-- parent-td -->
+<picture><source srcset=x><img src=x alt></picture> <!-- basic-picture-source -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-longdesc-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-longdesc-novalid.html
new file mode 100644
index 000000000..86d779313
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-longdesc-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-longdesc</title>
+<picture longdesc=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-lowsrc-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-lowsrc-novalid.html
new file mode 100644
index 000000000..00361b00f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-lowsrc-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-lowsrc</title>
+<picture lowsrc=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-media-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-media-novalid.html
new file mode 100644
index 000000000..e81f5e9ef
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-media-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-media</title>
+<picture media=screen><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-name-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-name-novalid.html
new file mode 100644
index 000000000..d8867a1b2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-name-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-name</title>
+<picture name=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-sizes-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-sizes-novalid.html
new file mode 100644
index 000000000..8064a3d26
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-sizes-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-sizes</title>
+<picture sizes=50vw><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-src-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-src-novalid.html
new file mode 100644
index 000000000..b5e6e30e8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-src-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-src</title>
+<picture src=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-srcset-novalid.html
new file mode 100644
index 000000000..1f3703e50
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-srcset</title>
+<picture srcset=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-usemap-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-usemap-novalid.html
new file mode 100644
index 000000000..1def698f1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-usemap-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-usemap</title>
+<picture usemap><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-vspace-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-vspace-novalid.html
new file mode 100644
index 000000000..fc62cd514
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-vspace-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-vspace</title>
+<picture vspace=1><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-width-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-width-novalid.html
new file mode 100644
index 000000000..1fa63afa0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/picture-width-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid picture-width</title>
+<picture width=100><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-auto-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-auto-source-size-value-novalid.html
new file mode 100644
index 000000000..734ed4a8c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-auto-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-auto-source-size-value</title>
+<img sizes='auto' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-comma-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-comma-novalid.html
new file mode 100644
index 000000000..06b83dc4a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-comma-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-comma</title>
+<img sizes=',' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-css-comment-after-plus-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-css-comment-after-plus-novalid.html
new file mode 100644
index 000000000..c3e04ca6b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-css-comment-after-plus-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-css-comment-after-plus</title>
+<img sizes='+/**/50vw' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-css-comment-before-unit-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-css-comment-before-unit-novalid.html
new file mode 100644
index 000000000..3d0ad297d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-css-comment-before-unit-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-css-comment-before-unit</title>
+<img sizes='50/**/vw' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-default-first-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-default-first-novalid.html
new file mode 100644
index 000000000..c5331b0d4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-default-first-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-default-first</title>
+<img sizes='100vw, (min-width:500px) 500px' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-default-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-default-source-size-value-novalid.html
new file mode 100644
index 000000000..2f70de718
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-default-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-default-source-size-value</title>
+<img sizes='default' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-deg-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-deg-source-size-value-novalid.html
new file mode 100644
index 000000000..d0e608b95
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-deg-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-deg-source-size-value</title>
+<img sizes='1deg' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dpcm-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dpcm-source-size-value-novalid.html
new file mode 100644
index 000000000..c8b8b7a2d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dpcm-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-dpcm-source-size-value</title>
+<img sizes='1dpcm' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dpi-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dpi-source-size-value-novalid.html
new file mode 100644
index 000000000..95160c139
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dpi-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-dpi-source-size-value</title>
+<img sizes='1dpi' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dppx-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dppx-source-size-value-novalid.html
new file mode 100644
index 000000000..778f6b49b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-dppx-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-dppx-source-size-value</title>
+<img sizes='1dppx' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-empty-novalid.html
new file mode 100644
index 000000000..be232a5cd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-empty</title>
+<img sizes='' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-foo-bar-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-foo-bar-source-size-value-novalid.html
new file mode 100644
index 000000000..7e969dafc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-foo-bar-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-foo-bar-source-size-value</title>
+<img sizes='foo-bar' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-grad-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-grad-source-size-value-novalid.html
new file mode 100644
index 000000000..506ebf561
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-grad-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-grad-source-size-value</title>
+<img sizes='1grad' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-hz-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-hz-source-size-value-novalid.html
new file mode 100644
index 000000000..bc4e21c3f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-hz-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-hz-source-size-value</title>
+<img sizes='1Hz' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-inherit-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-inherit-source-size-value-novalid.html
new file mode 100644
index 000000000..c232648dc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-inherit-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-inherit-source-size-value</title>
+<img sizes='inherit' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-initial-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-initial-source-size-value-novalid.html
new file mode 100644
index 000000000..b70a543de
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-initial-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-initial-source-size-value</title>
+<img sizes='initial' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-junk-in-default-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-junk-in-default-novalid.html
new file mode 100644
index 000000000..1121b5669
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-junk-in-default-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-junk-in-default</title>
+<img sizes='(min-width:500px) 500px, 100vw foo bar' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-junk-in-source-size-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-junk-in-source-size-novalid.html
new file mode 100644
index 000000000..1fc7cffec
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-junk-in-source-size-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-junk-in-source-size</title>
+<img sizes='(min-width:500px) 500px foo bar, 100vw' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-khz-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-khz-source-size-value-novalid.html
new file mode 100644
index 000000000..039da34cf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-khz-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-khz-source-size-value</title>
+<img sizes='1kHz' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-all-and-min-width-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-all-and-min-width-novalid.html
new file mode 100644
index 000000000..1ac0cf6e3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-all-and-min-width-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-media-all-and-min-width</title>
+<img sizes='all and (min-width:500px) 500px, 100vw' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-all-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-all-novalid.html
new file mode 100644
index 000000000..453ba8ac9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-all-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-media-all</title>
+<img sizes='all 500px, 100vw' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-bad-junk-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-bad-junk-novalid.html
new file mode 100644
index 000000000..27fc624ac
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-bad-junk-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-media-bad-junk</title>
+<img sizes='(}) 500px, 100vw' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-general-enclosed-junk-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-general-enclosed-junk-novalid.html
new file mode 100644
index 000000000..b8b8f8e99
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-general-enclosed-junk-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-media-general-enclosed-junk</title>
+<img sizes='(123) 500px, 100vw' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-min-width-no-parenthesis-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-min-width-no-parenthesis-novalid.html
new file mode 100644
index 000000000..b442eeddc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-media-min-width-no-parenthesis-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-media-min-width-no-parenthesis</title>
+<img sizes='min-width:500px 500px, 100vw' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-ms-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-ms-source-size-value-novalid.html
new file mode 100644
index 000000000..4fa0acf7c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-ms-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-ms-source-size-value</title>
+<img sizes='1ms' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-negative-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-negative-source-size-value-novalid.html
new file mode 100644
index 000000000..0ac929a81
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-negative-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-negative-source-size-value</title>
+<img sizes='-1px' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-no-unit-in-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-no-unit-in-source-size-value-novalid.html
new file mode 100644
index 000000000..6c0186269
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-no-unit-in-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-no-unit-in-source-size-value</title>
+<img sizes='(min-width:500px) 50, 100vw' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-percent-in-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-percent-in-source-size-value-novalid.html
new file mode 100644
index 000000000..2864631e0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-percent-in-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-percent-in-source-size-value</title>
+<img sizes='(min-width:500px) 50%, 100vw' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-rad-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-rad-source-size-value-novalid.html
new file mode 100644
index 000000000..ec98f9d34
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-rad-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-rad-source-size-value</title>
+<img sizes='1rad' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-s-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-s-source-size-value-novalid.html
new file mode 100644
index 000000000..a85f14d91
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-s-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-s-source-size-value</title>
+<img sizes='1s' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-scientific-notation-negative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-scientific-notation-negative-novalid.html
new file mode 100644
index 000000000..8a4d9c668
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-scientific-notation-negative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-scientific-notation-negative</title>
+<img sizes='-1e+0px' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-scientific-notation-non-integer-in-exponent-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-scientific-notation-non-integer-in-exponent-novalid.html
new file mode 100644
index 000000000..08db943cd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-scientific-notation-non-integer-in-exponent-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-scientific-notation-non-integer-in-exponent</title>
+<img sizes='1e+1.5px' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-trailing-comma-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-trailing-comma-novalid.html
new file mode 100644
index 000000000..8a6a80937
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-trailing-comma-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-trailing-comma</title>
+<img sizes='(min-width:500px) 500px, 100vw,' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-trailing-junk-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-trailing-junk-novalid.html
new file mode 100644
index 000000000..d987fecfc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-trailing-junk-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-trailing-junk</title>
+<img sizes='(min-width:500px) 500px, 100vw, foo bar' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-turn-source-size-value-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-turn-source-size-value-novalid.html
new file mode 100644
index 000000000..6edfd39c8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-turn-source-size-value-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-turn-source-size-value</title>
+<img sizes='1turn' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-two-defaults-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-two-defaults-novalid.html
new file mode 100644
index 000000000..ee6ce9f63
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/sizes-microsyntax-two-defaults-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid sizes-microsyntax-two-defaults</title>
+<img sizes='500px, 100vw' srcset='x 100w, y 200w' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-after-img-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-after-img-novalid.html
new file mode 100644
index 000000000..3a209dc59
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-after-img-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-after-img</title>
+<picture><img src=x alt><source srcset=x></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-align-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-align-novalid.html
new file mode 100644
index 000000000..e1584674f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-align-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-align</title>
+<picture><source srcset=x align=left><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-alt-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-alt-novalid.html
new file mode 100644
index 000000000..0bd6646f0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-alt-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-alt</title>
+<picture><source srcset=x alt><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-aria-role-img-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-aria-role-img-novalid.html
new file mode 100644
index 000000000..6f8d130aa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-aria-role-img-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-aria-role-img</title>
+<picture><source role=img srcset=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-aria-role-presentation-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-aria-role-presentation-novalid.html
new file mode 100644
index 000000000..b0fcbc05e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-aria-role-presentation-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-aria-role-presentation</title>
+<picture><source role=presentation srcset=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-before-and-after-img-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-before-and-after-img-novalid.html
new file mode 100644
index 000000000..3e083105b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-before-and-after-img-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-before-and-after-img</title>
+<picture><source srcset=x><img src=x alt><source srcset=x></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-border-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-border-novalid.html
new file mode 100644
index 000000000..fa746a81d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-border-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-border</title>
+<picture><source srcset=x border=1><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-crossorigin-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-crossorigin-novalid.html
new file mode 100644
index 000000000..a4ebb7ecb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-crossorigin-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-crossorigin</title>
+<picture><source srcset=x crossorigin><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-height-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-height-novalid.html
new file mode 100644
index 000000000..2eeb15934
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-height-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-height</title>
+<picture><source srcset=x height=100><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-hspace-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-hspace-novalid.html
new file mode 100644
index 000000000..a6e717357
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-hspace-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-hspace</title>
+<picture><source srcset=x hspace=1><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-ismap-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-ismap-novalid.html
new file mode 100644
index 000000000..2c02869e3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-ismap-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-ismap</title>
+<picture><source srcset=x ismap><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-longdesc-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-longdesc-novalid.html
new file mode 100644
index 000000000..c523ef210
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-longdesc-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-longdesc</title>
+<picture><source srcset=x longdesc=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-name-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-name-novalid.html
new file mode 100644
index 000000000..dab3247e7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-name-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-name</title>
+<picture><source srcset=x crossorigin><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-no-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-no-srcset-novalid.html
new file mode 100644
index 000000000..acb6eab05
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-no-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-no-srcset</title>
+<picture><source><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-no-srcset-with-media-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-no-srcset-with-media-novalid.html
new file mode 100644
index 000000000..a7625f755
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-no-srcset-with-media-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-no-srcset-with-media</title>
+<picture><source media=screen><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-no-srcset-with-sizes-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-no-srcset-with-sizes-novalid.html
new file mode 100644
index 000000000..517c67054
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-no-srcset-with-sizes-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-no-srcset-with-sizes</title>
+<picture><source sizes=50vw><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-no-srcset-with-type-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-no-srcset-with-type-novalid.html
new file mode 100644
index 000000000..510c7eed6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-no-srcset-with-type-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-no-srcset-with-type</title>
+<picture><source type='image/webp'><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-src-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-src-novalid.html
new file mode 100644
index 000000000..a5eff2b70
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-src-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-src</title>
+<picture><source src=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-src-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-src-srcset-novalid.html
new file mode 100644
index 000000000..80714cb86
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-src-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-src-srcset</title>
+<picture><source src=x srcset=x><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-srcset-h-with-sizes-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-srcset-h-with-sizes-novalid.html
new file mode 100644
index 000000000..5da6331e5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-srcset-h-with-sizes-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-srcset-h-with-sizes</title>
+<picture><source srcset='x 100h, y 200h' sizes=50vw><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-srcset-w-and-x-with-sizes-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-srcset-w-and-x-with-sizes-novalid.html
new file mode 100644
index 000000000..cf6603ea8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-srcset-w-and-x-with-sizes-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-srcset-w-and-x-with-sizes</title>
+<picture><source srcset='x 100w, y 2x' sizes=50vw><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-srcset-w-no-sizes-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-srcset-w-no-sizes-novalid.html
new file mode 100644
index 000000000..0375c5415
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-srcset-w-no-sizes-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-srcset-w-no-sizes</title>
+<picture><source srcset='x 100w, y 200w'><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-srcset-x-with-sizes-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-srcset-x-with-sizes-novalid.html
new file mode 100644
index 000000000..a8efda291
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-srcset-x-with-sizes-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-srcset-x-with-sizes</title>
+<picture><source srcset='x 1x, y 2x' sizes=50vw><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-type-srcset-w-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-type-srcset-w-novalid.html
new file mode 100644
index 000000000..a9ccaa312
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-type-srcset-w-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-type-srcset-w</title>
+<picture><source srcset='x 100w, y 200w' type=image/gif><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-usemap-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-usemap-novalid.html
new file mode 100644
index 000000000..603bb472d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-usemap-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-usemap</title>
+<picture><source srcset=x usemap><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-vspace-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-vspace-novalid.html
new file mode 100644
index 000000000..2e26c73ce
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-vspace-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-vspace</title>
+<picture><source srcset=x vspace=1><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-width-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-width-novalid.html
new file mode 100644
index 000000000..1649b791b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/source-width-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid source-width</title>
+<picture><source srcset=x width=100><img src=x alt></picture> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-broken-url-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-broken-url-novalid.html
new file mode 100644
index 000000000..82388ab51
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-broken-url-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-broken-url</title>
+<img srcset='http: 1x' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-comma-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-comma-novalid.html
new file mode 100644
index 000000000..ff3667484
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-comma-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-comma</title>
+<img srcset=',' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-css-comment-after-descriptor-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-css-comment-after-descriptor-novalid.html
new file mode 100644
index 000000000..758c3551c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-css-comment-after-descriptor-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-css-comment-after-descriptor</title>
+<img srcset='x 2x/**/' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-curly-bracket-junk-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-curly-bracket-junk-novalid.html
new file mode 100644
index 000000000..346f16088
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-curly-bracket-junk-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-curly-bracket-junk</title>
+<img srcset='x {, y 1x' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-empty-novalid.html
new file mode 100644
index 000000000..ad8a12a3a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-empty</title>
+<img srcset='' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-function-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-function-novalid.html
new file mode 100644
index 000000000..499a14752
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-function-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-function</title>
+<img srcset='x foobar(baz quux, lol), y 1x' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-h-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-h-novalid.html
new file mode 100644
index 000000000..3c381e04e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-h-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-h</title>
+<img srcset='x 1h' sizes=100vw src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-infinity-x-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-infinity-x-novalid.html
new file mode 100644
index 000000000..51aba7b29
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-infinity-x-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-infinity-x</title>
+<img srcset='x Infinityx' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-comma-multiple-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-comma-multiple-novalid.html
new file mode 100644
index 000000000..c715e0e35
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-comma-multiple-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-leading-comma-multiple</title>
+<img srcset=',,,x' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-comma-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-comma-novalid.html
new file mode 100644
index 000000000..ad1389437
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-comma-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-leading-comma</title>
+<img srcset=',x' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-dot-x-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-dot-x-novalid.html
new file mode 100644
index 000000000..3a9da140b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-leading-dot-x-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-leading-dot-x</title>
+<img srcset='x .5x' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-nan-x-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-nan-x-novalid.html
new file mode 100644
index 000000000..da7d829df
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-nan-x-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-nan-x</title>
+<img srcset='x NaNx' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-w-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-w-novalid.html
new file mode 100644
index 000000000..0e61668fd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-w-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-negative-w</title>
+<img srcset='x -1w' sizes=100vw src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-x-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-x-novalid.html
new file mode 100644
index 000000000..08e5fb70a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-x-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-negative-x</title>
+<img srcset='x -1x' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-zero-w-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-zero-w-novalid.html
new file mode 100644
index 000000000..ebc5d346a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-zero-w-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-negative-zero-w</title>
+<img srcset='x -0w' sizes=100vw src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-zero-x-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-zero-x-novalid.html
new file mode 100644
index 000000000..d1260c027
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-negative-zero-x-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-negative-zero-x</title>
+<img srcset='x -0x' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-non-integer-w-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-non-integer-w-novalid.html
new file mode 100644
index 000000000..05554d8ee
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-non-integer-w-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-non-integer-w</title>
+<img srcset='x 1.5w' sizes=100vw src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-parenthesis-junk-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-parenthesis-junk-novalid.html
new file mode 100644
index 000000000..1459e1610
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-parenthesis-junk-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-parenthesis-junk</title>
+<img srcset='x ><(((((o)>, y 1x' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-pipe-junk-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-pipe-junk-novalid.html
new file mode 100644
index 000000000..7c1ee3a04
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-pipe-junk-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-pipe-junk</title>
+<img srcset='x ||, y 1x' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-plus-w-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-plus-w-novalid.html
new file mode 100644
index 000000000..c452c9173
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-plus-w-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-plus-w</title>
+<img srcset='x +1w' sizes=100vw src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-plus-x-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-plus-x-novalid.html
new file mode 100644
index 000000000..7c285635d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-plus-x-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-plus-x</title>
+<img srcset='x +1x' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-scientific-notation-w-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-scientific-notation-w-novalid.html
new file mode 100644
index 000000000..b1be35753
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-scientific-notation-w-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-scientific-notation-w</title>
+<img srcset='x 1e0w' sizes=100vw src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-square-bracket-junk-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-square-bracket-junk-novalid.html
new file mode 100644
index 000000000..effc93796
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-square-bracket-junk-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-square-bracket-junk</title>
+<img srcset='x [, y 1x' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-trailing-comma-multiple-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-trailing-comma-multiple-novalid.html
new file mode 100644
index 000000000..869af64fa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-trailing-comma-multiple-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-trailing-comma-multiple</title>
+<img srcset='x,,,' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-trailing-comma-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-trailing-comma-novalid.html
new file mode 100644
index 000000000..9250e468d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-trailing-comma-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-trailing-comma</title>
+<img srcset='x,' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-1x-and-omitted-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-1x-and-omitted-novalid.html
new file mode 100644
index 000000000..72bc68e07
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-1x-and-omitted-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-unique-descriptors-1x-and-omitted</title>
+<img srcset='x 1x, y' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-2x-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-2x-novalid.html
new file mode 100644
index 000000000..9ab38cd24
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-2x-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-unique-descriptors-2x</title>
+<img srcset='x 2x, y 2x' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-integer-and-decimals-x-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-integer-and-decimals-x-novalid.html
new file mode 100644
index 000000000..76d6eeccf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-integer-and-decimals-x-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-unique-descriptors-integer-and-decimals-x</title>
+<img srcset='x 1x, y 1.0x' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-w-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-w-novalid.html
new file mode 100644
index 000000000..d5c8fdab1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-unique-descriptors-w-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-unique-descriptors-w</title>
+<img srcset='x 1w, y 1w' sizes=100vw src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-uppercase-w-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-uppercase-w-novalid.html
new file mode 100644
index 000000000..51601192f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-uppercase-w-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-uppercase-w</title>
+<img srcset='x 1W' sizes=100vw src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-w-and-h-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-w-and-h-novalid.html
new file mode 100644
index 000000000..84ef6ae2b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-w-and-h-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-w-and-h</title>
+<img srcset='x 1w 1h' sizes=100vw src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-w-and-no-descriptor-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-w-and-no-descriptor-novalid.html
new file mode 100644
index 000000000..78c44834e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-w-and-no-descriptor-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-w-and-no-descriptor</title>
+<img srcset='x 1w, y' sizes=100vw src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-x-and-h-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-x-and-h-novalid.html
new file mode 100644
index 000000000..4c26cfaf3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-x-and-h-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-x-and-h</title>
+<img srcset='x 1x 1h' sizes=100vw src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-x-and-w-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-x-and-w-novalid.html
new file mode 100644
index 000000000..3c0cd89b9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-x-and-w-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-x-and-w</title>
+<img srcset='x 1x 1w' sizes=100vw src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-zero-w-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-zero-w-novalid.html
new file mode 100644
index 000000000..908343f81
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-zero-w-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-zero-w</title>
+<img srcset='x 0w' sizes=100vw src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-zero-x-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-zero-x-novalid.html
new file mode 100644
index 000000000..fbf7e98e6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/srcset-microsyntax-zero-x-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid srcset-microsyntax-zero-x</title>
+<img srcset='x 0x' src=x alt> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/svg-image-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/svg-image-srcset-novalid.html
new file mode 100644
index 000000000..22950c23e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/svg-image-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid svg-image-srcset</title>
+<svg><image xlink:href=x srcset=x width=1 height=1 /></svg> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/track-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/track-srcset-novalid.html
new file mode 100644
index 000000000..99dd22be0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/track-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid track-srcset</title>
+<video src=x><track src=x srcset=x></video> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/video-source-media-src-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/video-source-media-src-novalid.html
new file mode 100644
index 000000000..f065a12f4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/video-source-media-src-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid video-source-media-src</title>
+<video><source media=screen src=x></video> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/video-source-sizes-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/video-source-sizes-srcset-novalid.html
new file mode 100644
index 000000000..a20fd2db6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/video-source-sizes-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid video-source-sizes-srcset</title>
+<video><source sizes=50vw srcset='x 100w'></video> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/video-source-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/video-source-srcset-novalid.html
new file mode 100644
index 000000000..bde4a64b8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/video-source-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid video-source-srcset</title>
+<video><source srcset=x></video> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/video-source-srcset-src-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/video-source-srcset-src-novalid.html
new file mode 100644
index 000000000..f7bf48446
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/video-source-srcset-src-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid video-source-srcset-src</title>
+<video><source srcset=x src=x></video> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/picture/video-srcset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/picture/video-srcset-novalid.html
new file mode 100644
index 000000000..211504486
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/picture/video-srcset-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid video-srcset</title>
+<video src=x srcset=x></video> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/pre/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/pre/model-isvalid.html
new file mode 100644
index 000000000..99d1a75be
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/pre/model-isvalid.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;pre&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <pre class="class" id="id" lang="en">text</pre>
+
+ <!-- can contain interactive -->
+ <pre><a>text</a></pre>
+
+ <!-- can contain strictly inline -->
+ <pre>text <em>elem</em></pre>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/pre/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/pre/model-novalid.html
new file mode 100644
index 000000000..384386c2b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/pre/model-novalid.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;pre&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <pre class="class" id="id" lang="en">text</pre>
+
+ <!-- is structured inline -->
+ <p>paragraph
+ <pre>text</pre>
+ </p>
+
+ <!-- can contain interactive -->
+ <pre><a>text</a></pre>
+ <!-- but not struct-inline -->
+ <p>paragraph
+ <pre><a>text</a></pre>
+ </p>
+
+ <!-- can contain strictly inline -->
+ <pre>text <em>elem</em></pre>
+</body>
+</html>
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 000000000..1621184c7
--- /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 000000000..0f4f7391f
--- /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="file:///"></q><!-- scheme-file-slash-slash-slash-only -->
+<q cite="http://a:@www.example.com"></q><!-- userinfo-password-empty -->
+<q cite="foo://///////"></q><!-- scheme-private-path-leading-slashes-only -->
+<q cite="file://abc|/foo/bar"></q><!-- scheme-file-slash-slash-abc-bar -->
+<q cite="/a/b/c"></q><!-- path-simple-relative -->
+<q cite="http://example.com/你好你好"></q><!-- path-unicode-han -->
+<q cite="/a/%2f/c"></q><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<q cite="http://f:/c"></q><!-- port-none-but-colon -->
+<q cite="http://example.com/foo%41%7a"></q><!-- path-percent-encoded-multiple -->
+<q cite="http://192.168.0.257/"></q><!-- host-IP-address-broken -->
+<q cite="madeupscheme:example.com/"></q><!-- scheme-private-no-slash -->
+<q cite="?"></q><!-- query-empty-no-path-relative -->
+<q cite="http://example.com/%20foo"></q><!-- path-percent-encoded-space -->
+<q cite="mailto:/example.com/"></q><!-- scheme-mailto-single-slash -->
+<q cite="::"></q><!-- path-leading-colon-colon-relative -->
+<q cite="http://example.com/%3A%3a%3C%3c"></q><!-- path-percent-encoded-mixed-case -->
+<q cite="http://user:pass@foo:21/bar;par?b#c"></q><!-- userinfo -->
+<q cite="ws:/example.com/"></q><!-- scheme-ws-single-slash -->
+<q cite="foo://"></q><!-- scheme-private-slash-slash -->
+<q cite="#"></q><!-- fragment-empty-hash-only-no-path-relative -->
+<q cite="http://f:00000000000000/c"></q><!-- port-00000000000000 -->
+<q cite="foo:////://///"></q><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<q cite=":23"></q><!-- path-leading-colon-number-relative -->
+<q cite="foo:/"></q><!-- scheme-private-slash -->
+<q cite="http://💩"></q><!-- host-is-pile-of-poo -->
+<q cite="file:test"></q><!-- scheme-file-no-slash -->
+<q cite="file://C|/foo/bar"></q><!-- scheme-file-slash-slash-c-bar -->
+<q cite="#/"></q><!-- fragment-slash-relative -->
+<q cite="http://192.0x00A80001"></q><!-- host-192.0x00A80001 -->
+<q cite="foo.com"></q><!-- scheme-none-relative -->
+<q cite="http💩//:foo"></q><!-- path-contains-pile-of-poo -->
+<q cite="File://foo/bar.html"></q><!-- scheme-file-uppercase -->
+<q cite=":/"></q><!-- path-leading-colon-slash-relative -->
+<q cite="http://www.foo。bar.com"></q><!-- host-exotic-dot -->
+<q cite="http://GOO​⁠goo.com"></q><!-- host-exotic-whitespace -->
+<q cite="file:///foo/bar.txt"></q><!-- scheme-file-host-empty -->
+<q cite="javascript:/example.com/"></q><!-- scheme-javascript-single-slash -->
+<q cite="gopher:/example.com/"></q><!-- scheme-gopher-single-slash -->
+<q cite="ftps:example.com/"></q><!-- scheme-ftps-no-slash -->
+<q cite="file://server/foo/bar"></q><!-- scheme-file-host-included -->
+<q cite="http://example.com/foo%00"></q><!-- path-percent-encoded-u0000 -->
+<q cite="a:foo.com"></q><!-- scheme-private -->
+<q cite=":"></q><!-- path-colon-relative -->
+<q cite="http://:b@www.example.com"></q><!-- userinfo-user-empty -->
+<q cite="file:/"></q><!-- scheme-file-slash-only -->
+<q cite="wss:example.com/"></q><!-- scheme-wss-no-slash -->
+<q cite="::23"></q><!-- path-colon-colon-number-relative -->
+<q cite="/a%2fc"></q><!-- path-percent-encoded-slash-relative -->
+<q cite="http://a:b@c:29/d"></q><!-- userinfo-host-port-path -->
+<q cite="gopher:example.com/"></q><!-- scheme-gopher-no-slash -->
+<q cite="madeupscheme:/example.com/"></q><!-- scheme-private-single-slash -->
+<q cite="mailto:example.com/"></q><!-- scheme-mailto-no-slash -->
+<q cite="http://%25DOMAIN:foobar@foodomain.com"></q><!-- userinfo-username-contains-percent-encoded -->
+<q cite="/:23"></q><!-- path-slash-colon-number-relative -->
+<q cite="foo://///////bar.com/"></q><!-- scheme-private-path-leading-slashes-chars -->
+<q cite="http://[2001::1]:80"></q><!-- host-ipv6-port -->
+<q cite="data:text/plain,foo"></q><!-- scheme-data-no-slash -->
+<q cite="http://example.com/foo/%2e"></q><!-- path-percent-encoded-dot -->
+<q cite="file:/example.com/"></q><!-- scheme-file-single-slash -->
+<q cite="http://example.com/©zbar"></q><!-- path-non-ascii -->
+<q cite="http://example.com//foo"></q><!-- path-uFEFF -->
+<q cite="wss:/example.com/"></q><!-- scheme-wss-single-slash -->
+<q cite="http://foo/abcd#foo?bar"></q><!-- fragment-contains-question-mark -->
+<q cite=":#"></q><!-- path-leading-colon-hash-relative -->
+<q cite="http://example.com/foo%91"></q><!-- path-percent-encoded-u0091 -->
+<q cite="c:/foo"></q><!-- scheme-private-single-letter -->
+<q cite=":foo.com"></q><!-- path-leading-colon-chars-relative -->
+<q cite="http://你好你好"></q><!-- host-idn-unicode-han -->
+<q cite="http://example.com/foo#💩"></q><!-- fragment-contains-pile-of-poo -->
+<q cite="file:"></q><!-- scheme-file-scheme-only -->
+<q cite="#β"></q><!-- fragment-non-ascii-relative -->
+<q cite="foo:/bar.com/"></q><!-- scheme-private-path -->
+<q cite="http://f:0/c"></q><!-- port-0 -->
+<q cite="#;?"></q><!-- fragment-semicolon-question-mark-relative -->
+<q cite="http://Go.com"></q><!-- host-fullwidth -->
+<q cite="http://@www.example.com"></q><!-- userinfo-empty -->
+<q cite="http://example.com/‮/foo/‭/bar"></q><!-- path-u202E-u202D -->
+<q cite="http://[2001::1]"></q><!-- host-ipv6 -->
+<q cite="💩http://foo"></q><!-- path-starts-with-pile-of-poo -->
+<q cite="http://foo/abcd?efgh?ijkl"></q><!-- query-contains-question-mark -->
+<q cite="//foo/bar"></q><!-- scheme-schemeless-relative -->
+<q cite="ftps:/example.com/"></q><!-- scheme-ftps-single-slash -->
+<q cite="http://foo.com:b@d/"></q><!-- userinfo-username-non-alpha -->
+<q cite=":a"></q><!-- path-leading-colon-letter-relative -->
+<q cite="/"></q><!-- path-slash-only-relative -->
+<q cite="http://example.com/foo?💩"></q><!-- query-contains-pile-of-poo -->
+<q cite="http://f:00000000000000000000080/c"></q><!-- port-00000000000000000000080 -->
+<q cite="file://"></q><!-- scheme-file-slash-slash-only -->
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 000000000..6c7cc1394
--- /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 000000000..7a7af4f65
--- /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 000000000..25b1122c3
--- /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 000000000..cf065e28c
--- /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 000000000..1c89424f3
--- /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 000000000..30cdf591d
--- /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 000000000..59318111b
--- /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 000000000..2bc854d87
--- /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 000000000..e495b8067
--- /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 000000000..49dfc87da
--- /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 000000000..02e4b63d0
--- /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 000000000..d9ac64ee4
--- /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 000000000..081c966eb
--- /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 000000000..f12f66167
--- /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 000000000..cdf2f79cb
--- /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 000000000..479577b08
--- /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 000000000..1ef717a06
--- /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 000000000..ab08fdf8d
--- /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 000000000..0751ebd03
--- /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 000000000..c262da55d
--- /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 000000000..67bb53f45
--- /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 000000000..2210cde73
--- /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 000000000..96cedcfc0
--- /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 000000000..3339c6f74
--- /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 000000000..d186e987c
--- /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 000000000..1e7b9025f
--- /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 000000000..636733d65
--- /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 000000000..9526b3d3d
--- /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 000000000..93340436a
--- /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 000000000..2f0ddf315
--- /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 000000000..976e030aa
--- /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 000000000..0d2cdef26
--- /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 000000000..0edae205d
--- /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 000000000..7e0ae9e73
--- /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 000000000..32c1e93b1
--- /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 000000000..3b79fcda4
--- /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 000000000..47a7fb952
--- /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 000000000..4e88d6483
--- /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 000000000..f2cf428fc
--- /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 000000000..2b1713d25
--- /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 000000000..7dd56090b
--- /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 000000000..6c0e8e9d4
--- /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 000000000..35713a0cd
--- /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 000000000..9fd2264d3
--- /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 000000000..fa4d6b9af
--- /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-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 000000000..17355d969
--- /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 000000000..b842e1a18
--- /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 000000000..8bdafa6b8
--- /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 000000000..78bc52645
--- /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 000000000..60a6b9b97
--- /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 000000000..edf9a5d7f
--- /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 000000000..6858419ba
--- /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 000000000..fb470d393
--- /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 000000000..78ebcaf57
--- /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 000000000..77e41fdaf
--- /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-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..a142b0040
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/q/cite/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid cite: scheme-javascript-no-slash-malformed</title>
+<q cite="javascript: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 000000000..885454d64
--- /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 000000000..7d637e10e
--- /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 000000000..37ca55f73
--- /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 000000000..a38c794de
--- /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 000000000..f83002c23
--- /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 000000000..8992b5115
--- /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 000000000..aed0a8604
--- /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 000000000..d78aaab34
--- /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 000000000..2aa14ab99
--- /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 000000000..c8d807374
--- /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 000000000..c742f757f
--- /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>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ruby/empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ruby/empty-novalid.html
new file mode 100644
index 000000000..8ce4ec421
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ruby/empty-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta charset=utf-8>
+<title>ruby element missing rt child</title>
+</head>
+<body>
+<ruby></ruby>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ruby/missing-rt-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ruby/missing-rt-novalid.html
new file mode 100644
index 000000000..0f8d363df
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ruby/missing-rt-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta charset=utf-8>
+<title>ruby element missing rt child</title>
+</head>
+<body>
+<ruby><rt></rt><rp></rp><rp></rp></ruby>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/s/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/s/model-isvalid.html
new file mode 100644
index 000000000..16474321a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/s/model-isvalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>the "s" element is not obsolete</title>
+<meta charset=utf-8>
+</head>
+<body>
+<s>baz</s>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/samp/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/samp/model-isvalid.html
new file mode 100644
index 000000000..4049a9569
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/samp/model-isvalid.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;samp&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><samp class="class" lang="en">text</samp></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><samp class="class" lang="en">text</samp></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <samp></samp></p>
+ <p>text <dfn><samp></samp></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><samp><a>text</a></samp></p>
+ <p><dfn><samp><a>text</a></samp></dfn></p>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/samp/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/samp/model-novalid.html
new file mode 100644
index 000000000..27d469d7a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/samp/model-novalid.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;samp&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><samp class="class" lang="en">text</samp></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><samp class="class" lang="en">text</samp></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <samp></samp></p>
+ <p>text <dfn><samp></samp></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><samp><a>text</a></samp></p>
+ <p><dfn><samp><a>text</a></samp></dfn></p>
+
+ <!-- cannot contain structured inline -->
+ <p><samp>text <ul><li>list</li></ul> <em>elem</em></samp></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/language-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/language-novalid.html
new file mode 100644
index 000000000..3ac19056a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/language-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>the "language" attribute is obsolete</title>
+<meta charset=utf-8>
+</head>
+<body>
+<script language=vbscript src=url></script>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src-empty-novalid.html
new file mode 100644
index 000000000..ebf2dca0a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<script src=""></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src-isvalid.html
new file mode 100644
index 000000000..752e2d266
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid src</title>
+<script src="file:///"></script><!-- scheme-file-slash-slash-slash-only -->
+<script src="http://a:@www.example.com"></script><!-- userinfo-password-empty -->
+<script src="foo://///////"></script><!-- scheme-private-path-leading-slashes-only -->
+<script src="file://abc|/foo/bar"></script><!-- scheme-file-slash-slash-abc-bar -->
+<script src="/a/b/c"></script><!-- path-simple-relative -->
+<script src="http://example.com/你好你好"></script><!-- path-unicode-han -->
+<script src="/a/%2f/c"></script><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<script src="http://f:/c"></script><!-- port-none-but-colon -->
+<script src="http://example.com/foo%41%7a"></script><!-- path-percent-encoded-multiple -->
+<script src="http://192.168.0.257/"></script><!-- host-IP-address-broken -->
+<script src="madeupscheme:example.com/"></script><!-- scheme-private-no-slash -->
+<script src="?"></script><!-- query-empty-no-path-relative -->
+<script src="http://example.com/%20foo"></script><!-- path-percent-encoded-space -->
+<script src="mailto:/example.com/"></script><!-- scheme-mailto-single-slash -->
+<script src="::"></script><!-- path-leading-colon-colon-relative -->
+<script src="http://example.com/%3A%3a%3C%3c"></script><!-- path-percent-encoded-mixed-case -->
+<script src="http://user:pass@foo:21/bar;par?b#c"></script><!-- userinfo -->
+<script src="ws:/example.com/"></script><!-- scheme-ws-single-slash -->
+<script src="foo://"></script><!-- scheme-private-slash-slash -->
+<script src="#"></script><!-- fragment-empty-hash-only-no-path-relative -->
+<script src="http://f:00000000000000/c"></script><!-- port-00000000000000 -->
+<script src="foo:////://///"></script><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<script src=":23"></script><!-- path-leading-colon-number-relative -->
+<script src="foo:/"></script><!-- scheme-private-slash -->
+<script src="http://💩"></script><!-- host-is-pile-of-poo -->
+<script src="file:test"></script><!-- scheme-file-no-slash -->
+<script src="file://C|/foo/bar"></script><!-- scheme-file-slash-slash-c-bar -->
+<script src="#/"></script><!-- fragment-slash-relative -->
+<script src="http://192.0x00A80001"></script><!-- host-192.0x00A80001 -->
+<script src="foo.com"></script><!-- scheme-none-relative -->
+<script src="http💩//:foo"></script><!-- path-contains-pile-of-poo -->
+<script src="File://foo/bar.html"></script><!-- scheme-file-uppercase -->
+<script src=":/"></script><!-- path-leading-colon-slash-relative -->
+<script src="http://www.foo。bar.com"></script><!-- host-exotic-dot -->
+<script src="http://GOO​⁠goo.com"></script><!-- host-exotic-whitespace -->
+<script src="file:///foo/bar.txt"></script><!-- scheme-file-host-empty -->
+<script src="javascript:/example.com/"></script><!-- scheme-javascript-single-slash -->
+<script src="gopher:/example.com/"></script><!-- scheme-gopher-single-slash -->
+<script src="ftps:example.com/"></script><!-- scheme-ftps-no-slash -->
+<script src="file://server/foo/bar"></script><!-- scheme-file-host-included -->
+<script src="http://example.com/foo%00"></script><!-- path-percent-encoded-u0000 -->
+<script src="a:foo.com"></script><!-- scheme-private -->
+<script src=":"></script><!-- path-colon-relative -->
+<script src="http://:b@www.example.com"></script><!-- userinfo-user-empty -->
+<script src="file:/"></script><!-- scheme-file-slash-only -->
+<script src="wss:example.com/"></script><!-- scheme-wss-no-slash -->
+<script src="::23"></script><!-- path-colon-colon-number-relative -->
+<script src="/a%2fc"></script><!-- path-percent-encoded-slash-relative -->
+<script src="http://a:b@c:29/d"></script><!-- userinfo-host-port-path -->
+<script src="gopher:example.com/"></script><!-- scheme-gopher-no-slash -->
+<script src="madeupscheme:/example.com/"></script><!-- scheme-private-single-slash -->
+<script src="mailto:example.com/"></script><!-- scheme-mailto-no-slash -->
+<script src="http://%25DOMAIN:foobar@foodomain.com"></script><!-- userinfo-username-contains-percent-encoded -->
+<script src="/:23"></script><!-- path-slash-colon-number-relative -->
+<script src="foo://///////bar.com/"></script><!-- scheme-private-path-leading-slashes-chars -->
+<script src="http://[2001::1]:80"></script><!-- host-ipv6-port -->
+<script src="data:text/plain,foo"></script><!-- scheme-data-no-slash -->
+<script src="http://example.com/foo/%2e"></script><!-- path-percent-encoded-dot -->
+<script src="file:/example.com/"></script><!-- scheme-file-single-slash -->
+<script src="http://example.com/©zbar"></script><!-- path-non-ascii -->
+<script src="http://example.com//foo"></script><!-- path-uFEFF -->
+<script src="wss:/example.com/"></script><!-- scheme-wss-single-slash -->
+<script src="http://foo/abcd#foo?bar"></script><!-- fragment-contains-question-mark -->
+<script src=":#"></script><!-- path-leading-colon-hash-relative -->
+<script src="http://example.com/foo%91"></script><!-- path-percent-encoded-u0091 -->
+<script src="c:/foo"></script><!-- scheme-private-single-letter -->
+<script src=":foo.com"></script><!-- path-leading-colon-chars-relative -->
+<script src="http://你好你好"></script><!-- host-idn-unicode-han -->
+<script src="http://example.com/foo#💩"></script><!-- fragment-contains-pile-of-poo -->
+<script src="file:"></script><!-- scheme-file-scheme-only -->
+<script src="#β"></script><!-- fragment-non-ascii-relative -->
+<script src="foo:/bar.com/"></script><!-- scheme-private-path -->
+<script src="http://f:0/c"></script><!-- port-0 -->
+<script src="#;?"></script><!-- fragment-semicolon-question-mark-relative -->
+<script src="http://Go.com"></script><!-- host-fullwidth -->
+<script src="http://@www.example.com"></script><!-- userinfo-empty -->
+<script src="http://example.com/‮/foo/‭/bar"></script><!-- path-u202E-u202D -->
+<script src="http://[2001::1]"></script><!-- host-ipv6 -->
+<script src="💩http://foo"></script><!-- path-starts-with-pile-of-poo -->
+<script src="http://foo/abcd?efgh?ijkl"></script><!-- query-contains-question-mark -->
+<script src="//foo/bar"></script><!-- scheme-schemeless-relative -->
+<script src="ftps:/example.com/"></script><!-- scheme-ftps-single-slash -->
+<script src="http://foo.com:b@d/"></script><!-- userinfo-username-non-alpha -->
+<script src=":a"></script><!-- path-leading-colon-letter-relative -->
+<script src="/"></script><!-- path-slash-only-relative -->
+<script src="http://example.com/foo?💩"></script><!-- query-contains-pile-of-poo -->
+<script src="http://f:00000000000000000000080/c"></script><!-- port-00000000000000000000080 -->
+<script src="file://"></script><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src-whitespace-only-novalid.html
new file mode 100644
index 000000000..3d850fc73
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<script src="
+"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/fragment-backslash-novalid.html
new file mode 100644
index 000000000..55bcbb9f9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-backslash</title>
+<script src="#\"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..03cab7505
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-contains-hash</title>
+<script src="http://foo/path#f#g"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..0c97b6b1a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-leading-space</title>
+<script src="http://f:21/b# e"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-cr-novalid.html
new file mode 100644
index 000000000..4e90cab02
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-cr</title>
+<script src="http://example. org"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..229c0115f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded</title>
+<script src="http://%41.com"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..958c18e4b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded-percent-encoded</title>
+<script src="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-empty-novalid.html
new file mode 100644
index 000000000..37338edcc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty</title>
+<script src="http://"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..b8c12b06e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-userinfo-empty</title>
+<script src="http://@/www.example.com"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..82e95ba5e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-with-userinfo</title>
+<script src="http://user:pass@/"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..63c908e80
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-hostname-in-brackets</title>
+<script src="http://[www.google.com]/"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..38936b3b8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode</title>
+<script src="http://﷐zyx.com"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..1e3cac534
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode-percent-encoded</title>
+<script src="http://%ef%b7%90zyx.com"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-newline-novalid.html
new file mode 100644
index 000000000..4995fe428
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-newline</title>
+<script src="http://example.
+org"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-space-novalid.html
new file mode 100644
index 000000000..676705ed8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-space</title>
+<script src="http://example .org"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..4f8581e69
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-square-brackets-port-contains-colon</title>
+<script src="http://[1::2]:3:4"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-tab-novalid.html
new file mode 100644
index 000000000..58a8aecd6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-tab</title>
+<script src="http://example .org"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..c58b09b9d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded</title>
+<script src="http://%00.com"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..f659cf0d5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded-percent-encoded</title>
+<script src="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..c23ef7bc9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-bare-percent-sign</title>
+<script src="http://example.com/foo%"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-contains-space-novalid.html
new file mode 100644
index 000000000..f54c9aeaa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-contains-space</title>
+<script src="/a/ /c"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..f8a8317d0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-backslash-at-sign</title>
+<script src="http://foo.com/\@"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..df39dc2fd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-backslash</title>
+<script src=":\"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..af8803b60
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-chars-backslash</title>
+<script src=":foo.com\"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-leading-space-novalid.html
new file mode 100644
index 000000000..49d0a41cb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-space</title>
+<script src="http://f:21/ b"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..99d207f40
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-percent-encoded-malformed</title>
+<script src="http://example.com/foo/%2e%2"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..3f2447018
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-relative-square-brackets</title>
+<script src="[61:24:74]:98"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-tab-novalid.html
new file mode 100644
index 000000000..28f15327a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-tab</title>
+<script src="http://example.com/foo bar"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-trailing-space-novalid.html
new file mode 100644
index 000000000..157fd07dc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-trailing-space</title>
+<script src="http://f:21/b ?"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-u0091-novalid.html
new file mode 100644
index 000000000..5ff1dfb7a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-u0091</title>
+<script src="http://example.com/foo‘"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-999999-novalid.html
new file mode 100644
index 000000000..e9fc4b917
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-999999</title>
+<script src="http://f:999999/c"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-cr-novalid.html
new file mode 100644
index 000000000..14cc85f13
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-cr</title>
+<script src="http://f: /c"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..b20a45962
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon-bracket-colon</title>
+<script src="http://2001::1]:80"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-leading-colon-novalid.html
new file mode 100644
index 000000000..5e2e7db78
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon</title>
+<script src="http://2001::1"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-leading-dash-novalid.html
new file mode 100644
index 000000000..ce486bcca
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-dash</title>
+<script src="http://foo:-80/"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..2f7174ec1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-multiple-letters</title>
+<script src="http://f:fifty-two/c"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-newline-novalid.html
new file mode 100644
index 000000000..003f9d489
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-newline</title>
+<script src="http://f:
+/c"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-single-letter-novalid.html
new file mode 100644
index 000000000..c57c16948
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-single-letter</title>
+<script src="http://f:b/c"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-space-novalid.html
new file mode 100644
index 000000000..ed84a101e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-space</title>
+<script src="http://f: /c"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-tab-novalid.html
new file mode 100644
index 000000000..fca9c6b9c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-tab</title>
+<script src="http://f: /c"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/query-leading-space-novalid.html
new file mode 100644
index 000000000..f864a2a06
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-leading-space</title>
+<script src="http://f:21/b? d"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/query-trailing-space-novalid.html
new file mode 100644
index 000000000..92a5453cb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-trailing-space</title>
+<script src="http://f:21/b?d #"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..f26fb056d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/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>
+<script src="data:text/html,test#test"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..1bae7962e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-data-single-slash</title>
+<script src="data:/example.com/"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..d23ad76fd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-backslash</title>
+<script src="file:c:\foo\bar.html"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..5efd30aaa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-single-slash-c-bar</title>
+<script src="file:/C|/foo/bar"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..b9b9db1ee
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-triple-slash-c-bar</title>
+<script src="file:///C|/foo/bar"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..9dfcff847
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-no-slash</title>
+<script src="ftp:example.com/"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..7d641fa5b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-single-slash</title>
+<script src="ftp:/example.com/"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..5b1877e88
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-backslash</title>
+<script src="http:\\foo.com\"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..fa9437aba
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-colon</title>
+<script src="http::@c:29"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..5e0848eaa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash</title>
+<script src="http:foo.com"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..bb4642fc7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-square-bracket</title>
+<script src="http:[61:27]/:foo"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..90a94ef29
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-single-slash</title>
+<script src="http:/example.com/"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..63c8ba3cd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-no-slash</title>
+<script src="https:example.com/"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..656fdc01b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-single-slash</title>
+<script src="https:/example.com/"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..6e85d80fe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-javascript-no-slash-malformed</title>
+<script src="javascript:example.com/"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..3c97e9975
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-cr</title>
+<script src="a: foo.com"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..a0415fb9c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-newline</title>
+<script src="a:
+foo.com"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..e500ae56e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-space</title>
+<script src="a: foo.com"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..37449448e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-tab</title>
+<script src="a: foo.com"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..44419f43a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-backslash</title>
+<script src="http://a\b:c\d@foo.com"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..b9a299236
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-bad-chars</title>
+<script src="http://&a:foo(b]c@d:2/"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..26baccf60
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-contains-pile-of-poo</title>
+<script src="http://foo:💩@example.com"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..38e21c6ea
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-at-sign</title>
+<script src="http://::@c@d:2"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..dd331c5ff
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/script/src/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-pile-of-poo</title>
+<script src="http://💩:foo@example.com"></script>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/small/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/small/model-isvalid.html
new file mode 100644
index 000000000..b86e5850d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/small/model-isvalid.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;small&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><small class="class" lang="en">text</small></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><small class="class" lang="en">text</small></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <small></small></p>
+ <p>text <dfn><small></small></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><small><a>text</a></small></p>
+ <p><dfn><small><a>text</a></small></dfn></p>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/small/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/small/model-novalid.html
new file mode 100644
index 000000000..f874f3b87
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/small/model-novalid.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;small&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><small class="class" lang="en">text</small></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><small class="class" lang="en">text</small></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <small></small></p>
+ <p>text <dfn><small></small></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><small><a>text</a></small></p>
+ <p><dfn><small><a>text</a></small></dfn></p>
+
+ <!-- cannot contain structured inline -->
+ <p><small>text <ul><li>list</li></ul> <em>elem</em></small></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src-empty-novalid.html
new file mode 100644
index 000000000..40af9974f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<video><source src=""></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src-isvalid.html
new file mode 100644
index 000000000..138463d95
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid src</title>
+<video><source src="file:///"></video><!-- scheme-file-slash-slash-slash-only -->
+<video><source src="http://a:@www.example.com"></video><!-- userinfo-password-empty -->
+<video><source src="foo://///////"></video><!-- scheme-private-path-leading-slashes-only -->
+<video><source src="file://abc|/foo/bar"></video><!-- scheme-file-slash-slash-abc-bar -->
+<video><source src="/a/b/c"></video><!-- path-simple-relative -->
+<video><source src="http://example.com/你好你好"></video><!-- path-unicode-han -->
+<video><source src="/a/%2f/c"></video><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<video><source src="http://f:/c"></video><!-- port-none-but-colon -->
+<video><source src="http://example.com/foo%41%7a"></video><!-- path-percent-encoded-multiple -->
+<video><source src="http://192.168.0.257/"></video><!-- host-IP-address-broken -->
+<video><source src="madeupscheme:example.com/"></video><!-- scheme-private-no-slash -->
+<video><source src="?"></video><!-- query-empty-no-path-relative -->
+<video><source src="http://example.com/%20foo"></video><!-- path-percent-encoded-space -->
+<video><source src="mailto:/example.com/"></video><!-- scheme-mailto-single-slash -->
+<video><source src="::"></video><!-- path-leading-colon-colon-relative -->
+<video><source src="http://example.com/%3A%3a%3C%3c"></video><!-- path-percent-encoded-mixed-case -->
+<video><source src="http://user:pass@foo:21/bar;par?b#c"></video><!-- userinfo -->
+<video><source src="ws:/example.com/"></video><!-- scheme-ws-single-slash -->
+<video><source src="foo://"></video><!-- scheme-private-slash-slash -->
+<video><source src="#"></video><!-- fragment-empty-hash-only-no-path-relative -->
+<video><source src="http://f:00000000000000/c"></video><!-- port-00000000000000 -->
+<video><source src="foo:////://///"></video><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<video><source src=":23"></video><!-- path-leading-colon-number-relative -->
+<video><source src="foo:/"></video><!-- scheme-private-slash -->
+<video><source src="http://💩"></video><!-- host-is-pile-of-poo -->
+<video><source src="file:test"></video><!-- scheme-file-no-slash -->
+<video><source src="file://C|/foo/bar"></video><!-- scheme-file-slash-slash-c-bar -->
+<video><source src="#/"></video><!-- fragment-slash-relative -->
+<video><source src="http://192.0x00A80001"></video><!-- host-192.0x00A80001 -->
+<video><source src="foo.com"></video><!-- scheme-none-relative -->
+<video><source src="http💩//:foo"></video><!-- path-contains-pile-of-poo -->
+<video><source src="File://foo/bar.html"></video><!-- scheme-file-uppercase -->
+<video><source src=":/"></video><!-- path-leading-colon-slash-relative -->
+<video><source src="http://www.foo。bar.com"></video><!-- host-exotic-dot -->
+<video><source src="http://GOO​⁠goo.com"></video><!-- host-exotic-whitespace -->
+<video><source src="file:///foo/bar.txt"></video><!-- scheme-file-host-empty -->
+<video><source src="javascript:/example.com/"></video><!-- scheme-javascript-single-slash -->
+<video><source src="gopher:/example.com/"></video><!-- scheme-gopher-single-slash -->
+<video><source src="ftps:example.com/"></video><!-- scheme-ftps-no-slash -->
+<video><source src="file://server/foo/bar"></video><!-- scheme-file-host-included -->
+<video><source src="http://example.com/foo%00"></video><!-- path-percent-encoded-u0000 -->
+<video><source src="a:foo.com"></video><!-- scheme-private -->
+<video><source src=":"></video><!-- path-colon-relative -->
+<video><source src="http://:b@www.example.com"></video><!-- userinfo-user-empty -->
+<video><source src="file:/"></video><!-- scheme-file-slash-only -->
+<video><source src="wss:example.com/"></video><!-- scheme-wss-no-slash -->
+<video><source src="::23"></video><!-- path-colon-colon-number-relative -->
+<video><source src="/a%2fc"></video><!-- path-percent-encoded-slash-relative -->
+<video><source src="http://a:b@c:29/d"></video><!-- userinfo-host-port-path -->
+<video><source src="gopher:example.com/"></video><!-- scheme-gopher-no-slash -->
+<video><source src="madeupscheme:/example.com/"></video><!-- scheme-private-single-slash -->
+<video><source src="mailto:example.com/"></video><!-- scheme-mailto-no-slash -->
+<video><source src="http://%25DOMAIN:foobar@foodomain.com"></video><!-- userinfo-username-contains-percent-encoded -->
+<video><source src="/:23"></video><!-- path-slash-colon-number-relative -->
+<video><source src="foo://///////bar.com/"></video><!-- scheme-private-path-leading-slashes-chars -->
+<video><source src="http://[2001::1]:80"></video><!-- host-ipv6-port -->
+<video><source src="data:text/plain,foo"></video><!-- scheme-data-no-slash -->
+<video><source src="http://example.com/foo/%2e"></video><!-- path-percent-encoded-dot -->
+<video><source src="file:/example.com/"></video><!-- scheme-file-single-slash -->
+<video><source src="http://example.com/©zbar"></video><!-- path-non-ascii -->
+<video><source src="http://example.com//foo"></video><!-- path-uFEFF -->
+<video><source src="wss:/example.com/"></video><!-- scheme-wss-single-slash -->
+<video><source src="http://foo/abcd#foo?bar"></video><!-- fragment-contains-question-mark -->
+<video><source src=":#"></video><!-- path-leading-colon-hash-relative -->
+<video><source src="http://example.com/foo%91"></video><!-- path-percent-encoded-u0091 -->
+<video><source src="c:/foo"></video><!-- scheme-private-single-letter -->
+<video><source src=":foo.com"></video><!-- path-leading-colon-chars-relative -->
+<video><source src="http://你好你好"></video><!-- host-idn-unicode-han -->
+<video><source src="http://example.com/foo#💩"></video><!-- fragment-contains-pile-of-poo -->
+<video><source src="file:"></video><!-- scheme-file-scheme-only -->
+<video><source src="#β"></video><!-- fragment-non-ascii-relative -->
+<video><source src="foo:/bar.com/"></video><!-- scheme-private-path -->
+<video><source src="http://f:0/c"></video><!-- port-0 -->
+<video><source src="#;?"></video><!-- fragment-semicolon-question-mark-relative -->
+<video><source src="http://Go.com"></video><!-- host-fullwidth -->
+<video><source src="http://@www.example.com"></video><!-- userinfo-empty -->
+<video><source src="http://example.com/‮/foo/‭/bar"></video><!-- path-u202E-u202D -->
+<video><source src="http://[2001::1]"></video><!-- host-ipv6 -->
+<video><source src="💩http://foo"></video><!-- path-starts-with-pile-of-poo -->
+<video><source src="http://foo/abcd?efgh?ijkl"></video><!-- query-contains-question-mark -->
+<video><source src="//foo/bar"></video><!-- scheme-schemeless-relative -->
+<video><source src="ftps:/example.com/"></video><!-- scheme-ftps-single-slash -->
+<video><source src="http://foo.com:b@d/"></video><!-- userinfo-username-non-alpha -->
+<video><source src=":a"></video><!-- path-leading-colon-letter-relative -->
+<video><source src="/"></video><!-- path-slash-only-relative -->
+<video><source src="http://example.com/foo?💩"></video><!-- query-contains-pile-of-poo -->
+<video><source src="http://f:00000000000000000000080/c"></video><!-- port-00000000000000000000080 -->
+<video><source src="file://"></video><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src-whitespace-only-novalid.html
new file mode 100644
index 000000000..d814f5bee
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<video><source src="
+"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/fragment-backslash-novalid.html
new file mode 100644
index 000000000..d01d315a8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-backslash</title>
+<video><source src="#\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..1780fe698
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-contains-hash</title>
+<video><source src="http://foo/path#f#g"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..cf2d6028b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-leading-space</title>
+<video><source src="http://f:21/b# e"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-cr-novalid.html
new file mode 100644
index 000000000..fce5132b1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-cr</title>
+<video><source src="http://example. org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..e670a118f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded</title>
+<video><source src="http://%41.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..e45923332
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded-percent-encoded</title>
+<video><source src="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-empty-novalid.html
new file mode 100644
index 000000000..0c8af3c14
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty</title>
+<video><source src="http://"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..401b95d78
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-userinfo-empty</title>
+<video><source src="http://@/www.example.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..20aee85b0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-with-userinfo</title>
+<video><source src="http://user:pass@/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..459a77a7c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-hostname-in-brackets</title>
+<video><source src="http://[www.google.com]/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..87343ea53
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode</title>
+<video><source src="http://﷐zyx.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..89198c0c0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode-percent-encoded</title>
+<video><source src="http://%ef%b7%90zyx.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-newline-novalid.html
new file mode 100644
index 000000000..d6fbbff9f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-newline</title>
+<video><source src="http://example.
+org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-space-novalid.html
new file mode 100644
index 000000000..4b948bb42
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-space</title>
+<video><source src="http://example .org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..1c0948bde
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-square-brackets-port-contains-colon</title>
+<video><source src="http://[1::2]:3:4"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-tab-novalid.html
new file mode 100644
index 000000000..bfa213cf9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-tab</title>
+<video><source src="http://example .org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..af4112397
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded</title>
+<video><source src="http://%00.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..2b8764b77
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded-percent-encoded</title>
+<video><source src="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..a3f169c0b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-bare-percent-sign</title>
+<video><source src="http://example.com/foo%"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-contains-space-novalid.html
new file mode 100644
index 000000000..8290e2355
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-contains-space</title>
+<video><source src="/a/ /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..6a7028d12
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-backslash-at-sign</title>
+<video><source src="http://foo.com/\@"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..8c42b1c88
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-backslash</title>
+<video><source src=":\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..3764f1e87
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-chars-backslash</title>
+<video><source src=":foo.com\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-leading-space-novalid.html
new file mode 100644
index 000000000..fd9958075
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-space</title>
+<video><source src="http://f:21/ b"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..4d133de21
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-percent-encoded-malformed</title>
+<video><source src="http://example.com/foo/%2e%2"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..b7fba0247
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-relative-square-brackets</title>
+<video><source src="[61:24:74]:98"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-tab-novalid.html
new file mode 100644
index 000000000..a75594861
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-tab</title>
+<video><source src="http://example.com/foo bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-trailing-space-novalid.html
new file mode 100644
index 000000000..e410928b0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-trailing-space</title>
+<video><source src="http://f:21/b ?"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-u0091-novalid.html
new file mode 100644
index 000000000..315c9c040
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-u0091</title>
+<video><source src="http://example.com/foo‘"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-999999-novalid.html
new file mode 100644
index 000000000..c635f3b66
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-999999</title>
+<video><source src="http://f:999999/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-cr-novalid.html
new file mode 100644
index 000000000..f4a35d68a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-cr</title>
+<video><source src="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..6162bb6ec
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon-bracket-colon</title>
+<video><source src="http://2001::1]:80"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-leading-colon-novalid.html
new file mode 100644
index 000000000..590459c48
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon</title>
+<video><source src="http://2001::1"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-leading-dash-novalid.html
new file mode 100644
index 000000000..32aa2a609
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-dash</title>
+<video><source src="http://foo:-80/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..0c5edbf21
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-multiple-letters</title>
+<video><source src="http://f:fifty-two/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-newline-novalid.html
new file mode 100644
index 000000000..b5103483b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-newline</title>
+<video><source src="http://f:
+/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-single-letter-novalid.html
new file mode 100644
index 000000000..6359c2dec
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-single-letter</title>
+<video><source src="http://f:b/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-space-novalid.html
new file mode 100644
index 000000000..8b255e538
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-space</title>
+<video><source src="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-tab-novalid.html
new file mode 100644
index 000000000..7e3eede3c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-tab</title>
+<video><source src="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/query-leading-space-novalid.html
new file mode 100644
index 000000000..c2b2ccf61
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-leading-space</title>
+<video><source src="http://f:21/b? d"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/query-trailing-space-novalid.html
new file mode 100644
index 000000000..3d18f7316
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-trailing-space</title>
+<video><source src="http://f:21/b?d #"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..c92f72c9d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>src warning: scheme-data-contains-fragment</title>
+<video><source src="data:text/html,test#test"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..5be1b6aa5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-data-single-slash</title>
+<video><source src="data:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..3d2ba290e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-backslash</title>
+<video><source src="file:c:\foo\bar.html"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..3f7312176
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-single-slash-c-bar</title>
+<video><source src="file:/C|/foo/bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..b1d44ebc7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-triple-slash-c-bar</title>
+<video><source src="file:///C|/foo/bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..5388a0e6a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-no-slash</title>
+<video><source src="ftp:example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..f24622fe2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-single-slash</title>
+<video><source src="ftp:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..de2b3888c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-backslash</title>
+<video><source src="http:\\foo.com\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..c331a355d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-colon</title>
+<video><source src="http::@c:29"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..fa4992049
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash</title>
+<video><source src="http:foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..576fef6f4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-square-bracket</title>
+<video><source src="http:[61:27]/:foo"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..09837749c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-single-slash</title>
+<video><source src="http:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..931e59c00
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-no-slash</title>
+<video><source src="https:example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..87f75d8fb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-single-slash</title>
+<video><source src="https:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..6516b4231
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-javascript-no-slash-malformed</title>
+<video><source src="javascript:example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..99170ba10
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-cr</title>
+<video><source src="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..4e68da6e7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-newline</title>
+<video><source src="a:
+foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..8a7e5471c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-space</title>
+<video><source src="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..87ebab22d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-tab</title>
+<video><source src="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..110363739
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-backslash</title>
+<video><source src="http://a\b:c\d@foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..2e88fd4d4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-bad-chars</title>
+<video><source src="http://&a:foo(b]c@d:2/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..147678b38
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-contains-pile-of-poo</title>
+<video><source src="http://foo:💩@example.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..c6f9bef71
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-at-sign</title>
+<video><source src="http://::@c@d:2"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..fb2f9413f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/source/src/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-pile-of-poo</title>
+<video><source src="http://💩:foo@example.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/span/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/span/model-isvalid.html
new file mode 100644
index 000000000..ee1abffab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/span/model-isvalid.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;span&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><span class="class" lang="en">text</span></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><span class="class" lang="en">text</span></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <span></span></p>
+ <p>text <dfn><span></span></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><span><a>text</a></span></p>
+ <p><dfn><span><a>text</a></span></dfn></p>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/span/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/span/model-novalid.html
new file mode 100644
index 000000000..30814fc2c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/span/model-novalid.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;span&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><span class="class" lang="en">text</span></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><span class="class" lang="en">text</span></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <span></span></p>
+ <p>text <dfn><span></span></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><span><a>text</a></span></p>
+ <p><dfn><span><a>text</a></span></dfn></p>
+
+ <!-- cannot contain structured inline -->
+ <p><span>text <ul><li>list</li></ul> <em>elem</em></span></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/strong/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/strong/model-isvalid.html
new file mode 100644
index 000000000..1510a641c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/strong/model-isvalid.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;strong&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><strong class="class" lang="en">text</strong></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><strong class="class" lang="en">text</strong></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <strong></strong></p>
+ <p>text <dfn><strong></strong></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><strong><a>text</a></strong></p>
+ <p><dfn><strong><a>text</a></strong></dfn></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/strong/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/strong/model-novalid.html
new file mode 100644
index 000000000..a202dfc8d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/strong/model-novalid.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;strong&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><strong class="class" lang="en">text</strong></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><strong class="class" lang="en">text</strong></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <strong></strong></p>
+ <p>text <dfn><strong></strong></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><strong><a>text</a></strong></p>
+ <p><dfn><strong><a>text</a></strong></dfn></p>
+
+ <!-- cannot contain structured inline -->
+ <p><strong>text <ul><li>list</li></ul> <em>elem</em></strong></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/style/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/style/model-isvalid.html
new file mode 100644
index 000000000..f0dd1c23f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/style/model-isvalid.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <style>
+<!--
+
+Something or other
+
+-->
+ </style>
+ <meta charset=utf-8>
+ <title>&lt;STYLE&gt;s</title>
+ <style type="application/vnd.nonsense" title="My Style">
+ Something or other
+ </style>
+</head>
+<body>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-as-div-child-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-as-div-child-novalid.html
new file mode 100644
index 000000000..d927a60f1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-as-div-child-novalid.html
@@ -0,0 +1,8 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>style@scoped as child of div with flow content after</title>
+<body>
+<div>
+<style scoped></style>
+<p>foo
+</div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-as-p-child-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-as-p-child-novalid.html
new file mode 100644
index 000000000..8619e0815
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-as-p-child-novalid.html
@@ -0,0 +1,5 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>style@scoped as child of p (where flow content is not allowed)</title>
+<body>
+<p><style scoped></style></p>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-in-head-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-in-head-novalid.html
new file mode 100644
index 000000000..358bd694b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-in-head-novalid.html
@@ -0,0 +1,6 @@
+<!doctype html>
+<head>
+<meta charset=utf-8>
+<title>style@scoped in head</title>
+<style scoped></style>
+</head>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-model-novalid.html
new file mode 100644
index 000000000..19d56bbc9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-model-novalid.html
@@ -0,0 +1,8 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>style@scoped as child of div with flow content before</title>
+<body>
+<div>
+<p>foo</p>
+<style scoped></style>
+</div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-multiple-adjacent-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-multiple-adjacent-novalid.html
new file mode 100644
index 000000000..1799dd128
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-multiple-adjacent-novalid.html
@@ -0,0 +1,9 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>mutliple adjacent style@scoped as child of div with flow content after</title>
+<body>
+<div>
+<style scoped></style>
+<style scoped></style>
+<p>foo</p>
+</div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-novalid.html
new file mode 100644
index 000000000..cdcc00eb7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/style/scoped-novalid.html
@@ -0,0 +1,5 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>style@scoped as child of div</title>
+<body>
+<div><style scoped></style></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/sub/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/sub/model-isvalid.html
new file mode 100644
index 000000000..2dbd047f4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/sub/model-isvalid.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;sub&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><sub class="class" lang="en">text</sub></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><sub class="class" lang="en">text</sub></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <sub></sub></p>
+ <p>text <dfn><sub></sub></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><sub><a>text</a></sub></p>
+ <p><dfn><sub><a>text</a></sub></dfn></p>
+
+ <!-- cannot contain structured inline -->
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/sub/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/sub/model-novalid.html
new file mode 100644
index 000000000..41e40a63d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/sub/model-novalid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;sub&gt;</title>
+</head>
+<body>
+ <!-- not a block -->
+ <sub>text</sub>
+
+ <!-- cannot contain structured inline -->
+ <p><sub><ul><li>text</li></ul></sub></p>
+
+ <!-- cannot contain interactive if parent forbids interactive -->
+ <p><a><sub><a>text</a></sub></a></p>
+ <p><a><dfn><sub><a>text</a></sub></dfn></a></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/sup/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/sup/model-isvalid.html
new file mode 100644
index 000000000..af3642f5e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/sup/model-isvalid.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;sup&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><sup class="class" lang="en">text</sup></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><sup class="class" lang="en">text</sup></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <sup></sup></p>
+ <p>text <dfn><sup></sup></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><sup><a>text</a></sup></p>
+ <p><dfn><sup><a>text</a></sup></dfn></p>
+
+ <!-- cannot contain structured inline -->
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/sup/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/sup/model-novalid.html
new file mode 100644
index 000000000..321a9439e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/sup/model-novalid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;sup&gt;</title>
+</head>
+<body>
+ <!-- not a block -->
+ <sup>text</sup>
+
+ <!-- cannot contain structured inline -->
+ <p><sup><ul><li>text</li></ul></sup></p>
+
+ <!-- cannot contain interactive if parent forbids interactive -->
+ <p><a><sup><a>text</a></sup></a></p>
+ <p><a><dfn><sup><a>text</a></sup></dfn></a></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/table/model-input-child-hidden-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/table/model-input-child-hidden-novalid.html
new file mode 100644
index 000000000..e7aa64dbc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/table/model-input-child-hidden-novalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>The "in table" insertion mode - A start tag whose tag name is "input" (type=hidden)</title>
+<table><input type="hidden"></table> <!-- not a streaming violation; doesn't get foster-parented -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/table/model-input-child-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/table/model-input-child-novalid.html
new file mode 100644
index 000000000..08b168707
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/table/model-input-child-novalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>The "in table" insertion mode - A start tag whose tag name is "input"</title>
+<table><input></table>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/table/model-input-type-child-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/table/model-input-type-child-novalid.html
new file mode 100644
index 000000000..39553d02f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/table/model-input-type-child-novalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>The "in table" insertion mode - A start tag whose tag name is "input"</title>
+<table><input type=submit></table>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/time/datetime-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/time/datetime-isvalid.html
new file mode 100644
index 000000000..644608b15
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/time/datetime-isvalid.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;t&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><time datetime='2006-11-20'>text</time></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><time datetime='2006-11-20'>text</time></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <time datetime='2006-11-20'></time></p>
+ <p>text <dfn><time datetime='2006-11-20'></time></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><time datetime='2006-11-20'><a>text</a></time></p>
+ <p><dfn><time datetime='2006-11-20'><a>text</a></time></dfn></p>
+
+ <!-- vague moment of time in attribute -->
+ <p><time datetime='2006-11-20T16:24'>text</time></p>
+ <p><time datetime='2006-11-20T16:24:33'>text</time></p>
+ <p><time datetime='2006-11-20T16:24:33.89'>text</time></p>
+
+ <p><time datetime='2006-11-20T16:24Z'>text</time></p>
+ <p><time datetime='2006-11-20T16:24:33Z'>text</time></p>
+ <p><time datetime='2006-11-20T16:24:33.89Z'>text</time></p>
+
+ <p><time datetime='2006-11-20T16:24+02:00'>text</time></p>
+ <p><time datetime='2006-11-20T16:24:33+02:00'>text</time></p>
+ <p><time datetime='2006-11-20T16:24:33.89+02:00'>text</time></p>
+
+ <p><time datetime='16:24'>text</time></p>
+ <p><time datetime='16:24:33'>text</time></p>
+ <p><time datetime='16:24:33.89'>text</time></p>
+
+ <!-- vague moment of time in content -->
+ <p><time>2006-11-20T16:24</time></p>
+ <p><time>2006-11-20T16:24:33</time></p>
+ <p><time>2006-11-20T16:24:33.89</time></p>
+
+ <p><time>2006-11-20T16:24Z</time></p>
+ <p><time>2006-11-20T16:24:33Z</time></p>
+ <p><time>2006-11-20T16:24:33.89Z</time></p>
+
+ <p><time>2006-11-20T16:24+02:00</time></p>
+ <p><time>2006-11-20T16:24:33+02:00</time></p>
+ <p><time>2006-11-20T16:24:33.89+02:00</time></p>
+
+ <p><time>16:24</time></p>
+ <p><time>16:24:33</time></p>
+ <p><time>16:24:33.89</time></p>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/title/empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/title/empty-novalid.html
new file mode 100644
index 000000000..f3089b596
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/title/empty-novalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<!-- document with empty title element -->
+<meta charset=utf-8>
+<title></title>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/title/missing-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/title/missing-novalid.html
new file mode 100644
index 000000000..c0a83a4da
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/title/missing-novalid.html
@@ -0,0 +1,2 @@
+<!doctype html>
+<!-- document with no title element -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src-empty-novalid.html
new file mode 100644
index 000000000..c915ef521
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<video><track src=""></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src-isvalid.html
new file mode 100644
index 000000000..190eec7e8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid src</title>
+<video><track src="file:///"></video><!-- scheme-file-slash-slash-slash-only -->
+<video><track src="http://a:@www.example.com"></video><!-- userinfo-password-empty -->
+<video><track src="foo://///////"></video><!-- scheme-private-path-leading-slashes-only -->
+<video><track src="file://abc|/foo/bar"></video><!-- scheme-file-slash-slash-abc-bar -->
+<video><track src="/a/b/c"></video><!-- path-simple-relative -->
+<video><track src="http://example.com/你好你好"></video><!-- path-unicode-han -->
+<video><track src="/a/%2f/c"></video><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<video><track src="http://f:/c"></video><!-- port-none-but-colon -->
+<video><track src="http://example.com/foo%41%7a"></video><!-- path-percent-encoded-multiple -->
+<video><track src="http://192.168.0.257/"></video><!-- host-IP-address-broken -->
+<video><track src="madeupscheme:example.com/"></video><!-- scheme-private-no-slash -->
+<video><track src="?"></video><!-- query-empty-no-path-relative -->
+<video><track src="http://example.com/%20foo"></video><!-- path-percent-encoded-space -->
+<video><track src="mailto:/example.com/"></video><!-- scheme-mailto-single-slash -->
+<video><track src="::"></video><!-- path-leading-colon-colon-relative -->
+<video><track src="http://example.com/%3A%3a%3C%3c"></video><!-- path-percent-encoded-mixed-case -->
+<video><track src="http://user:pass@foo:21/bar;par?b#c"></video><!-- userinfo -->
+<video><track src="ws:/example.com/"></video><!-- scheme-ws-single-slash -->
+<video><track src="foo://"></video><!-- scheme-private-slash-slash -->
+<video><track src="#"></video><!-- fragment-empty-hash-only-no-path-relative -->
+<video><track src="http://f:00000000000000/c"></video><!-- port-00000000000000 -->
+<video><track src="foo:////://///"></video><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<video><track src=":23"></video><!-- path-leading-colon-number-relative -->
+<video><track src="foo:/"></video><!-- scheme-private-slash -->
+<video><track src="http://💩"></video><!-- host-is-pile-of-poo -->
+<video><track src="file:test"></video><!-- scheme-file-no-slash -->
+<video><track src="file://C|/foo/bar"></video><!-- scheme-file-slash-slash-c-bar -->
+<video><track src="#/"></video><!-- fragment-slash-relative -->
+<video><track src="http://192.0x00A80001"></video><!-- host-192.0x00A80001 -->
+<video><track src="foo.com"></video><!-- scheme-none-relative -->
+<video><track src="http💩//:foo"></video><!-- path-contains-pile-of-poo -->
+<video><track src="File://foo/bar.html"></video><!-- scheme-file-uppercase -->
+<video><track src=":/"></video><!-- path-leading-colon-slash-relative -->
+<video><track src="http://www.foo。bar.com"></video><!-- host-exotic-dot -->
+<video><track src="http://GOO​⁠goo.com"></video><!-- host-exotic-whitespace -->
+<video><track src="file:///foo/bar.txt"></video><!-- scheme-file-host-empty -->
+<video><track src="javascript:/example.com/"></video><!-- scheme-javascript-single-slash -->
+<video><track src="gopher:/example.com/"></video><!-- scheme-gopher-single-slash -->
+<video><track src="ftps:example.com/"></video><!-- scheme-ftps-no-slash -->
+<video><track src="file://server/foo/bar"></video><!-- scheme-file-host-included -->
+<video><track src="http://example.com/foo%00"></video><!-- path-percent-encoded-u0000 -->
+<video><track src="a:foo.com"></video><!-- scheme-private -->
+<video><track src=":"></video><!-- path-colon-relative -->
+<video><track src="http://:b@www.example.com"></video><!-- userinfo-user-empty -->
+<video><track src="file:/"></video><!-- scheme-file-slash-only -->
+<video><track src="wss:example.com/"></video><!-- scheme-wss-no-slash -->
+<video><track src="::23"></video><!-- path-colon-colon-number-relative -->
+<video><track src="/a%2fc"></video><!-- path-percent-encoded-slash-relative -->
+<video><track src="http://a:b@c:29/d"></video><!-- userinfo-host-port-path -->
+<video><track src="gopher:example.com/"></video><!-- scheme-gopher-no-slash -->
+<video><track src="madeupscheme:/example.com/"></video><!-- scheme-private-single-slash -->
+<video><track src="mailto:example.com/"></video><!-- scheme-mailto-no-slash -->
+<video><track src="http://%25DOMAIN:foobar@foodomain.com"></video><!-- userinfo-username-contains-percent-encoded -->
+<video><track src="/:23"></video><!-- path-slash-colon-number-relative -->
+<video><track src="foo://///////bar.com/"></video><!-- scheme-private-path-leading-slashes-chars -->
+<video><track src="http://[2001::1]:80"></video><!-- host-ipv6-port -->
+<video><track src="data:text/plain,foo"></video><!-- scheme-data-no-slash -->
+<video><track src="http://example.com/foo/%2e"></video><!-- path-percent-encoded-dot -->
+<video><track src="file:/example.com/"></video><!-- scheme-file-single-slash -->
+<video><track src="http://example.com/©zbar"></video><!-- path-non-ascii -->
+<video><track src="http://example.com//foo"></video><!-- path-uFEFF -->
+<video><track src="wss:/example.com/"></video><!-- scheme-wss-single-slash -->
+<video><track src="http://foo/abcd#foo?bar"></video><!-- fragment-contains-question-mark -->
+<video><track src=":#"></video><!-- path-leading-colon-hash-relative -->
+<video><track src="http://example.com/foo%91"></video><!-- path-percent-encoded-u0091 -->
+<video><track src="c:/foo"></video><!-- scheme-private-single-letter -->
+<video><track src=":foo.com"></video><!-- path-leading-colon-chars-relative -->
+<video><track src="http://你好你好"></video><!-- host-idn-unicode-han -->
+<video><track src="http://example.com/foo#💩"></video><!-- fragment-contains-pile-of-poo -->
+<video><track src="file:"></video><!-- scheme-file-scheme-only -->
+<video><track src="#β"></video><!-- fragment-non-ascii-relative -->
+<video><track src="foo:/bar.com/"></video><!-- scheme-private-path -->
+<video><track src="http://f:0/c"></video><!-- port-0 -->
+<video><track src="#;?"></video><!-- fragment-semicolon-question-mark-relative -->
+<video><track src="http://Go.com"></video><!-- host-fullwidth -->
+<video><track src="http://@www.example.com"></video><!-- userinfo-empty -->
+<video><track src="http://example.com/‮/foo/‭/bar"></video><!-- path-u202E-u202D -->
+<video><track src="http://[2001::1]"></video><!-- host-ipv6 -->
+<video><track src="💩http://foo"></video><!-- path-starts-with-pile-of-poo -->
+<video><track src="http://foo/abcd?efgh?ijkl"></video><!-- query-contains-question-mark -->
+<video><track src="//foo/bar"></video><!-- scheme-schemeless-relative -->
+<video><track src="ftps:/example.com/"></video><!-- scheme-ftps-single-slash -->
+<video><track src="http://foo.com:b@d/"></video><!-- userinfo-username-non-alpha -->
+<video><track src=":a"></video><!-- path-leading-colon-letter-relative -->
+<video><track src="/"></video><!-- path-slash-only-relative -->
+<video><track src="http://example.com/foo?💩"></video><!-- query-contains-pile-of-poo -->
+<video><track src="http://f:00000000000000000000080/c"></video><!-- port-00000000000000000000080 -->
+<video><track src="file://"></video><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src-whitespace-only-novalid.html
new file mode 100644
index 000000000..49a19ded1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<video><track src="
+"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/fragment-backslash-novalid.html
new file mode 100644
index 000000000..06dc4825b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-backslash</title>
+<video><track src="#\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..c629c503d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-contains-hash</title>
+<video><track src="http://foo/path#f#g"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..f2632d5e2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-leading-space</title>
+<video><track src="http://f:21/b# e"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-cr-novalid.html
new file mode 100644
index 000000000..1b2d74fc2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-cr</title>
+<video><track src="http://example. org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..098225713
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded</title>
+<video><track src="http://%41.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..7a66a8957
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded-percent-encoded</title>
+<video><track src="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-empty-novalid.html
new file mode 100644
index 000000000..0978bfe84
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty</title>
+<video><track src="http://"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..a193260fc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-userinfo-empty</title>
+<video><track src="http://@/www.example.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..fc9c41e8e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-with-userinfo</title>
+<video><track src="http://user:pass@/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..70aa4d064
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-hostname-in-brackets</title>
+<video><track src="http://[www.google.com]/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..54433b15b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode</title>
+<video><track src="http://﷐zyx.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..8e93c61bd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode-percent-encoded</title>
+<video><track src="http://%ef%b7%90zyx.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-newline-novalid.html
new file mode 100644
index 000000000..7b206246d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-newline</title>
+<video><track src="http://example.
+org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-space-novalid.html
new file mode 100644
index 000000000..31c35862b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-space</title>
+<video><track src="http://example .org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..791359b50
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-square-brackets-port-contains-colon</title>
+<video><track src="http://[1::2]:3:4"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-tab-novalid.html
new file mode 100644
index 000000000..cebfa553b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-tab</title>
+<video><track src="http://example .org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..7aaf5336f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded</title>
+<video><track src="http://%00.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..2901170f1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded-percent-encoded</title>
+<video><track src="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..a6cea5459
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-bare-percent-sign</title>
+<video><track src="http://example.com/foo%"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-contains-space-novalid.html
new file mode 100644
index 000000000..4cc4ea47c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-contains-space</title>
+<video><track src="/a/ /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..8f7852277
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-backslash-at-sign</title>
+<video><track src="http://foo.com/\@"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..4e9592844
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-backslash</title>
+<video><track src=":\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..8e14139e6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-chars-backslash</title>
+<video><track src=":foo.com\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-leading-space-novalid.html
new file mode 100644
index 000000000..0b9847f00
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-space</title>
+<video><track src="http://f:21/ b"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..a4f6e796e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-percent-encoded-malformed</title>
+<video><track src="http://example.com/foo/%2e%2"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..f83da9a1d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-relative-square-brackets</title>
+<video><track src="[61:24:74]:98"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-tab-novalid.html
new file mode 100644
index 000000000..b8c5b36ba
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-tab</title>
+<video><track src="http://example.com/foo bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-trailing-space-novalid.html
new file mode 100644
index 000000000..5da84a872
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-trailing-space</title>
+<video><track src="http://f:21/b ?"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-u0091-novalid.html
new file mode 100644
index 000000000..16c810dff
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-u0091</title>
+<video><track src="http://example.com/foo‘"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-999999-novalid.html
new file mode 100644
index 000000000..963a33101
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-999999</title>
+<video><track src="http://f:999999/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-cr-novalid.html
new file mode 100644
index 000000000..666a5d89d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-cr</title>
+<video><track src="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..c568c332c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon-bracket-colon</title>
+<video><track src="http://2001::1]:80"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-leading-colon-novalid.html
new file mode 100644
index 000000000..a6e554183
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon</title>
+<video><track src="http://2001::1"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-leading-dash-novalid.html
new file mode 100644
index 000000000..fe6a8bf0a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-dash</title>
+<video><track src="http://foo:-80/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..2798d9a4d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-multiple-letters</title>
+<video><track src="http://f:fifty-two/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-newline-novalid.html
new file mode 100644
index 000000000..5d1d924a1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-newline</title>
+<video><track src="http://f:
+/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-single-letter-novalid.html
new file mode 100644
index 000000000..40ee9156a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-single-letter</title>
+<video><track src="http://f:b/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-space-novalid.html
new file mode 100644
index 000000000..d6e85ae51
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-space</title>
+<video><track src="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-tab-novalid.html
new file mode 100644
index 000000000..a4963cf99
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-tab</title>
+<video><track src="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/query-leading-space-novalid.html
new file mode 100644
index 000000000..d5d1f2782
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-leading-space</title>
+<video><track src="http://f:21/b? d"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/query-trailing-space-novalid.html
new file mode 100644
index 000000000..489f0fa37
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-trailing-space</title>
+<video><track src="http://f:21/b?d #"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..e0489ac60
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>src warning: scheme-data-contains-fragment</title>
+<video><track src="data:text/html,test#test"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..5799c3fb9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-data-single-slash</title>
+<video><track src="data:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..6921ade0a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-backslash</title>
+<video><track src="file:c:\foo\bar.html"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..19ec1b90d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-single-slash-c-bar</title>
+<video><track src="file:/C|/foo/bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..3fcc985f9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-triple-slash-c-bar</title>
+<video><track src="file:///C|/foo/bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..35e174478
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-no-slash</title>
+<video><track src="ftp:example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..e9a538587
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-single-slash</title>
+<video><track src="ftp:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..ed6968d4f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-backslash</title>
+<video><track src="http:\\foo.com\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..79ddaf10a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-colon</title>
+<video><track src="http::@c:29"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..813e4aeff
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash</title>
+<video><track src="http:foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..1db1adad1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-square-bracket</title>
+<video><track src="http:[61:27]/:foo"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..9c262feea
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-single-slash</title>
+<video><track src="http:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..f2999019e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-no-slash</title>
+<video><track src="https:example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..730484412
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-single-slash</title>
+<video><track src="https:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..13a633d37
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-javascript-no-slash-malformed</title>
+<video><track src="javascript:example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..32e379e99
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-cr</title>
+<video><track src="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..81bf43c97
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-newline</title>
+<video><track src="a:
+foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..65f414637
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-space</title>
+<video><track src="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..924eb4e86
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-tab</title>
+<video><track src="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..603c7d210
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-backslash</title>
+<video><track src="http://a\b:c\d@foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..58b50489f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-bad-chars</title>
+<video><track src="http://&a:foo(b]c@d:2/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..8bd21d987
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-contains-pile-of-poo</title>
+<video><track src="http://foo:💩@example.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..e20902ada
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-at-sign</title>
+<video><track src="http://::@c@d:2"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..988668407
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/track/src/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-pile-of-poo</title>
+<video><track src="http://💩:foo@example.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/u/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/u/model-isvalid.html
new file mode 100644
index 000000000..0ce3f95b4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/u/model-isvalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>the "u" element is not obsolete</title>
+<meta charset=utf-8>
+</head>
+<body>
+<u>baz</u>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ul/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ul/model-isvalid.html
new file mode 100644
index 000000000..3f3adbf9b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ul/model-isvalid.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>Unordered List: &lt;ul&gt; &lt;li&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <ul class="class" id="id" lang="en">
+ <li class="class" id="id2" lang="en">text</li>
+ </ul>
+
+ <!-- can be empty -->
+ <ul></ul>
+ <ul>
+ <li></li>
+ <li></li>
+ </ul>
+
+ <!-- can contain structured inline -->
+ <ul>
+ <li>some <em>text</em>
+ <pre>more text</pre>
+ </li>
+ </ul>
+
+ <!-- can contain blocks -->
+ <ul>
+ <li>
+ <p>some</p>
+ <p>text</p>
+ </li>
+ </ul>
+
+ <!-- can contain interactive -->
+ <ul><li><a>text</a></li></ul>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/ul/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/ul/model-novalid.html
new file mode 100644
index 000000000..9bb4bf090
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/ul/model-novalid.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>Unordered List: &lt;ul&gt; &lt;li&gt;</title>
+</head>
+<body>
+ <!-- is block -->
+ <ul class="class" id="id" lang="en">
+ <li class="class" id="id" lang="en">text</li>
+ </ul>
+
+ <!-- is structured inline -->
+ <p>paragraph
+ <ul class="class" id="id" lang="en">
+ <li class="class" id="id" lang="en">text</li>
+ </ul>
+ </p>
+
+ <!-- can be empty -->
+ <ul></ul>
+ <ul>
+ <li></li>
+ <li></li>
+ </ul>
+
+ <!-- cannot contain structured inline -->
+ <ul>
+ <li>some <em>text</em>
+ <pre>more text</pre>
+ </li>
+ </ul>
+ <p>paragraph
+ <ul>
+ <li>some <em>text</em>
+ <pre>more text</pre>
+ </li>
+ </ul>
+ </p>
+
+ <!-- can contain blocks -->
+ <ul>
+ <li>
+ <p>some</p>
+ <p>text</p>
+ </li>
+ </ul>
+
+ <!-- can contain interactive -->
+ <ul><li><a>text</a></li></ul>
+ <p>paragraph
+ <ul><li><a>text</a></li></ul>
+ </p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/var/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/var/model-isvalid.html
new file mode 100644
index 000000000..06a71d4b3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/var/model-isvalid.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;var&gt;</title>
+</head>
+<body>
+ <!-- is structured inline -->
+ <p><var class="class" lang="en">text</var></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><var class="class" lang="en">text</var></dfn></p>
+
+ <!-- can be empty -->
+ <p>text <var></var></p>
+ <p>text <dfn><var></var></dfn></p>
+
+ <!-- can contain interactive -->
+ <p><var><a>text</a></var></p>
+ <p><dfn><var><a>text</a></var></dfn></p>
+
+ <!-- cannot contain structured inline -->
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/var/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/var/model-novalid.html
new file mode 100644
index 000000000..853481ad1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/var/model-novalid.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;var&gt;</title>
+</head>
+<body>
+ <!-- not a block -->
+ <var>text</var>
+
+ <!-- cannot contain structured inline -->
+ <p><var><ul><li>text</li></ul></var></p>
+
+ <!-- cannot contain interactive if parent forbids interactive -->
+ <p><a><var><a>text</a></var></a></p>
+ <p><a><dfn><var><a>text</a></var></dfn></a></p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/model-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/model-isvalid.html
new file mode 100644
index 000000000..4d4982683
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/model-isvalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>video with flow content and flow parent</title>
+<div><video><p>foo</p></video></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/model-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/model-novalid.html
new file mode 100644
index 000000000..fa9af2619
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/model-novalid.html
@@ -0,0 +1,4 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>video with flow content and phrasing parent</title>
+<span><video><p>foo</p></video></span>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-empty-novalid.html
new file mode 100644
index 000000000..efd5238b6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty poster is not valid</title>
+<video poster=""></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-isvalid.html
new file mode 100644
index 000000000..01e32e775
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid poster</title>
+<video poster="file:///"></video><!-- scheme-file-slash-slash-slash-only -->
+<video poster="http://a:@www.example.com"></video><!-- userinfo-password-empty -->
+<video poster="foo://///////"></video><!-- scheme-private-path-leading-slashes-only -->
+<video poster="file://abc|/foo/bar"></video><!-- scheme-file-slash-slash-abc-bar -->
+<video poster="/a/b/c"></video><!-- path-simple-relative -->
+<video poster="http://example.com/你好你好"></video><!-- path-unicode-han -->
+<video poster="/a/%2f/c"></video><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<video poster="http://f:/c"></video><!-- port-none-but-colon -->
+<video poster="http://example.com/foo%41%7a"></video><!-- path-percent-encoded-multiple -->
+<video poster="http://192.168.0.257/"></video><!-- host-IP-address-broken -->
+<video poster="madeupscheme:example.com/"></video><!-- scheme-private-no-slash -->
+<video poster="?"></video><!-- query-empty-no-path-relative -->
+<video poster="http://example.com/%20foo"></video><!-- path-percent-encoded-space -->
+<video poster="mailto:/example.com/"></video><!-- scheme-mailto-single-slash -->
+<video poster="::"></video><!-- path-leading-colon-colon-relative -->
+<video poster="http://example.com/%3A%3a%3C%3c"></video><!-- path-percent-encoded-mixed-case -->
+<video poster="http://user:pass@foo:21/bar;par?b#c"></video><!-- userinfo -->
+<video poster="ws:/example.com/"></video><!-- scheme-ws-single-slash -->
+<video poster="foo://"></video><!-- scheme-private-slash-slash -->
+<video poster="#"></video><!-- fragment-empty-hash-only-no-path-relative -->
+<video poster="http://f:00000000000000/c"></video><!-- port-00000000000000 -->
+<video poster="foo:////://///"></video><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<video poster=":23"></video><!-- path-leading-colon-number-relative -->
+<video poster="foo:/"></video><!-- scheme-private-slash -->
+<video poster="http://💩"></video><!-- host-is-pile-of-poo -->
+<video poster="file:test"></video><!-- scheme-file-no-slash -->
+<video poster="file://C|/foo/bar"></video><!-- scheme-file-slash-slash-c-bar -->
+<video poster="#/"></video><!-- fragment-slash-relative -->
+<video poster="http://192.0x00A80001"></video><!-- host-192.0x00A80001 -->
+<video poster="foo.com"></video><!-- scheme-none-relative -->
+<video poster="http💩//:foo"></video><!-- path-contains-pile-of-poo -->
+<video poster="File://foo/bar.html"></video><!-- scheme-file-uppercase -->
+<video poster=":/"></video><!-- path-leading-colon-slash-relative -->
+<video poster="http://www.foo。bar.com"></video><!-- host-exotic-dot -->
+<video poster="http://GOO​⁠goo.com"></video><!-- host-exotic-whitespace -->
+<video poster="file:///foo/bar.txt"></video><!-- scheme-file-host-empty -->
+<video poster="javascript:/example.com/"></video><!-- scheme-javascript-single-slash -->
+<video poster="gopher:/example.com/"></video><!-- scheme-gopher-single-slash -->
+<video poster="ftps:example.com/"></video><!-- scheme-ftps-no-slash -->
+<video poster="file://server/foo/bar"></video><!-- scheme-file-host-included -->
+<video poster="http://example.com/foo%00"></video><!-- path-percent-encoded-u0000 -->
+<video poster="a:foo.com"></video><!-- scheme-private -->
+<video poster=":"></video><!-- path-colon-relative -->
+<video poster="http://:b@www.example.com"></video><!-- userinfo-user-empty -->
+<video poster="file:/"></video><!-- scheme-file-slash-only -->
+<video poster="wss:example.com/"></video><!-- scheme-wss-no-slash -->
+<video poster="::23"></video><!-- path-colon-colon-number-relative -->
+<video poster="/a%2fc"></video><!-- path-percent-encoded-slash-relative -->
+<video poster="http://a:b@c:29/d"></video><!-- userinfo-host-port-path -->
+<video poster="gopher:example.com/"></video><!-- scheme-gopher-no-slash -->
+<video poster="madeupscheme:/example.com/"></video><!-- scheme-private-single-slash -->
+<video poster="mailto:example.com/"></video><!-- scheme-mailto-no-slash -->
+<video poster="http://%25DOMAIN:foobar@foodomain.com"></video><!-- userinfo-username-contains-percent-encoded -->
+<video poster="/:23"></video><!-- path-slash-colon-number-relative -->
+<video poster="foo://///////bar.com/"></video><!-- scheme-private-path-leading-slashes-chars -->
+<video poster="http://[2001::1]:80"></video><!-- host-ipv6-port -->
+<video poster="data:text/plain,foo"></video><!-- scheme-data-no-slash -->
+<video poster="http://example.com/foo/%2e"></video><!-- path-percent-encoded-dot -->
+<video poster="file:/example.com/"></video><!-- scheme-file-single-slash -->
+<video poster="http://example.com/©zbar"></video><!-- path-non-ascii -->
+<video poster="http://example.com//foo"></video><!-- path-uFEFF -->
+<video poster="wss:/example.com/"></video><!-- scheme-wss-single-slash -->
+<video poster="http://foo/abcd#foo?bar"></video><!-- fragment-contains-question-mark -->
+<video poster=":#"></video><!-- path-leading-colon-hash-relative -->
+<video poster="http://example.com/foo%91"></video><!-- path-percent-encoded-u0091 -->
+<video poster="c:/foo"></video><!-- scheme-private-single-letter -->
+<video poster=":foo.com"></video><!-- path-leading-colon-chars-relative -->
+<video poster="http://你好你好"></video><!-- host-idn-unicode-han -->
+<video poster="http://example.com/foo#💩"></video><!-- fragment-contains-pile-of-poo -->
+<video poster="file:"></video><!-- scheme-file-scheme-only -->
+<video poster="#β"></video><!-- fragment-non-ascii-relative -->
+<video poster="foo:/bar.com/"></video><!-- scheme-private-path -->
+<video poster="http://f:0/c"></video><!-- port-0 -->
+<video poster="#;?"></video><!-- fragment-semicolon-question-mark-relative -->
+<video poster="http://Go.com"></video><!-- host-fullwidth -->
+<video poster="http://@www.example.com"></video><!-- userinfo-empty -->
+<video poster="http://example.com/‮/foo/‭/bar"></video><!-- path-u202E-u202D -->
+<video poster="http://[2001::1]"></video><!-- host-ipv6 -->
+<video poster="💩http://foo"></video><!-- path-starts-with-pile-of-poo -->
+<video poster="http://foo/abcd?efgh?ijkl"></video><!-- query-contains-question-mark -->
+<video poster="//foo/bar"></video><!-- scheme-schemeless-relative -->
+<video poster="ftps:/example.com/"></video><!-- scheme-ftps-single-slash -->
+<video poster="http://foo.com:b@d/"></video><!-- userinfo-username-non-alpha -->
+<video poster=":a"></video><!-- path-leading-colon-letter-relative -->
+<video poster="/"></video><!-- path-slash-only-relative -->
+<video poster="http://example.com/foo?💩"></video><!-- query-contains-pile-of-poo -->
+<video poster="http://f:00000000000000000000080/c"></video><!-- port-00000000000000000000080 -->
+<video poster="file://"></video><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-whitespace-only-novalid.html
new file mode 100644
index 000000000..b53bf1902
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty poster is not valid</title>
+<video poster="
+"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-backslash-novalid.html
new file mode 100644
index 000000000..e2d9764e3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: fragment-backslash</title>
+<video poster="#\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..cb01ae009
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: fragment-contains-hash</title>
+<video poster="http://foo/path#f#g"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..8bf3631bf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: fragment-leading-space</title>
+<video poster="http://f:21/b# e"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-cr-novalid.html
new file mode 100644
index 000000000..8e7cd1af0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-cr</title>
+<video poster="http://example. org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..e3c4eafc6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-double-percent-encoded</title>
+<video poster="http://%41.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..34f58f6fa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-double-percent-encoded-percent-encoded</title>
+<video poster="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-novalid.html
new file mode 100644
index 000000000..704af4b76
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-empty</title>
+<video poster="http://"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..896ed8850
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-empty-userinfo-empty</title>
+<video poster="http://@/www.example.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..2ac4d5f7f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-empty-with-userinfo</title>
+<video poster="http://user:pass@/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..5458f16e6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-hostname-in-brackets</title>
+<video poster="http://[www.google.com]/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..c8f206dde
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-invalid-unicode</title>
+<video poster="http://﷐zyx.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..b89164488
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-invalid-unicode-percent-encoded</title>
+<video poster="http://%ef%b7%90zyx.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-newline-novalid.html
new file mode 100644
index 000000000..de25e9776
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-newline</title>
+<video poster="http://example.
+org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-space-novalid.html
new file mode 100644
index 000000000..1e35a2f96
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-space</title>
+<video poster="http://example .org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..094eec877
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-square-brackets-port-contains-colon</title>
+<video poster="http://[1::2]:3:4"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-tab-novalid.html
new file mode 100644
index 000000000..c5455bee1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-tab</title>
+<video poster="http://example .org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..81c277638
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-u0000-percent-encoded</title>
+<video poster="http://%00.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..34ccb2844
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: host-u0000-percent-encoded-percent-encoded</title>
+<video poster="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..170314bbe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-bare-percent-sign</title>
+<video poster="http://example.com/foo%"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-contains-space-novalid.html
new file mode 100644
index 000000000..e17733c2e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-contains-space</title>
+<video poster="/a/ /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..83d43d2b4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-leading-backslash-at-sign</title>
+<video poster="http://foo.com/\@"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..a0a8c6c52
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-leading-colon-backslash</title>
+<video poster=":\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..5e63c1b4d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-leading-colon-chars-backslash</title>
+<video poster=":foo.com\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-space-novalid.html
new file mode 100644
index 000000000..e738c1feb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-leading-space</title>
+<video poster="http://f:21/ b"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..1c211fd4c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-percent-encoded-malformed</title>
+<video poster="http://example.com/foo/%2e%2"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..786f91dac
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-relative-square-brackets</title>
+<video poster="[61:24:74]:98"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-tab-novalid.html
new file mode 100644
index 000000000..bb9fc12b1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-tab</title>
+<video poster="http://example.com/foo bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-trailing-space-novalid.html
new file mode 100644
index 000000000..f66866c8f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-trailing-space</title>
+<video poster="http://f:21/b ?"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-u0091-novalid.html
new file mode 100644
index 000000000..360426c3a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: path-u0091</title>
+<video poster="http://example.com/foo‘"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-999999-novalid.html
new file mode 100644
index 000000000..9ceec1962
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-999999</title>
+<video poster="http://f:999999/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-cr-novalid.html
new file mode 100644
index 000000000..28796729d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-cr</title>
+<video poster="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..b5b6bef5c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-leading-colon-bracket-colon</title>
+<video poster="http://2001::1]:80"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-colon-novalid.html
new file mode 100644
index 000000000..bd5c28101
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-leading-colon</title>
+<video poster="http://2001::1"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-dash-novalid.html
new file mode 100644
index 000000000..354fe3103
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-leading-dash</title>
+<video poster="http://foo:-80/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..04a2cf18e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-multiple-letters</title>
+<video poster="http://f:fifty-two/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-newline-novalid.html
new file mode 100644
index 000000000..1634a10e0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-newline</title>
+<video poster="http://f:
+/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-single-letter-novalid.html
new file mode 100644
index 000000000..8b95dcc64
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-single-letter</title>
+<video poster="http://f:b/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-space-novalid.html
new file mode 100644
index 000000000..6164a9206
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-space</title>
+<video poster="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-tab-novalid.html
new file mode 100644
index 000000000..5dbbdd5b4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: port-tab</title>
+<video poster="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/query-leading-space-novalid.html
new file mode 100644
index 000000000..e465e950b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: query-leading-space</title>
+<video poster="http://f:21/b? d"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/query-trailing-space-novalid.html
new file mode 100644
index 000000000..640e39972
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: query-trailing-space</title>
+<video poster="http://f:21/b?d #"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..4207e1bab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/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>
+<video poster="data:text/html,test#test"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..61a3376e1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-data-single-slash</title>
+<video poster="data:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..2d2a13b1a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-file-backslash</title>
+<video poster="file:c:\foo\bar.html"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..f6b4897d9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-file-single-slash-c-bar</title>
+<video poster="file:/C|/foo/bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..40b21e03a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-file-triple-slash-c-bar</title>
+<video poster="file:///C|/foo/bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..b06cd92de
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-ftp-no-slash</title>
+<video poster="ftp:example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..2db8cbb1d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-ftp-single-slash</title>
+<video poster="ftp:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..82223ebe1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-http-backslash</title>
+<video poster="http:\\foo.com\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..cb9cb5191
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-http-no-slash-colon</title>
+<video poster="http::@c:29"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..a55b66b5a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-http-no-slash</title>
+<video poster="http:foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..53028e1ea
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-http-no-slash-square-bracket</title>
+<video poster="http:[61:27]/:foo"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..e21f10cb9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-http-single-slash</title>
+<video poster="http:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..103a89e3e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-https-no-slash</title>
+<video poster="https:example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..0c2002984
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-https-single-slash</title>
+<video poster="https:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..af5c83dd2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-javascript-no-slash-malformed</title>
+<video poster="javascript:example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..7ab4fd953
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-trailing-cr</title>
+<video poster="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..e411aa295
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-trailing-newline</title>
+<video poster="a:
+foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..8018630da
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-trailing-space</title>
+<video poster="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..176164f8f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: scheme-trailing-tab</title>
+<video poster="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..584269307
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: userinfo-backslash</title>
+<video poster="http://a\b:c\d@foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..a4afc95e8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: userinfo-password-bad-chars</title>
+<video poster="http://&a:foo(b]c@d:2/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..4948ef6da
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: userinfo-password-contains-pile-of-poo</title>
+<video poster="http://foo:💩@example.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..c0527bc19
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: userinfo-username-contains-at-sign</title>
+<video poster="http://::@c@d:2"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..0275ab7e6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/poster/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid poster: userinfo-username-contains-pile-of-poo</title>
+<video poster="http://💩:foo@example.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src-isvalid.html
new file mode 100644
index 000000000..d7a85fe45
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid src</title>
+<video src="file:///"></video><!-- scheme-file-slash-slash-slash-only -->
+<video src="http://a:@www.example.com"></video><!-- userinfo-password-empty -->
+<video src="foo://///////"></video><!-- scheme-private-path-leading-slashes-only -->
+<video src="file://abc|/foo/bar"></video><!-- scheme-file-slash-slash-abc-bar -->
+<video src="/a/b/c"></video><!-- path-simple-relative -->
+<video src="http://example.com/你好你好"></video><!-- path-unicode-han -->
+<video src="/a/%2f/c"></video><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<video src="http://f:/c"></video><!-- port-none-but-colon -->
+<video src="http://example.com/foo%41%7a"></video><!-- path-percent-encoded-multiple -->
+<video src="http://192.168.0.257/"></video><!-- host-IP-address-broken -->
+<video src="madeupscheme:example.com/"></video><!-- scheme-private-no-slash -->
+<video src="?"></video><!-- query-empty-no-path-relative -->
+<video src="http://example.com/%20foo"></video><!-- path-percent-encoded-space -->
+<video src="mailto:/example.com/"></video><!-- scheme-mailto-single-slash -->
+<video src="::"></video><!-- path-leading-colon-colon-relative -->
+<video src="http://example.com/%3A%3a%3C%3c"></video><!-- path-percent-encoded-mixed-case -->
+<video src="http://user:pass@foo:21/bar;par?b#c"></video><!-- userinfo -->
+<video src="ws:/example.com/"></video><!-- scheme-ws-single-slash -->
+<video src="foo://"></video><!-- scheme-private-slash-slash -->
+<video src="#"></video><!-- fragment-empty-hash-only-no-path-relative -->
+<video src="http://f:00000000000000/c"></video><!-- port-00000000000000 -->
+<video src="foo:////://///"></video><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<video src=":23"></video><!-- path-leading-colon-number-relative -->
+<video src="foo:/"></video><!-- scheme-private-slash -->
+<video src="http://💩"></video><!-- host-is-pile-of-poo -->
+<video src="file:test"></video><!-- scheme-file-no-slash -->
+<video src="file://C|/foo/bar"></video><!-- scheme-file-slash-slash-c-bar -->
+<video src="#/"></video><!-- fragment-slash-relative -->
+<video src="http://192.0x00A80001"></video><!-- host-192.0x00A80001 -->
+<video src="foo.com"></video><!-- scheme-none-relative -->
+<video src="http💩//:foo"></video><!-- path-contains-pile-of-poo -->
+<video src="File://foo/bar.html"></video><!-- scheme-file-uppercase -->
+<video src=":/"></video><!-- path-leading-colon-slash-relative -->
+<video src="http://www.foo。bar.com"></video><!-- host-exotic-dot -->
+<video src="http://GOO​⁠goo.com"></video><!-- host-exotic-whitespace -->
+<video src="file:///foo/bar.txt"></video><!-- scheme-file-host-empty -->
+<video src="javascript:/example.com/"></video><!-- scheme-javascript-single-slash -->
+<video src="gopher:/example.com/"></video><!-- scheme-gopher-single-slash -->
+<video src="ftps:example.com/"></video><!-- scheme-ftps-no-slash -->
+<video src="file://server/foo/bar"></video><!-- scheme-file-host-included -->
+<video src="http://example.com/foo%00"></video><!-- path-percent-encoded-u0000 -->
+<video src="a:foo.com"></video><!-- scheme-private -->
+<video src=":"></video><!-- path-colon-relative -->
+<video src="http://:b@www.example.com"></video><!-- userinfo-user-empty -->
+<video src="file:/"></video><!-- scheme-file-slash-only -->
+<video src="wss:example.com/"></video><!-- scheme-wss-no-slash -->
+<video src="::23"></video><!-- path-colon-colon-number-relative -->
+<video src="/a%2fc"></video><!-- path-percent-encoded-slash-relative -->
+<video src="http://a:b@c:29/d"></video><!-- userinfo-host-port-path -->
+<video src="gopher:example.com/"></video><!-- scheme-gopher-no-slash -->
+<video src="madeupscheme:/example.com/"></video><!-- scheme-private-single-slash -->
+<video src="mailto:example.com/"></video><!-- scheme-mailto-no-slash -->
+<video src="http://%25DOMAIN:foobar@foodomain.com"></video><!-- userinfo-username-contains-percent-encoded -->
+<video src="/:23"></video><!-- path-slash-colon-number-relative -->
+<video src="foo://///////bar.com/"></video><!-- scheme-private-path-leading-slashes-chars -->
+<video src="http://[2001::1]:80"></video><!-- host-ipv6-port -->
+<video src="data:text/plain,foo"></video><!-- scheme-data-no-slash -->
+<video src="http://example.com/foo/%2e"></video><!-- path-percent-encoded-dot -->
+<video src="file:/example.com/"></video><!-- scheme-file-single-slash -->
+<video src="http://example.com/©zbar"></video><!-- path-non-ascii -->
+<video src="http://example.com//foo"></video><!-- path-uFEFF -->
+<video src="wss:/example.com/"></video><!-- scheme-wss-single-slash -->
+<video src="http://foo/abcd#foo?bar"></video><!-- fragment-contains-question-mark -->
+<video src=":#"></video><!-- path-leading-colon-hash-relative -->
+<video src="http://example.com/foo%91"></video><!-- path-percent-encoded-u0091 -->
+<video src="c:/foo"></video><!-- scheme-private-single-letter -->
+<video src=":foo.com"></video><!-- path-leading-colon-chars-relative -->
+<video src="http://你好你好"></video><!-- host-idn-unicode-han -->
+<video src="http://example.com/foo#💩"></video><!-- fragment-contains-pile-of-poo -->
+<video src="file:"></video><!-- scheme-file-scheme-only -->
+<video src="#β"></video><!-- fragment-non-ascii-relative -->
+<video src="foo:/bar.com/"></video><!-- scheme-private-path -->
+<video src="http://f:0/c"></video><!-- port-0 -->
+<video src="#;?"></video><!-- fragment-semicolon-question-mark-relative -->
+<video src="http://Go.com"></video><!-- host-fullwidth -->
+<video src="http://@www.example.com"></video><!-- userinfo-empty -->
+<video src="http://example.com/‮/foo/‭/bar"></video><!-- path-u202E-u202D -->
+<video src="http://[2001::1]"></video><!-- host-ipv6 -->
+<video src="💩http://foo"></video><!-- path-starts-with-pile-of-poo -->
+<video src="http://foo/abcd?efgh?ijkl"></video><!-- query-contains-question-mark -->
+<video src="//foo/bar"></video><!-- scheme-schemeless-relative -->
+<video src="ftps:/example.com/"></video><!-- scheme-ftps-single-slash -->
+<video src="http://foo.com:b@d/"></video><!-- userinfo-username-non-alpha -->
+<video src=":a"></video><!-- path-leading-colon-letter-relative -->
+<video src="/"></video><!-- path-slash-only-relative -->
+<video src="http://example.com/foo?💩"></video><!-- query-contains-pile-of-poo -->
+<video src="http://f:00000000000000000000080/c"></video><!-- port-00000000000000000000080 -->
+<video src="file://"></video><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-backslash-novalid.html
new file mode 100644
index 000000000..ee68bff3d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-backslash</title>
+<video src="#\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..b9d870a9e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-contains-hash</title>
+<video src="http://foo/path#f#g"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..4b1552160
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-leading-space</title>
+<video src="http://f:21/b# e"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-cr-novalid.html
new file mode 100644
index 000000000..961ef7768
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-cr</title>
+<video src="http://example. org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..920ee8a54
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded</title>
+<video src="http://%41.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..4134e80de
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded-percent-encoded</title>
+<video src="http://%ef%bc%85%ef%bc%94%ef%bc%91.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-novalid.html
new file mode 100644
index 000000000..816c3742d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty</title>
+<video src="http://"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..34f65d1a8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-userinfo-empty</title>
+<video src="http://@/www.example.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..95dfb6f5b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-with-userinfo</title>
+<video src="http://user:pass@/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..0768743f4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-hostname-in-brackets</title>
+<video src="http://[www.google.com]/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..9508562d7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode</title>
+<video src="http://﷐zyx.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..b29836ab9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode-percent-encoded</title>
+<video src="http://%ef%b7%90zyx.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-newline-novalid.html
new file mode 100644
index 000000000..41537aeac
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-newline</title>
+<video src="http://example.
+org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-space-novalid.html
new file mode 100644
index 000000000..f480f32c5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-space</title>
+<video src="http://example .org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..447a2aa61
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-square-brackets-port-contains-colon</title>
+<video src="http://[1::2]:3:4"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-tab-novalid.html
new file mode 100644
index 000000000..4076b232c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-tab</title>
+<video src="http://example .org"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..549297e18
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded</title>
+<video src="http://%00.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..8041f2d78
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded-percent-encoded</title>
+<video src="http://%ef%bc%85%ef%bc%90%ef%bc%90.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..d9c3ee571
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-bare-percent-sign</title>
+<video src="http://example.com/foo%"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-contains-space-novalid.html
new file mode 100644
index 000000000..9d5e0c799
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-contains-space</title>
+<video src="/a/ /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..99bea0825
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-backslash-at-sign</title>
+<video src="http://foo.com/\@"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..a6c02e7d6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-backslash</title>
+<video src=":\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..d16c250a8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-chars-backslash</title>
+<video src=":foo.com\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-space-novalid.html
new file mode 100644
index 000000000..72d3eb00f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-space</title>
+<video src="http://f:21/ b"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..d4a76d67f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-percent-encoded-malformed</title>
+<video src="http://example.com/foo/%2e%2"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..70e5f34d6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-relative-square-brackets</title>
+<video src="[61:24:74]:98"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-tab-novalid.html
new file mode 100644
index 000000000..9600b35c9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-tab</title>
+<video src="http://example.com/foo bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-trailing-space-novalid.html
new file mode 100644
index 000000000..8d778ed21
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-trailing-space</title>
+<video src="http://f:21/b ?"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-u0091-novalid.html
new file mode 100644
index 000000000..3a8729e2e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-u0091</title>
+<video src="http://example.com/foo‘"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-999999-novalid.html
new file mode 100644
index 000000000..e877d815b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-999999</title>
+<video src="http://f:999999/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-cr-novalid.html
new file mode 100644
index 000000000..c2ccfb096
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-cr</title>
+<video src="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..e5fb232d4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon-bracket-colon</title>
+<video src="http://2001::1]:80"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-colon-novalid.html
new file mode 100644
index 000000000..96e191517
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon</title>
+<video src="http://2001::1"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-dash-novalid.html
new file mode 100644
index 000000000..fe6f633d4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-dash</title>
+<video src="http://foo:-80/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..3adbe7151
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-multiple-letters</title>
+<video src="http://f:fifty-two/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-newline-novalid.html
new file mode 100644
index 000000000..8537b6737
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-newline</title>
+<video src="http://f:
+/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-single-letter-novalid.html
new file mode 100644
index 000000000..e26c26605
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-single-letter</title>
+<video src="http://f:b/c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-space-novalid.html
new file mode 100644
index 000000000..a64478c87
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-space</title>
+<video src="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-tab-novalid.html
new file mode 100644
index 000000000..06a219733
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-tab</title>
+<video src="http://f: /c"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/query-leading-space-novalid.html
new file mode 100644
index 000000000..7fadece7c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-leading-space</title>
+<video src="http://f:21/b? d"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/query-trailing-space-novalid.html
new file mode 100644
index 000000000..c63758bf8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-trailing-space</title>
+<video src="http://f:21/b?d #"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..b0e34b8fc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/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>
+<video src="data:text/html,test#test"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..8d8dae712
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-data-single-slash</title>
+<video src="data:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..e8901f2c7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-backslash</title>
+<video src="file:c:\foo\bar.html"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..4b0da9509
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-single-slash-c-bar</title>
+<video src="file:/C|/foo/bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..24955ef06
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-triple-slash-c-bar</title>
+<video src="file:///C|/foo/bar"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..5667bea15
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-no-slash</title>
+<video src="ftp:example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..e9dcf201b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-single-slash</title>
+<video src="ftp:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..6809d90d1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-backslash</title>
+<video src="http:\\foo.com\"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..e519b030b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-colon</title>
+<video src="http::@c:29"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..4b8d31777
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash</title>
+<video src="http:foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..7251562c4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-square-bracket</title>
+<video src="http:[61:27]/:foo"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..33f3518fc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-single-slash</title>
+<video src="http:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..c80331a6e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-no-slash</title>
+<video src="https:example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..876011ec0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-single-slash</title>
+<video src="https:/example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..adc7a8789
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-javascript-no-slash-malformed</title>
+<video src="javascript:example.com/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..bb0a0de90
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-cr</title>
+<video src="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..01bb310f9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-newline</title>
+<video src="a:
+foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..6149a4df2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-space</title>
+<video src="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..4285fea13
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-tab</title>
+<video src="a: foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..c18402881
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-backslash</title>
+<video src="http://a\b:c\d@foo.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..0f34b9ec2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-bad-chars</title>
+<video src="http://&a:foo(b]c@d:2/"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..971c1f0eb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-contains-pile-of-poo</title>
+<video src="http://foo:💩@example.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..a3d5736d1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-at-sign</title>
+<video src="http://::@c@d:2"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..d3cc8e1ab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/video/src/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-pile-of-poo</title>
+<video src="http://💩:foo@example.com"></video>
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/001-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/001-isvalid.html
new file mode 100644
index 000000000..445394dde
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/001-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen</title>
+<link href='foo' media='screen' rel='stylesheet'>
+</head>
+<body>
+<p>screen</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/001-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/001-novalid.html
new file mode 100644
index 000000000..d11177604
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/001-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and</title>
+<link href='foo' media='screen and' rel='stylesheet'>
+</head>
+<body>
+<p>screen and</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/002-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/002-isvalid.html
new file mode 100644
index 000000000..8820d5654
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/002-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title> screen</title>
+<link href='foo' media=' screen' rel='stylesheet'>
+</head>
+<body>
+<p> screen</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/002-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/002-novalid.html
new file mode 100644
index 000000000..819d4622f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/002-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>alla</title>
+<link href='foo' media='alla' rel='stylesheet'>
+</head>
+<body>
+<p>alla</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/003-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/003-isvalid.html
new file mode 100644
index 000000000..220eb820b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/003-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>all</title>
+<link href='foo' media='all' rel='stylesheet'>
+</head>
+<body>
+<p>all</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/003-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/003-novalid.html
new file mode 100644
index 000000000..81a7db013
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/003-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>PROJECTİON</title>
+<link href='foo' media='PROJECTİON' rel='stylesheet'>
+</head>
+<body>
+<p>PROJECTİON</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/004-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/004-novalid.html
new file mode 100644
index 000000000..d30fc2055
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/004-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>notscreen</title>
+<link href='foo' media='notscreen' rel='stylesheet'>
+</head>
+<body>
+<p>notscreen</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/005-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/005-isvalid.html
new file mode 100644
index 000000000..cfcf027d0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/005-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>not screen</title>
+<link href='foo' media='not screen' rel='stylesheet'>
+</head>
+<body>
+<p>not screen</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/005-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/005-novalid.html
new file mode 100644
index 000000000..f7bb85293
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/005-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>onlyscreen</title>
+<link href='foo' media='onlyscreen' rel='stylesheet'>
+</head>
+<body>
+<p>onlyscreen</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/006-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/006-isvalid.html
new file mode 100644
index 000000000..7a24e16a1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/006-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>only screen</title>
+<link href='foo' media='only screen' rel='stylesheet'>
+</head>
+<body>
+<p>only screen</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/006-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/006-novalid.html
new file mode 100644
index 000000000..5315c8afe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/006-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screenand (min-width: 400px)</title>
+<link href='foo' media='screenand (min-width: 400px)' rel='stylesheet'>
+</head>
+<body>
+<p>screenand (min-width: 400px)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/007-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/007-isvalid.html
new file mode 100644
index 000000000..59c4a8409
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/007-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400px)</title>
+<link href='foo' media='screen and (min-width: 400px)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400px)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/007-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/007-novalid.html
new file mode 100644
index 000000000..122d5ce77
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/007-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and(min-width: 400px)</title>
+<link href='foo' media='screen and(min-width: 400px)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and(min-width: 400px)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/008-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/008-isvalid.html
new file mode 100644
index 000000000..544bcbeef
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/008-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width:400px)</title>
+<link href='foo' media='screen and (min-width:400px)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width:400px)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/008-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/008-novalid.html
new file mode 100644
index 000000000..453153494
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/008-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400px;)</title>
+<link href='foo' media='screen and (min-width: 400px;)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400px;)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/009-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/009-isvalid.html
new file mode 100644
index 000000000..cee1a4aba
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/009-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and ( min-width: 400px )</title>
+<link href='foo' media='screen and ( min-width: 400px )' rel='stylesheet'>
+</head>
+<body>
+<p>screen and ( min-width: 400px )</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/009-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/009-novalid.html
new file mode 100644
index 000000000..d44dbfa40
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/009-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400uu)</title>
+<link href='foo' media='screen and (min-width: 400uu)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400uu)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/010-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/010-isvalid.html
new file mode 100644
index 000000000..43584464f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/010-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and ( min-width : 400px )</title>
+<link href='foo' media='screen and ( min-width : 400px )' rel='stylesheet'>
+</head>
+<body>
+<p>screen and ( min-width : 400px )</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/010-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/010-novalid.html
new file mode 100644
index 000000000..a016cd99c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/010-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400)</title>
+<link href='foo' media='screen and (min-width: 400)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/011-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/011-isvalid.html
new file mode 100644
index 000000000..335e0e6fd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/011-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400px)</title>
+<link href='foo' media='screen and (min-width: 400px)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400px)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/011-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/011-novalid.html
new file mode 100644
index 000000000..cb9d5ab70
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/011-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400dpi)</title>
+<link href='foo' media='screen and (min-width: 400dpi)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400dpi)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/012-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/012-isvalid.html
new file mode 100644
index 000000000..4de7b828b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/012-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and ( min-width: 400px)</title>
+<link href='foo' media='screen and ( min-width: 400px)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and ( min-width: 400px)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/012-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/012-novalid.html
new file mode 100644
index 000000000..6395788af
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/012-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400px)and (max-width: 600px)</title>
+<link href='foo' media='screen and (min-width: 400px)and (max-width: 600px)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400px)and (max-width: 600px)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/013-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/013-isvalid.html
new file mode 100644
index 000000000..3f138bfb2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/013-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400px )</title>
+<link href='foo' media='screen and (min-width: 400px )' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400px )</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/013-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/013-novalid.html
new file mode 100644
index 000000000..f8b1a9873
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/013-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width:</title>
+<link href='foo' media='screen and (min-width:' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width:</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/014-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/014-isvalid.html
new file mode 100644
index 000000000..6f0133971
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/014-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400px)</title>
+<link href='foo' media='screen and (min-width: 400px)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400px)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/014-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/014-novalid.html
new file mode 100644
index 000000000..6d1cfdbf6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/014-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400px) and</title>
+<link href='foo' media='screen and (min-width: 400px) and' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400px) and</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/015-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/015-isvalid.html
new file mode 100644
index 000000000..598bb9443
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/015-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400px)</title>
+<link href='foo' media='screen and (min-width: 400px)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400px)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/016-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/016-isvalid.html
new file mode 100644
index 000000000..6f0133971
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/016-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400px)</title>
+<link href='foo' media='screen and (min-width: 400px)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400px)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/017-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/017-isvalid.html
new file mode 100644
index 000000000..2b9ebfdce
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/017-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400px)</title>
+<link href='foo' media='screen and (min-width: 400px)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400px)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/018-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/018-isvalid.html
new file mode 100644
index 000000000..08d398a89
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/018-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400px) and (max-width: 600px)</title>
+<link href='foo' media='screen and (min-width: 400px) and (max-width: 600px)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400px) and (max-width: 600px)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/019-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/019-isvalid.html
new file mode 100644
index 000000000..8fa020aa5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/019-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400px) and (max-width: 600px)</title>
+<link href='foo' media='screen and (min-width: 400px) and (max-width: 600px)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400px) and (max-width: 600px)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/019-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/019-novalid.html
new file mode 100644
index 000000000..16a06b68a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/019-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (color: 1em)</title>
+<link href='foo' media='screen and (color: 1em)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (color: 1em)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/020-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/020-isvalid.html
new file mode 100644
index 000000000..0a140e9bf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/020-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400px) and (max-width: 600px)</title>
+<link href='foo' media='screen and (min-width: 400px) and (max-width: 600px)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400px) and (max-width: 600px)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/020-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/020-novalid.html
new file mode 100644
index 000000000..d7aada42f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/020-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>,</title>
+<link href='foo' media=',' rel='stylesheet'>
+</head>
+<body>
+<p>,</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/021-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/021-novalid.html
new file mode 100644
index 000000000..7b62b9843
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/021-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen,,print</title>
+<link href='foo' media='screen,,print' rel='stylesheet'>
+</head>
+<body>
+<p>screen,,print</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/022-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/022-novalid.html
new file mode 100644
index 000000000..92f7c609a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/022-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen,</title>
+<link href='foo' media='screen,' rel='stylesheet'>
+</head>
+<body>
+<p>screen,</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/023-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/023-novalid.html
new file mode 100644
index 000000000..55ac1c007
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/023-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>,screen</title>
+<link href='foo' media=',screen' rel='stylesheet'>
+</head>
+<body>
+<p>,screen</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/024-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/024-novalid.html
new file mode 100644
index 000000000..a016cd99c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/024-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400)</title>
+<link href='foo' media='screen and (min-width: 400)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/025-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/025-isvalid.html
new file mode 100644
index 000000000..cf0079302
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/025-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (color: 1)</title>
+<link href='foo' media='screen and (color: 1)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (color: 1)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/026-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/026-isvalid.html
new file mode 100644
index 000000000..ef8523b8c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/026-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (color: 2)</title>
+<link href='foo' media='screen and (color: 2)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (color: 2)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/027-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/027-isvalid.html
new file mode 100644
index 000000000..99799c77d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/027-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (color: 0)</title>
+<link href='foo' media='screen and (color: 0)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (color: 0)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/028-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/028-isvalid.html
new file mode 100644
index 000000000..61d5b2f68
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/028-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>print and (min-resolution: 100dpi)</title>
+<link href='foo' media='print and (min-resolution: 100dpi)' rel='stylesheet'>
+</head>
+<body>
+<p>print and (min-resolution: 100dpi)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/029-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/029-isvalid.html
new file mode 100644
index 000000000..a3f8cecfc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/029-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 400px), print</title>
+<link href='foo' media='screen and (min-width: 400px), print' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 400px), print</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/030-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/030-isvalid.html
new file mode 100644
index 000000000..c6d20c62c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/030-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 0)</title>
+<link href='foo' media='screen and (min-width: 0)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 0)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/031-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/031-isvalid.html
new file mode 100644
index 000000000..944fadb4e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/031-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 0.0)</title>
+<link href='foo' media='screen and (min-width: 0.0)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 0.0)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/032-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/032-isvalid.html
new file mode 100644
index 000000000..7c60e5a88
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/032-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: 00)</title>
+<link href='foo' media='screen and (min-width: 00)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: 00)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/033-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/033-isvalid.html
new file mode 100644
index 000000000..7a9d3acdf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/033-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (min-width: .0)</title>
+<link href='foo' media='screen and (min-width: .0)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (min-width: .0)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/device-aspect-ratio-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/device-aspect-ratio-novalid.html
new file mode 100644
index 000000000..2b8519359
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/device-aspect-ratio-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>screen and (device-aspect-ratio: 16/9)</title>
+<link href='foo' media='screen and (device-aspect-ratio: 16/9)' rel='stylesheet'>
+</head>
+<body>
+<p>screen and (device-aspect-ratio: 16/9)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/projection-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/projection-novalid.html
new file mode 100644
index 000000000..6e362710d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/projection-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>projection</title>
+<link href='foo' media='projection' rel='stylesheet'>
+</head>
+<body>
+<p>projection</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/source-isvalid.txt b/testing/web-platform/tests/conformance-checkers/html/media-queries/source-isvalid.txt
new file mode 100644
index 000000000..8096ac36d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/source-isvalid.txt
@@ -0,0 +1,33 @@
+screen
+ screen
+all
+projection
+not screen
+only screen
+screen and (min-width: 400px)
+screen and (min-width:400px)
+screen and ( min-width: 400px )
+screen and ( min-width : 400px )
+screen and (min-width: 400px)
+screen and ( min-width: 400px)
+screen and (min-width: 400px )
+screen and (min-width: 400px)
+screen and (min-width: 400px)
+screen and (min-width: 400px)
+screen and (min-width: 400px)
+screen and (min-width: 400px) and (max-width: 600px)
+screen and (min-width: 400px) and (max-width: 600px)
+screen and (min-width: 400px) and (max-width: 600px)
+tv and (scan: progressive)
+tv and (scan: interlace)
+screen and (device-aspect-ratio: 16/9)
+screen and (device-aspect-ratio: -16/-9)
+screen and (color: 1)
+screen and (color: 2)
+screen and (color: 0)
+print and (min-resolution: 100dpi)
+screen and (min-width: 400px), print
+screen and (min-width: 0)
+screen and (min-width: 0.0)
+screen and (min-width: 00)
+screen and (min-width: .0) \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/source-novalid.txt b/testing/web-platform/tests/conformance-checkers/html/media-queries/source-novalid.txt
new file mode 100644
index 000000000..91a5e3fcc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/source-novalid.txt
@@ -0,0 +1,24 @@
+screen and
+alla
+PROJECTİON
+notscreen
+onlyscreen
+screenand (min-width: 400px)
+screen and(min-width: 400px)
+screen and (min-width: 400px;)
+screen and (min-width: 400uu)
+screen and (min-width: 400)
+screen and (min-width: 400dpi)
+screen and (min-width: 400px)and (max-width: 600px)
+screen and (min-width:
+screen and (min-width: 400px) and
+tv and (scan: 1)
+tv and (scan: İNTERLACE)
+screen and (device-aspect-ratio: 16px/9pt)
+screen and (device-aspect-ratio: 16 / 9)
+screen and (color: 1em)
+,
+screen,,print
+screen,
+,screen
+screen and (min-width: 400) \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/media-queries/tv-novalid.html b/testing/web-platform/tests/conformance-checkers/html/media-queries/tv-novalid.html
new file mode 100644
index 000000000..6fc7cfcf0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/media-queries/tv-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>tv and (scan: progressive)</title>
+<link href='foo' media='tv and (scan: progressive)' rel='stylesheet'>
+</head>
+<body>
+<p>tv and (scan: progressive)</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid-empty-isvalid.html
new file mode 100644
index 000000000..956e951c4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty itemid is valid</title>
+<div itemid="" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid-isvalid.html
new file mode 100644
index 000000000..26ac06797
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid itemid</title>
+<div itemid="file:///" itemtype="http://foo" itemscope></div><!-- scheme-file-slash-slash-slash-only -->
+<div itemid="http://a:@www.example.com" itemtype="http://foo" itemscope></div><!-- userinfo-password-empty -->
+<div itemid="foo://///////" itemtype="http://foo" itemscope></div><!-- scheme-private-path-leading-slashes-only -->
+<div itemid="file://abc|/foo/bar" itemtype="http://foo" itemscope></div><!-- scheme-file-slash-slash-abc-bar -->
+<div itemid="/a/b/c" itemtype="http://foo" itemscope></div><!-- path-simple-relative -->
+<div itemid="http://example.com/你好你好" itemtype="http://foo" itemscope></div><!-- path-unicode-han -->
+<div itemid="/a/%2f/c" itemtype="http://foo" itemscope></div><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<div itemid="http://f:/c" itemtype="http://foo" itemscope></div><!-- port-none-but-colon -->
+<div itemid="http://example.com/foo%41%7a" itemtype="http://foo" itemscope></div><!-- path-percent-encoded-multiple -->
+<div itemid="http://192.168.0.257/" itemtype="http://foo" itemscope></div><!-- host-IP-address-broken -->
+<div itemid="madeupscheme:example.com/" itemtype="http://foo" itemscope></div><!-- scheme-private-no-slash -->
+<div itemid="?" itemtype="http://foo" itemscope></div><!-- query-empty-no-path-relative -->
+<div itemid="http://example.com/%20foo" itemtype="http://foo" itemscope></div><!-- path-percent-encoded-space -->
+<div itemid="mailto:/example.com/" itemtype="http://foo" itemscope></div><!-- scheme-mailto-single-slash -->
+<div itemid="::" itemtype="http://foo" itemscope></div><!-- path-leading-colon-colon-relative -->
+<div itemid="http://example.com/%3A%3a%3C%3c" itemtype="http://foo" itemscope></div><!-- path-percent-encoded-mixed-case -->
+<div itemid="http://user:pass@foo:21/bar;par?b#c" itemtype="http://foo" itemscope></div><!-- userinfo -->
+<div itemid="ws:/example.com/" itemtype="http://foo" itemscope></div><!-- scheme-ws-single-slash -->
+<div itemid="foo://" itemtype="http://foo" itemscope></div><!-- scheme-private-slash-slash -->
+<div itemid="#" itemtype="http://foo" itemscope></div><!-- fragment-empty-hash-only-no-path-relative -->
+<div itemid="http://f:00000000000000/c" itemtype="http://foo" itemscope></div><!-- port-00000000000000 -->
+<div itemid="foo:////://///" itemtype="http://foo" itemscope></div><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<div itemid=":23" itemtype="http://foo" itemscope></div><!-- path-leading-colon-number-relative -->
+<div itemid="foo:/" itemtype="http://foo" itemscope></div><!-- scheme-private-slash -->
+<div itemid="http://💩" itemtype="http://foo" itemscope></div><!-- host-is-pile-of-poo -->
+<div itemid="file:test" itemtype="http://foo" itemscope></div><!-- scheme-file-no-slash -->
+<div itemid="file://C|/foo/bar" itemtype="http://foo" itemscope></div><!-- scheme-file-slash-slash-c-bar -->
+<div itemid="#/" itemtype="http://foo" itemscope></div><!-- fragment-slash-relative -->
+<div itemid="http://192.0x00A80001" itemtype="http://foo" itemscope></div><!-- host-192.0x00A80001 -->
+<div itemid="foo.com" itemtype="http://foo" itemscope></div><!-- scheme-none-relative -->
+<div itemid="http💩//:foo" itemtype="http://foo" itemscope></div><!-- path-contains-pile-of-poo -->
+<div itemid="File://foo/bar.html" itemtype="http://foo" itemscope></div><!-- scheme-file-uppercase -->
+<div itemid=":/" itemtype="http://foo" itemscope></div><!-- path-leading-colon-slash-relative -->
+<div itemid="http://www.foo。bar.com" itemtype="http://foo" itemscope></div><!-- host-exotic-dot -->
+<div itemid="http://GOO​⁠goo.com" itemtype="http://foo" itemscope></div><!-- host-exotic-whitespace -->
+<div itemid="file:///foo/bar.txt" itemtype="http://foo" itemscope></div><!-- scheme-file-host-empty -->
+<div itemid="javascript:/example.com/" itemtype="http://foo" itemscope></div><!-- scheme-javascript-single-slash -->
+<div itemid="gopher:/example.com/" itemtype="http://foo" itemscope></div><!-- scheme-gopher-single-slash -->
+<div itemid="ftps:example.com/" itemtype="http://foo" itemscope></div><!-- scheme-ftps-no-slash -->
+<div itemid="file://server/foo/bar" itemtype="http://foo" itemscope></div><!-- scheme-file-host-included -->
+<div itemid="http://example.com/foo%00" itemtype="http://foo" itemscope></div><!-- path-percent-encoded-u0000 -->
+<div itemid="a:foo.com" itemtype="http://foo" itemscope></div><!-- scheme-private -->
+<div itemid=":" itemtype="http://foo" itemscope></div><!-- path-colon-relative -->
+<div itemid="http://:b@www.example.com" itemtype="http://foo" itemscope></div><!-- userinfo-user-empty -->
+<div itemid="file:/" itemtype="http://foo" itemscope></div><!-- scheme-file-slash-only -->
+<div itemid="wss:example.com/" itemtype="http://foo" itemscope></div><!-- scheme-wss-no-slash -->
+<div itemid="::23" itemtype="http://foo" itemscope></div><!-- path-colon-colon-number-relative -->
+<div itemid="/a%2fc" itemtype="http://foo" itemscope></div><!-- path-percent-encoded-slash-relative -->
+<div itemid="http://a:b@c:29/d" itemtype="http://foo" itemscope></div><!-- userinfo-host-port-path -->
+<div itemid="gopher:example.com/" itemtype="http://foo" itemscope></div><!-- scheme-gopher-no-slash -->
+<div itemid="madeupscheme:/example.com/" itemtype="http://foo" itemscope></div><!-- scheme-private-single-slash -->
+<div itemid="mailto:example.com/" itemtype="http://foo" itemscope></div><!-- scheme-mailto-no-slash -->
+<div itemid="http://%25DOMAIN:foobar@foodomain.com" itemtype="http://foo" itemscope></div><!-- userinfo-username-contains-percent-encoded -->
+<div itemid="/:23" itemtype="http://foo" itemscope></div><!-- path-slash-colon-number-relative -->
+<div itemid="foo://///////bar.com/" itemtype="http://foo" itemscope></div><!-- scheme-private-path-leading-slashes-chars -->
+<div itemid="http://[2001::1]:80" itemtype="http://foo" itemscope></div><!-- host-ipv6-port -->
+<div itemid="data:text/plain,foo" itemtype="http://foo" itemscope></div><!-- scheme-data-no-slash -->
+<div itemid="http://example.com/foo/%2e" itemtype="http://foo" itemscope></div><!-- path-percent-encoded-dot -->
+<div itemid="file:/example.com/" itemtype="http://foo" itemscope></div><!-- scheme-file-single-slash -->
+<div itemid="http://example.com/©zbar" itemtype="http://foo" itemscope></div><!-- path-non-ascii -->
+<div itemid="http://example.com//foo" itemtype="http://foo" itemscope></div><!-- path-uFEFF -->
+<div itemid="wss:/example.com/" itemtype="http://foo" itemscope></div><!-- scheme-wss-single-slash -->
+<div itemid="http://foo/abcd#foo?bar" itemtype="http://foo" itemscope></div><!-- fragment-contains-question-mark -->
+<div itemid=":#" itemtype="http://foo" itemscope></div><!-- path-leading-colon-hash-relative -->
+<div itemid="http://example.com/foo%91" itemtype="http://foo" itemscope></div><!-- path-percent-encoded-u0091 -->
+<div itemid="c:/foo" itemtype="http://foo" itemscope></div><!-- scheme-private-single-letter -->
+<div itemid=":foo.com" itemtype="http://foo" itemscope></div><!-- path-leading-colon-chars-relative -->
+<div itemid="http://你好你好" itemtype="http://foo" itemscope></div><!-- host-idn-unicode-han -->
+<div itemid="http://example.com/foo#💩" itemtype="http://foo" itemscope></div><!-- fragment-contains-pile-of-poo -->
+<div itemid="file:" itemtype="http://foo" itemscope></div><!-- scheme-file-scheme-only -->
+<div itemid="#β" itemtype="http://foo" itemscope></div><!-- fragment-non-ascii-relative -->
+<div itemid="foo:/bar.com/" itemtype="http://foo" itemscope></div><!-- scheme-private-path -->
+<div itemid="http://f:0/c" itemtype="http://foo" itemscope></div><!-- port-0 -->
+<div itemid="#;?" itemtype="http://foo" itemscope></div><!-- fragment-semicolon-question-mark-relative -->
+<div itemid="http://Go.com" itemtype="http://foo" itemscope></div><!-- host-fullwidth -->
+<div itemid="http://@www.example.com" itemtype="http://foo" itemscope></div><!-- userinfo-empty -->
+<div itemid="http://example.com/‮/foo/‭/bar" itemtype="http://foo" itemscope></div><!-- path-u202E-u202D -->
+<div itemid="http://[2001::1]" itemtype="http://foo" itemscope></div><!-- host-ipv6 -->
+<div itemid="💩http://foo" itemtype="http://foo" itemscope></div><!-- path-starts-with-pile-of-poo -->
+<div itemid="http://foo/abcd?efgh?ijkl" itemtype="http://foo" itemscope></div><!-- query-contains-question-mark -->
+<div itemid="//foo/bar" itemtype="http://foo" itemscope></div><!-- scheme-schemeless-relative -->
+<div itemid="ftps:/example.com/" itemtype="http://foo" itemscope></div><!-- scheme-ftps-single-slash -->
+<div itemid="http://foo.com:b@d/" itemtype="http://foo" itemscope></div><!-- userinfo-username-non-alpha -->
+<div itemid=":a" itemtype="http://foo" itemscope></div><!-- path-leading-colon-letter-relative -->
+<div itemid="/" itemtype="http://foo" itemscope></div><!-- path-slash-only-relative -->
+<div itemid="http://example.com/foo?💩" itemtype="http://foo" itemscope></div><!-- query-contains-pile-of-poo -->
+<div itemid="http://f:00000000000000000000080/c" itemtype="http://foo" itemscope></div><!-- port-00000000000000000000080 -->
+<div itemid="file://" itemtype="http://foo" itemscope></div><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid-scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid-scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..2fe232933
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid-scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>warning: scheme-data-contains-fragment</title>
+<div itemid="data:text/html,test#test" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/fragment-backslash-novalid.html
new file mode 100644
index 000000000..a765e5e79
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: fragment-backslash</title>
+<div itemid="#\" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..f365b9e72
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: fragment-contains-hash</title>
+<div itemid="http://foo/path#f#g" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..2f7182fe2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: fragment-leading-space</title>
+<div itemid="http://f:21/b# e" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-cr-novalid.html
new file mode 100644
index 000000000..36d3dc82f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: host-cr</title>
+<div itemid="http://example. org" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..8f7618e37
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: host-double-percent-encoded</title>
+<div itemid="http://%41.com" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..c271ada02
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: host-double-percent-encoded-percent-encoded</title>
+<div itemid="http://%ef%bc%85%ef%bc%94%ef%bc%91.com" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-empty-novalid.html
new file mode 100644
index 000000000..07368db65
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: host-empty</title>
+<div itemid="http://" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..6c5d07beb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: host-empty-userinfo-empty</title>
+<div itemid="http://@/www.example.com" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..41a664bf2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: host-empty-with-userinfo</title>
+<div itemid="http://user:pass@/" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..a99370b65
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: host-hostname-in-brackets</title>
+<div itemid="http://[www.google.com]/" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..0104bd3ec
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: host-invalid-unicode</title>
+<div itemid="http://﷐zyx.com" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..940fe8a01
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: host-invalid-unicode-percent-encoded</title>
+<div itemid="http://%ef%b7%90zyx.com" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-newline-novalid.html
new file mode 100644
index 000000000..6474d8ffa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: host-newline</title>
+<div itemid="http://example.
+org" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-space-novalid.html
new file mode 100644
index 000000000..5ccff6990
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: host-space</title>
+<div itemid="http://example .org" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..0c73b6c51
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: host-square-brackets-port-contains-colon</title>
+<div itemid="http://[1::2]:3:4" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-tab-novalid.html
new file mode 100644
index 000000000..f29256c3d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: host-tab</title>
+<div itemid="http://example .org" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..154a92579
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: host-u0000-percent-encoded</title>
+<div itemid="http://%00.com" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..6747c076e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: host-u0000-percent-encoded-percent-encoded</title>
+<div itemid="http://%ef%bc%85%ef%bc%90%ef%bc%90.com" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..e5d5f5fa1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: path-bare-percent-sign</title>
+<div itemid="http://example.com/foo%" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-contains-space-novalid.html
new file mode 100644
index 000000000..a1d17b5f8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: path-contains-space</title>
+<div itemid="/a/ /c" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..0c59308d9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: path-leading-backslash-at-sign</title>
+<div itemid="http://foo.com/\@" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..08a190900
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: path-leading-colon-backslash</title>
+<div itemid=":\" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..01115ee88
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: path-leading-colon-chars-backslash</title>
+<div itemid=":foo.com\" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-leading-space-novalid.html
new file mode 100644
index 000000000..042758b43
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: path-leading-space</title>
+<div itemid="http://f:21/ b" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..49cab58db
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: path-percent-encoded-malformed</title>
+<div itemid="http://example.com/foo/%2e%2" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..b750b59e4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: path-relative-square-brackets</title>
+<div itemid="[61:24:74]:98" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-tab-novalid.html
new file mode 100644
index 000000000..238d57e99
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: path-tab</title>
+<div itemid="http://example.com/foo bar" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-trailing-space-novalid.html
new file mode 100644
index 000000000..65b750b6f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: path-trailing-space</title>
+<div itemid="http://f:21/b ?" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-u0091-novalid.html
new file mode 100644
index 000000000..ae36d74ea
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: path-u0091</title>
+<div itemid="http://example.com/foo‘" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-999999-novalid.html
new file mode 100644
index 000000000..6c1f14fba
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: port-999999</title>
+<div itemid="http://f:999999/c" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-cr-novalid.html
new file mode 100644
index 000000000..28cededa5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: port-cr</title>
+<div itemid="http://f: /c" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..24c9fd154
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: port-leading-colon-bracket-colon</title>
+<div itemid="http://2001::1]:80" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-leading-colon-novalid.html
new file mode 100644
index 000000000..18656d36a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: port-leading-colon</title>
+<div itemid="http://2001::1" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-leading-dash-novalid.html
new file mode 100644
index 000000000..1d275f79d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: port-leading-dash</title>
+<div itemid="http://foo:-80/" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..e404011d2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: port-multiple-letters</title>
+<div itemid="http://f:fifty-two/c" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-newline-novalid.html
new file mode 100644
index 000000000..3b556be6b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: port-newline</title>
+<div itemid="http://f:
+/c" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-single-letter-novalid.html
new file mode 100644
index 000000000..b1274e33b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: port-single-letter</title>
+<div itemid="http://f:b/c" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-space-novalid.html
new file mode 100644
index 000000000..ad2e271ce
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: port-space</title>
+<div itemid="http://f: /c" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-tab-novalid.html
new file mode 100644
index 000000000..e015e7c87
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: port-tab</title>
+<div itemid="http://f: /c" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/query-leading-space-novalid.html
new file mode 100644
index 000000000..c4465245e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: query-leading-space</title>
+<div itemid="http://f:21/b? d" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/query-trailing-space-novalid.html
new file mode 100644
index 000000000..9ca912bfe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: query-trailing-space</title>
+<div itemid="http://f:21/b?d #" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..1ec8d4975
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-data-single-slash</title>
+<div itemid="data:/example.com/" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-file-backslash-novalid.html
new file mode 100644
index 000000000..602e154d8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-file-backslash</title>
+<div itemid="file:c:\foo\bar.html" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 000000000..f94b9e638
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-file-single-slash-c-bar</title>
+<div itemid="file:/C|/foo/bar" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 000000000..c77fe2768
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-file-triple-slash-c-bar</title>
+<div itemid="file:///C|/foo/bar" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..906f089ac
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-ftp-no-slash</title>
+<div itemid="ftp:example.com/" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..48ae5d1d2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-ftp-single-slash</title>
+<div itemid="ftp:/example.com/" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..8e28363a8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-http-backslash</title>
+<div itemid="http:\\foo.com\" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..e52bf145c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-http-no-slash-colon</title>
+<div itemid="http::@c:29" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..d6015baba
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-http-no-slash</title>
+<div itemid="http:foo.com" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..3dc8745f3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-http-no-slash-square-bracket</title>
+<div itemid="http:[61:27]/:foo" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..a653c2c7d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-http-single-slash</title>
+<div itemid="http:/example.com/" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..07b7261b2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-https-no-slash</title>
+<div itemid="https:example.com/" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..6fbd3c1a8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-https-single-slash</title>
+<div itemid="https:/example.com/" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..3bf1c6516
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-javascript-no-slash-malformed</title>
+<div itemid="javascript:example.com/" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..fabd1ebe3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-trailing-cr</title>
+<div itemid="a: foo.com" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..4d82605af
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-trailing-newline</title>
+<div itemid="a:
+foo.com" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..f7a61cd77
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-trailing-space</title>
+<div itemid="a: foo.com" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..a3c50b187
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-trailing-tab</title>
+<div itemid="a: foo.com" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..838664b25
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: userinfo-backslash</title>
+<div itemid="http://a\b:c\d@foo.com" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..282669321
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: userinfo-password-bad-chars</title>
+<div itemid="http://&a:foo(b]c@d:2/" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..8a5ba7a71
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: userinfo-password-contains-pile-of-poo</title>
+<div itemid="http://foo:💩@example.com" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..99f41339c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: userinfo-username-contains-at-sign</title>
+<div itemid="http://::@c@d:2" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..66d597ffc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: userinfo-username-contains-pile-of-poo</title>
+<div itemid="http://💩:foo@example.com" itemtype="http://foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype-empty-novalid.html
new file mode 100644
index 000000000..1ed8c4661
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty itemtype is not valid</title>
+<div itemtype="" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype-isvalid.html
new file mode 100644
index 000000000..81538abeb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype-isvalid.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid itemtype</title>
+<div itemtype="file:///" itemscope></div><!-- scheme-file-slash-slash-slash-only -->
+<div itemtype="http://a:@www.example.com" itemscope></div><!-- userinfo-password-empty -->
+<div itemtype="foo://///////" itemscope></div><!-- scheme-private-path-leading-slashes-only -->
+<div itemtype="file://abc|/foo/bar" itemscope></div><!-- scheme-file-slash-slash-abc-bar -->
+<div itemtype="http://example.com/foo#💩" itemscope></div><!-- fragment-contains-pile-of-poo -->
+<div itemtype="http://example.com/你好你好" itemscope></div><!-- path-unicode-han -->
+<div itemtype="http://f:/c" itemscope></div><!-- port-none-but-colon -->
+<div itemtype="http://example.com/foo%41%7a" itemscope></div><!-- path-percent-encoded-multiple -->
+<div itemtype="http://192.168.0.257/" itemscope></div><!-- host-IP-address-broken -->
+<div itemtype="madeupscheme:example.com/" itemscope></div><!-- scheme-private-no-slash -->
+<div itemtype="http://example.com/%20foo" itemscope></div><!-- path-percent-encoded-space -->
+<div itemtype="http://%25DOMAIN:foobar@foodomain.com" itemscope></div><!-- userinfo-username-contains-percent-encoded -->
+<div itemtype="http://你好你好" itemscope></div><!-- host-idn-unicode-han -->
+<div itemtype="http://example.com/%3A%3a%3C%3c" itemscope></div><!-- path-percent-encoded-mixed-case -->
+<div itemtype="http://user:pass@foo:21/bar;par?b#c" itemscope></div><!-- userinfo -->
+<div itemtype="ws:/example.com/" itemscope></div><!-- scheme-ws-single-slash -->
+<div itemtype="foo://" itemscope></div><!-- scheme-private-slash-slash -->
+<div itemtype="http://f:00000000000000/c" itemscope></div><!-- port-00000000000000 -->
+<div itemtype="foo:////://///" itemscope></div><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<div itemtype="foo:/" itemscope></div><!-- scheme-private-slash -->
+<div itemtype="http://💩" itemscope></div><!-- host-is-pile-of-poo -->
+<div itemtype="file:test" itemscope></div><!-- scheme-file-no-slash -->
+<div itemtype="file://C|/foo/bar" itemscope></div><!-- scheme-file-slash-slash-c-bar -->
+<div itemtype="http://192.0x00A80001" itemscope></div><!-- host-192.0x00A80001 -->
+<div itemtype="http://example.com/foo/💩" itemscope></div><!-- path-contains-pile-of-poo -->
+<div itemtype="File://foo/bar.html" itemscope></div><!-- scheme-file-uppercase -->
+<div itemtype="http://www.foo。bar.com" itemscope></div><!-- host-exotic-dot -->
+<div itemtype="http://GOO​⁠goo.com" itemscope></div><!-- host-exotic-whitespace -->
+<div itemtype="file:///foo/bar.txt" itemscope></div><!-- scheme-file-host-empty -->
+<div itemtype="javascript:/example.com/" itemscope></div><!-- scheme-javascript-single-slash -->
+<div itemtype="gopher:/example.com/" itemscope></div><!-- scheme-gopher-single-slash -->
+<div itemtype="ftps:example.com/" itemscope></div><!-- scheme-ftps-no-slash -->
+<div itemtype="file://server/foo/bar" itemscope></div><!-- scheme-file-host-included -->
+<div itemtype="http://foo/abcd#foo?bar" itemscope></div><!-- fragment-contains-question-mark -->
+<div itemtype="a:foo.com" itemscope></div><!-- scheme-private -->
+<div itemtype="http://:b@www.example.com" itemscope></div><!-- userinfo-user-empty -->
+<div itemtype="file:/" itemscope></div><!-- scheme-file-slash-only -->
+<div itemtype="madeupscheme:/example.com/" itemscope></div><!-- scheme-private-single-slash -->
+<div itemtype="http://a:b@c:29/d" itemscope></div><!-- userinfo-host-port-path -->
+<div itemtype="gopher:example.com/" itemscope></div><!-- scheme-gopher-no-slash -->
+<div itemtype="mailto:example.com/" itemscope></div><!-- scheme-mailto-no-slash -->
+<div itemtype="mailto:/example.com/" itemscope></div><!-- scheme-mailto-single-slash -->
+<div itemtype="foo://///////bar.com/" itemscope></div><!-- scheme-private-path-leading-slashes-chars -->
+<div itemtype="http://[2001::1]:80" itemscope></div><!-- host-ipv6-port -->
+<div itemtype="http://example.com/foo/%2e" itemscope></div><!-- path-percent-encoded-dot -->
+<div itemtype="file:/example.com/" itemscope></div><!-- scheme-file-single-slash -->
+<div itemtype="http://example.com/©zbar" itemscope></div><!-- path-non-ascii -->
+<div itemtype="http://example.com//foo" itemscope></div><!-- path-uFEFF -->
+<div itemtype="wss:/example.com/" itemscope></div><!-- scheme-wss-single-slash -->
+<div itemtype="http://example.com/foo%00" itemscope></div><!-- path-percent-encoded-u0000 -->
+<div itemtype="http://example.com/foo%91" itemscope></div><!-- path-percent-encoded-u0091 -->
+<div itemtype="c:/foo" itemscope></div><!-- scheme-private-single-letter -->
+<div itemtype="wss:example.com/" itemscope></div><!-- scheme-wss-no-slash -->
+<div itemtype="http://foo/abcd?efgh?ijkl" itemscope></div><!-- query-contains-question-mark -->
+<div itemtype="file:" itemscope></div><!-- scheme-file-scheme-only -->
+<div itemtype="foo:/bar.com/" itemscope></div><!-- scheme-private-path -->
+<div itemtype="http://f:0/c" itemscope></div><!-- port-0 -->
+<div itemtype="http://Go.com" itemscope></div><!-- host-fullwidth -->
+<div itemtype="http://@www.example.com" itemscope></div><!-- userinfo-empty -->
+<div itemtype="http://example.com/‮/foo/‭/bar" itemscope></div><!-- path-u202E-u202D -->
+<div itemtype="http://[2001::1]" itemscope></div><!-- host-ipv6 -->
+<div itemtype="ftps:/example.com/" itemscope></div><!-- scheme-ftps-single-slash -->
+<div itemtype="http://foo.com:b@d/" itemscope></div><!-- userinfo-username-non-alpha -->
+<div itemtype="data:text/plain,foo" itemscope></div><!-- scheme-data-no-slash -->
+<div itemtype="http://example.com/foo?💩" itemscope></div><!-- query-contains-pile-of-poo -->
+<div itemtype="http://f:00000000000000000000080/c" itemscope></div><!-- port-00000000000000000000080 -->
+<div itemtype="file://" itemscope></div><!-- scheme-file-slash-slash-only -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype-scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype-scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 000000000..337469157
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype-scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>warning: scheme-data-contains-fragment</title>
+<div itemtype="data:text/html,test#test" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-backslash-novalid.html
new file mode 100644
index 000000000..7165f9650
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: fragment-backslash</title>
+<div itemtype="#\" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-contains-hash-novalid.html
new file mode 100644
index 000000000..0f36d930d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: fragment-contains-hash</title>
+<div itemtype="http://foo/path#f#g" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-empty-hash-only-no-path-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-empty-hash-only-no-path-relative-novalid.html
new file mode 100644
index 000000000..b6d6f6303
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-empty-hash-only-no-path-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: fragment-empty-hash-only-no-path-relative</title>
+<div itemtype="#" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-leading-space-novalid.html
new file mode 100644
index 000000000..140200b51
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: fragment-leading-space</title>
+<div itemtype="http://f:21/b# e" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-non-ascii-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-non-ascii-relative-novalid.html
new file mode 100644
index 000000000..bf8bd41ba
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-non-ascii-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: fragment-non-ascii-relative</title>
+<div itemtype="#β" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-semicolon-question-mark-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-semicolon-question-mark-relative-novalid.html
new file mode 100644
index 000000000..654b38ee5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-semicolon-question-mark-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: fragment-semicolon-question-mark-relative</title>
+<div itemtype="#;?" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-slash-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-slash-relative-novalid.html
new file mode 100644
index 000000000..d257b10f4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/fragment-slash-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: fragment-slash-relative</title>
+<div itemtype="#/" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-cr-novalid.html
new file mode 100644
index 000000000..e3528dfdf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: host-cr</title>
+<div itemtype="http://example. org" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-double-percent-encoded-novalid.html
new file mode 100644
index 000000000..435a74226
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: host-double-percent-encoded</title>
+<div itemtype="http://%41.com" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..d84dd8ef2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: host-double-percent-encoded-percent-encoded</title>
+<div itemtype="http://%ef%bc%85%ef%bc%94%ef%bc%91.com" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-empty-novalid.html
new file mode 100644
index 000000000..3de07bdf0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: host-empty</title>
+<div itemtype="http://" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 000000000..e4a11f717
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: host-empty-userinfo-empty</title>
+<div itemtype="http://@/www.example.com" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-empty-with-userinfo-novalid.html
new file mode 100644
index 000000000..9457bbd6e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: host-empty-with-userinfo</title>
+<div itemtype="http://user:pass@/" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-hostname-in-brackets-novalid.html
new file mode 100644
index 000000000..9046800cc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: host-hostname-in-brackets</title>
+<div itemtype="http://[www.google.com]/" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-invalid-unicode-novalid.html
new file mode 100644
index 000000000..c059b89b0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: host-invalid-unicode</title>
+<div itemtype="http://﷐zyx.com" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 000000000..0f1522d80
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: host-invalid-unicode-percent-encoded</title>
+<div itemtype="http://%ef%b7%90zyx.com" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-newline-novalid.html
new file mode 100644
index 000000000..9fcb3cded
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: host-newline</title>
+<div itemtype="http://example.
+org" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-space-novalid.html
new file mode 100644
index 000000000..195ec60b5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: host-space</title>
+<div itemtype="http://example .org" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 000000000..dc53b33ca
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: host-square-brackets-port-contains-colon</title>
+<div itemtype="http://[1::2]:3:4" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-tab-novalid.html
new file mode 100644
index 000000000..54d754c2c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: host-tab</title>
+<div itemtype="http://example .org" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 000000000..e087825a9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: host-u0000-percent-encoded</title>
+<div itemtype="http://%00.com" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 000000000..342056e1b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: host-u0000-percent-encoded-percent-encoded</title>
+<div itemtype="http://%ef%bc%85%ef%bc%90%ef%bc%90.com" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-bare-percent-sign-novalid.html
new file mode 100644
index 000000000..ee4f3b197
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: path-bare-percent-sign</title>
+<div itemtype="http://example.com/foo%" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-contains-space-novalid.html
new file mode 100644
index 000000000..a23414ada
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: path-contains-space</title>
+<div itemtype="/a/ /c" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 000000000..bc3bd9363
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: path-leading-backslash-at-sign</title>
+<div itemtype="http://foo.com/\@" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-leading-colon-backslash-novalid.html
new file mode 100644
index 000000000..42173c5a7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: path-leading-colon-backslash</title>
+<div itemtype=":\" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 000000000..a12ee1838
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: path-leading-colon-chars-backslash</title>
+<div itemtype=":foo.com\" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-leading-space-novalid.html
new file mode 100644
index 000000000..23107f27e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: path-leading-space</title>
+<div itemtype="http://f:21/ b" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 000000000..76c92a247
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: path-percent-encoded-malformed</title>
+<div itemtype="http://example.com/foo/%2e%2" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-slash-plus-slashes-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-slash-plus-slashes-relative-novalid.html
new file mode 100644
index 000000000..74e8c6cb0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-slash-plus-slashes-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: path-percent-encoded-slash-plus-slashes-relative</title>
+<div itemtype="/a/%2f/c" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-slash-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-slash-relative-novalid.html
new file mode 100644
index 000000000..524a75998
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-percent-encoded-slash-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: path-percent-encoded-slash-relative</title>
+<div itemtype="/a%2fc" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-relative-square-brackets-novalid.html
new file mode 100644
index 000000000..5b9835bde
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: path-relative-square-brackets</title>
+<div itemtype="[61:24:74]:98" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-simple-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-simple-relative-novalid.html
new file mode 100644
index 000000000..fb94f42fe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-simple-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: path-simple-relative</title>
+<div itemtype="/a/b/c" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-slash-only-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-slash-only-relative-novalid.html
new file mode 100644
index 000000000..078fff902
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-slash-only-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: path-slash-only-relative</title>
+<div itemtype="/" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-tab-novalid.html
new file mode 100644
index 000000000..e54d09378
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: path-tab</title>
+<div itemtype="http://example.com/foo bar" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-trailing-space-novalid.html
new file mode 100644
index 000000000..d5dd76481
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: path-trailing-space</title>
+<div itemtype="http://f:21/b ?" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-u0091-novalid.html
new file mode 100644
index 000000000..834454957
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: path-u0091</title>
+<div itemtype="http://example.com/foo‘" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-999999-novalid.html
new file mode 100644
index 000000000..ceb94815d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: port-999999</title>
+<div itemtype="http://f:999999/c" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-cr-novalid.html
new file mode 100644
index 000000000..302a96c79
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: port-cr</title>
+<div itemtype="http://f: /c" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 000000000..482e11d8f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: port-leading-colon-bracket-colon</title>
+<div itemtype="http://2001::1]:80" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-leading-colon-novalid.html
new file mode 100644
index 000000000..15c969782
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: port-leading-colon</title>
+<div itemtype="http://2001::1" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-leading-dash-novalid.html
new file mode 100644
index 000000000..b6b2847c2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: port-leading-dash</title>
+<div itemtype="http://foo:-80/" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-multiple-letters-novalid.html
new file mode 100644
index 000000000..1d63eb6b9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: port-multiple-letters</title>
+<div itemtype="http://f:fifty-two/c" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-newline-novalid.html
new file mode 100644
index 000000000..56f5b4180
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: port-newline</title>
+<div itemtype="http://f:
+/c" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-single-letter-novalid.html
new file mode 100644
index 000000000..5817b69d5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: port-single-letter</title>
+<div itemtype="http://f:b/c" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-space-novalid.html
new file mode 100644
index 000000000..c66dde4cd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: port-space</title>
+<div itemtype="http://f: /c" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-tab-novalid.html
new file mode 100644
index 000000000..0056f4ef9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: port-tab</title>
+<div itemtype="http://f: /c" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/query-empty-no-path-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/query-empty-no-path-relative-novalid.html
new file mode 100644
index 000000000..389c2acc8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/query-empty-no-path-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: query-empty-no-path-relative</title>
+<div itemtype="?" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/query-leading-space-novalid.html
new file mode 100644
index 000000000..ab89c0e2a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: query-leading-space</title>
+<div itemtype="http://f:21/b? d" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/query-trailing-space-novalid.html
new file mode 100644
index 000000000..8db94d80c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: query-trailing-space</title>
+<div itemtype="http://f:21/b?d #" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-data-single-slash-novalid.html
new file mode 100644
index 000000000..a4b88ed71
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: scheme-data-single-slash</title>
+<div itemtype="data:/example.com/" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 000000000..e4c5289f1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: scheme-ftp-no-slash</title>
+<div itemtype="ftp:example.com/" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 000000000..0a95473a4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: scheme-ftp-single-slash</title>
+<div itemtype="ftp:/example.com/" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-backslash-novalid.html
new file mode 100644
index 000000000..133b47c83
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: scheme-http-backslash</title>
+<div itemtype="http:\\foo.com\" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 000000000..613afa137
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: scheme-http-no-slash-colon</title>
+<div itemtype="http::@c:29" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-novalid.html
new file mode 100644
index 000000000..4da5f8f31
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: scheme-http-no-slash</title>
+<div itemtype="http:foo.com" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 000000000..03aa71aad
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: scheme-http-no-slash-square-bracket</title>
+<div itemtype="http:[61:27]/:foo" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-single-slash-novalid.html
new file mode 100644
index 000000000..32f31a64c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: scheme-http-single-slash</title>
+<div itemtype="http:/example.com/" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-https-no-slash-novalid.html
new file mode 100644
index 000000000..e5d4bd70d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: scheme-https-no-slash</title>
+<div itemtype="https:example.com/" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-https-single-slash-novalid.html
new file mode 100644
index 000000000..d4608d038
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: scheme-https-single-slash</title>
+<div itemtype="https:/example.com/" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-javascript-no-slash-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-javascript-no-slash-malformed-novalid.html
new file mode 100644
index 000000000..5110c6d35
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-javascript-no-slash-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: scheme-javascript-no-slash-malformed</title>
+<div itemtype="javascript:example.com/" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-schemeless-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-schemeless-relative-novalid.html
new file mode 100644
index 000000000..c2301027d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-schemeless-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: scheme-schemeless-relative</title>
+<div itemtype="//foo/bar" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-cr-novalid.html
new file mode 100644
index 000000000..0ec64f5a4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: scheme-trailing-cr</title>
+<div itemtype="a: foo.com" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-newline-novalid.html
new file mode 100644
index 000000000..1ea50fcc9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: scheme-trailing-newline</title>
+<div itemtype="a:
+foo.com" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-space-novalid.html
new file mode 100644
index 000000000..5421a3e81
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: scheme-trailing-space</title>
+<div itemtype="a: foo.com" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-tab-novalid.html
new file mode 100644
index 000000000..fa0e3ca83
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: scheme-trailing-tab</title>
+<div itemtype="a: foo.com" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-backslash-novalid.html
new file mode 100644
index 000000000..10e6853cf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: userinfo-backslash</title>
+<div itemtype="http://a\b:c\d@foo.com" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 000000000..e617ca7b7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: userinfo-password-bad-chars</title>
+<div itemtype="http://&a:foo(b]c@d:2/" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..ecde2e96d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: userinfo-password-contains-pile-of-poo</title>
+<div itemtype="http://foo:💩@example.com" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 000000000..b89683c38
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: userinfo-username-contains-at-sign</title>
+<div itemtype="http://::@c@d:2" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 000000000..7b09f94cd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemtype: userinfo-username-contains-pile-of-poo</title>
+<div itemtype="http://💩:foo@example.com" itemscope></div>
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/001-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/001-isvalid.html
new file mode 100644
index 000000000..beee46315
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/001-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>text/html</title>
+<link href='foo' type='text/html' rel='stylesheet'>
+</head>
+<body>
+<p>text/html</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/001-novalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/001-novalid.html
new file mode 100644
index 000000000..98d7d44a3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/001-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>text/html </title>
+<link href='foo' type='text/html ' rel='stylesheet'>
+</head>
+<body>
+<p>text/html </p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/002-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/002-isvalid.html
new file mode 100644
index 000000000..88bd22910
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/002-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>TEXT/HTML</title>
+<link href='foo' type='TEXT/HTML' rel='stylesheet'>
+</head>
+<body>
+<p>TEXT/HTML</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/002-novalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/002-novalid.html
new file mode 100644
index 000000000..3f434dd3d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/002-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title> TEXT/HTML</title>
+<link href='foo' type=' TEXT/HTML' rel='stylesheet'>
+</head>
+<body>
+<p> TEXT/HTML</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/003-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/003-isvalid.html
new file mode 100644
index 000000000..99f4bed59
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/003-isvalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>text/html;charset=utf-8</title>
+<link href='foo' type='text/html;charset=utf-8' rel='stylesheet'>
+</head>
+<body>
+<p>text/html;charset=utf-8</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/003-novalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/003-novalid.html
new file mode 100644
index 000000000..39d2be0c1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/003-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>text/html;charset=</title>
+<link href='foo' type='text/html;charset=' rel='stylesheet'>
+</head>
+<body>
+<p>text/html;charset=</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/004-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/004-isvalid.html
new file mode 100644
index 000000000..5c9a2065b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/004-isvalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>text/html ;charset=utf-8</title>
+<link href='foo' type='text/html ;charset=utf-8' rel='stylesheet'>
+</head>
+<body>
+<p>text/html ;charset=utf-8</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/004-novalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/004-novalid.html
new file mode 100644
index 000000000..4fa0bf999
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/004-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>text/html ;charset</title>
+<link href='foo' type='text/html ;charset' rel='stylesheet'>
+</head>
+<body>
+<p>text/html ;charset</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/005-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/005-isvalid.html
new file mode 100644
index 000000000..4803124f3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/005-isvalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>text/html; charset=utf-8</title>
+<link href='foo' type='text/html; charset=utf-8' rel='stylesheet'>
+</head>
+<body>
+<p>text/html; charset=utf-8</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/005-novalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/005-novalid.html
new file mode 100644
index 000000000..4ada4f9f9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/005-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>text/html;</title>
+<link href='foo' type='text/html;' rel='stylesheet'>
+</head>
+<body>
+<p>text/html;</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/006-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/006-isvalid.html
new file mode 100644
index 000000000..5e25924ac
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/006-isvalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>text/html ; charset=utf-8</title>
+<link href='foo' type='text/html ; charset=utf-8' rel='stylesheet'>
+</head>
+<body>
+<p>text/html ; charset=utf-8</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/006-novalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/006-novalid.html
new file mode 100644
index 000000000..29bf1653c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/006-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>text/html; </title>
+<link href='foo' type='text/html; ' rel='stylesheet'>
+</head>
+<body>
+<p>text/html; </p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/007-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/007-isvalid.html
new file mode 100644
index 000000000..c71d991ff
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/007-isvalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>text/html;charset="utf-8"</title>
+<link href='foo' type='text/html;charset="utf-8"' rel='stylesheet'>
+</head>
+<body>
+<p>text/html;charset="utf-8"</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/007-novalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/007-novalid.html
new file mode 100644
index 000000000..83c368963
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/007-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>text/html ;</title>
+<link href='foo' type='text/html ;' rel='stylesheet'>
+</head>
+<body>
+<p>text/html ;</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/008-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/008-isvalid.html
new file mode 100644
index 000000000..2a9c7dfac
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/008-isvalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>text/html;charset="\utf-8"</title>
+<link href='foo' type='text/html;charset="\utf-8"' rel='stylesheet'>
+</head>
+<body>
+<p>text/html;charset="\utf-8"</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/008-novalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/008-novalid.html
new file mode 100644
index 000000000..0c4058763
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/008-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>text/html;charset="utf-8</title>
+<link href='foo' type='text/html;charset="utf-8' rel='stylesheet'>
+</head>
+<body>
+<p>text/html;charset="utf-8</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/009-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/009-isvalid.html
new file mode 100644
index 000000000..3f145d9fd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/009-isvalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>text/html;charset="u\t\f\-\8"</title>
+<link href='foo' type='text/html;charset="u\t\f\-\8"' rel='stylesheet'>
+</head>
+<body>
+<p>text/html;charset="u\t\f\-\8"</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/009-novalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/009-novalid.html
new file mode 100644
index 000000000..897ab1042
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/009-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>text/html;charset="u\</title>
+<link href='foo' type='text/html;charset="u\' rel='stylesheet'>
+</head>
+<body>
+<p>text/html;charset="u\</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/010-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/010-isvalid.html
new file mode 100644
index 000000000..f581b74d5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/010-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>application/auth-policy+xml</title>
+<link href='foo' type='application/auth-policy+xml' rel='stylesheet'>
+</head>
+<body>
+<p>application/auth-policy+xml</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/010-novalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/010-novalid.html
new file mode 100644
index 000000000..66b243152
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/010-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>application</title>
+<link href='foo' type='application' rel='stylesheet'>
+</head>
+<body>
+<p>application</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/011-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/011-isvalid.html
new file mode 100644
index 000000000..a1fe2c546
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/011-isvalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>application/vnd.apple.installer+xml</title>
+<link href='foo' type='application/vnd.apple.installer+xml' rel='stylesheet'>
+</head>
+<body>
+<p>application/vnd.apple.installer+xml</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/011-novalid.html b/testing/web-platform/tests/conformance-checkers/html/mime-types/011-novalid.html
new file mode 100644
index 000000000..ffd850c77
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/011-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>application/</title>
+<link href='foo' type='application/' rel='stylesheet'>
+</head>
+<body>
+<p>application/</p>
+</body>
+</html> \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/source-isvalid.txt b/testing/web-platform/tests/conformance-checkers/html/mime-types/source-isvalid.txt
new file mode 100644
index 000000000..ef2436e49
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/source-isvalid.txt
@@ -0,0 +1,11 @@
+text/html
+TEXT/HTML
+text/html;charset=utf-8
+text/html ;charset=utf-8
+text/html; charset=utf-8
+text/html ; charset=utf-8
+text/html;charset="utf-8"
+text/html;charset="\utf-8"
+text/html;charset="u\t\f\-\8"
+application/auth-policy+xml
+application/vnd.apple.installer+xml \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/mime-types/source-novalid.txt b/testing/web-platform/tests/conformance-checkers/html/mime-types/source-novalid.txt
new file mode 100644
index 000000000..52a320e85
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/mime-types/source-novalid.txt
@@ -0,0 +1,11 @@
+text/html
+ TEXT/HTML
+text/html;charset=
+text/html ;charset
+text/html;
+text/html;
+text/html ;
+text/html;charset="utf-8
+text/html;charset="u\
+application
+application/ \ No newline at end of file
diff --git a/testing/web-platform/tests/conformance-checkers/html/obsolete/acronym-novalid.html b/testing/web-platform/tests/conformance-checkers/html/obsolete/acronym-novalid.html
new file mode 100644
index 000000000..c00eff544
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/obsolete/acronym-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>the "acronym" element is obsolete</title>
+<meta charset=utf-8>
+</head>
+<body>
+<acronym>baz</acronym>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/obsolete/applet-novalid.html b/testing/web-platform/tests/conformance-checkers/html/obsolete/applet-novalid.html
new file mode 100644
index 000000000..94bb0165d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/obsolete/applet-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>the "applet" element is obsolete</title>
+<meta charset=utf-8>
+</head>
+<body>
+<applet>baz</applet>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/obsolete/basefont-novalid.html b/testing/web-platform/tests/conformance-checkers/html/obsolete/basefont-novalid.html
new file mode 100644
index 000000000..7f329d5ca
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/obsolete/basefont-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>the "basefont" element is obsolete</title>
+<meta charset=utf-8>
+</head>
+<body>
+<basefont>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/obsolete/big-novalid.html b/testing/web-platform/tests/conformance-checkers/html/obsolete/big-novalid.html
new file mode 100644
index 000000000..90868cc89
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/obsolete/big-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>the "big" element is obsolete</title>
+<meta charset=utf-8>
+</head>
+<body>
+<big>baz</big>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/obsolete/center-novalid.html b/testing/web-platform/tests/conformance-checkers/html/obsolete/center-novalid.html
new file mode 100644
index 000000000..83d3cc28d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/obsolete/center-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>the "center" element is obsolete</title>
+<meta charset=utf-8>
+</head>
+<body>
+<center>baz</center>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/obsolete/dir-novalid.html b/testing/web-platform/tests/conformance-checkers/html/obsolete/dir-novalid.html
new file mode 100644
index 000000000..072f1c619
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/obsolete/dir-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>the "dir" element is obsolete</title>
+<meta charset=utf-8>
+</head>
+<body>
+<dir></dir>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/obsolete/font-novalid.html b/testing/web-platform/tests/conformance-checkers/html/obsolete/font-novalid.html
new file mode 100644
index 000000000..450f27ad4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/obsolete/font-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>the "font" element is obsolete</title>
+<meta charset=utf-8>
+</head>
+<body>
+<font>baz</font>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/obsolete/frameset-novalid.html b/testing/web-platform/tests/conformance-checkers/html/obsolete/frameset-novalid.html
new file mode 100644
index 000000000..d7de332fe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/obsolete/frameset-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>the "frameset" element is obsolete</title>
+<meta charset=utf-8>
+</head>
+<frameset>
+<frame src="url">
+<frame src="url2">
+</frameset>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/obsolete/noframes-novalid.html b/testing/web-platform/tests/conformance-checkers/html/obsolete/noframes-novalid.html
new file mode 100644
index 000000000..84699e67b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/obsolete/noframes-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>the "noframes" element is obsolete</title>
+<meta charset=utf-8>
+</head>
+<body>
+<noframes>baz</noframes>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/obsolete/profile-novalid.html b/testing/web-platform/tests/conformance-checkers/html/obsolete/profile-novalid.html
new file mode 100644
index 000000000..6b4a4f39e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/obsolete/profile-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head profile="http://www.w3.org/2006/03/hcard http://dublincore.org/documents/2008/08/04/dc-html/">
+<title>the profile attribute on the head element is obsolete</title>
+<meta charset=utf-8>
+</head>
+<body>
+<p>This page contains a <code>head</code> element with an obsolete
+<code>profile</code> attribute. It should trigger a validation error.</p>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/obsolete/strike-novalid.html b/testing/web-platform/tests/conformance-checkers/html/obsolete/strike-novalid.html
new file mode 100644
index 000000000..0a4c77046
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/obsolete/strike-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>the "strike" element is obsolete</title>
+<meta charset=utf-8>
+</head>
+<body>
+<strike>baz</strike>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/obsolete/tt-novalid.html b/testing/web-platform/tests/conformance-checkers/html/obsolete/tt-novalid.html
new file mode 100644
index 000000000..ee4942dcc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/obsolete/tt-novalid.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>the "tt" element is obsolete</title>
+<meta charset=utf-8>
+</head>
+<body>
+<tt>baz</tt>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/other/applet-novalid.html b/testing/web-platform/tests/conformance-checkers/html/other/applet-novalid.html
new file mode 100644
index 000000000..5b0c8de34
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/other/applet-novalid.html
@@ -0,0 +1,108 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;applet&gt;</title>
+</head>
+<body>
+
+ <!-- is structured inline -->
+ <p><applet
+ archive="uri1,uri2"
+ code="foo"
+ codebase="uri"
+ height="40"
+ width="40"
+ name="sth"
+ class="class"
+ lang="en"></applet></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><applet
+ archive="uri1,uri2"
+ code="foo"
+ codebase="uri"
+ height="40"
+ width="40"
+ name="sth"
+ class="class"
+ lang="en"></applet></dfn></p>
+
+ <!-- is block -->
+ <applet
+ archive="uri1,uri2"
+ code="foo"
+ codebase="uri"
+ height="40"
+ width="40"
+ name="sth"
+ class="class"
+ lang="en"></applet>
+
+ <!-- can contain inline while in inline context, but param must come first -->
+ <p>paragraph
+ <applet code="foo" width="10" height="10">
+ <em>some</em> <ul><li>inline</li></ul> content
+ </applet>
+ </p>
+ <p>paragraph
+ <applet code="foo" width="10" height="10">
+ <param name="foo"><param name="bar">
+ <em>some</em> <ul><li>inline</li></ul> content
+ </applet>
+ </p>
+
+ <!-- can contain strictly inline while in strictly inline context, but param must come first -->
+ <p><dfn>strictly inline
+ <applet code="foo" width="10" height="10">
+ <em>text</em>
+ </applet>
+ </dfn></p>
+ <p><dfn>strictly inline
+ <applet code="foo" width="10" height="10">
+ <param name="foo"><param name="bar">
+ <em>text</em>
+ </applet>
+ </dfn></p>
+
+ <!-- can contain blocks while in block context, but param must come first -->
+ <applet code="foo" width="10" height="10">
+ <p>text</p>
+ </applet>
+ <applet code="foo" width="10" height="10">
+ <param name="foo"><param name="bar">
+ <p>text</p>
+ </applet>
+
+ <!-- can contain interactive if ancestor does not forbid it, but param must come first -->
+ <p>paragraph
+ <applet code="foo" width="10" height="10">
+ <a>link</a>
+ </applet>
+ </p>
+ <p>paragraph
+ <applet code="foo" width="10" height="10">
+ <param name="foo"><param name="bar">
+ <a>link</a>
+ </applet>
+ </p>
+ <p><dfn>strictly inline
+ <applet code="foo" width="10" height="10">
+ <a>link</a>
+ </applet>
+ </dfn></p>
+ <p><dfn>strictly inline
+ <applet code="foo" width="10" height="10">
+ <param name="foo"><param name="bar">
+ <a>link</a>
+ </applet>
+ </dfn></p>
+ <applet code="foo" width="10" height="10">
+ <p><a>link</a></p>
+ </applet>
+ <applet code="foo" width="10" height="10">
+ <param name="foo"><param name="bar">
+ <p><a>link</a></p>
+ </applet>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/other/obj-novalid.html b/testing/web-platform/tests/conformance-checkers/html/other/obj-novalid.html
new file mode 100644
index 000000000..178b7d259
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/other/obj-novalid.html
@@ -0,0 +1,123 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset=utf-8>
+ <title>&lt;obj&gt;</title>
+</head>
+<body>
+
+ <!-- is structured inline -->
+ <p><obj
+ archive="uri1 uri2"
+ classid="uri"
+ codebase="uri"
+ codetype="application/octet-stream"
+ data="uri"
+ height="40"
+ name="sth"
+ standby="text"
+ type="application/octet-stream"
+ usemap="uri"
+ width="40"
+ class="class"
+ lang="en"></obj></p>
+
+ <!-- is strictly inline -->
+ <p><dfn><obj
+ archive="uri1 uri2"
+ classid="uri"
+ codebase="uri"
+ codetype="application/octet-stream"
+ data="uri"
+ height="40"
+ name="sth"
+ standby="text"
+ type="application/octet-stream"
+ usemap="uri"
+ width="40"
+ class="class"
+ lang="en"></obj></dfn></p>
+
+ <!-- is block -->
+ <obj
+ archive="uri1 uri2"
+ classid="uri"
+ codebase="uri"
+ codetype="application/octet-stream"
+ data="uri"
+ height="40"
+ name="sth"
+ standby="text"
+ type="application/octet-stream"
+ usemap="uri"
+ width="40"
+ class="class"
+ lang="en"></obj>
+
+ <!-- can contain inline while in inline context, but param must come first -->
+ <p>paragraph
+ <obj>
+ <em>some</em> <ul><li>inline</li></ul> content
+ </obj>
+ </p>
+ <p>paragraph
+ <obj>
+ <param name="foo"><param name="bar">
+ <em>some</em> <ul><li>inline</li></ul> content
+ </obj>
+ </p>
+
+ <!-- can contain strictly inline while in strictly inline context, but param must come first -->
+ <p><dfn>strictly inline
+ <obj>
+ <em>text</em>
+ </obj>
+ </dfn></p>
+ <p><dfn>strictly inline
+ <obj>
+ <param name="foo"><param name="bar">
+ <em>text</em>
+ </obj>
+ </dfn></p>
+
+ <!-- can contain blocks while in block context, but param must come first -->
+ <obj>
+ <p>text</p>
+ </obj>
+ <obj>
+ <param name="foo"><param name="bar">
+ <p>text</p>
+ </obj>
+
+ <!-- can contain interactive if ancestor does not forbid it, but param must come first -->
+ <p>paragraph
+ <obj>
+ <a>link</a>
+ </obj>
+ </p>
+ <p>paragraph
+ <obj>
+ <param name="foo"><param name="bar">
+ <a>link</a>
+ </obj>
+ </p>
+ <p><dfn>strictly inline
+ <obj>
+ <a>link</a>
+ </obj>
+ </dfn></p>
+ <p><dfn>strictly inline
+ <obj>
+ <param name="foo"><param name="bar">
+ <a>link</a>
+ </obj>
+ </dfn></p>
+ <obj>
+ <p><a>link</a></p>
+ </obj>
+ <obj>
+ <param name="foo"><param name="bar">
+ <p><a>link</a></p>
+ </obj>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/parser/cr-charref-novalid.html b/testing/web-platform/tests/conformance-checkers/html/parser/cr-charref-novalid.html
new file mode 100644
index 000000000..d517ec011
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/parser/cr-charref-novalid.html
@@ -0,0 +1 @@
+<!doctype html><meta charset=utf-8><title>&amp;#x0d;</title><p>There should be an error.&#x0d;
diff --git a/testing/web-platform/tests/conformance-checkers/html/parser/range-charref-novalid.html b/testing/web-platform/tests/conformance-checkers/html/parser/range-charref-novalid.html
new file mode 100644
index 000000000..304b25fb9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/parser/range-charref-novalid.html
@@ -0,0 +1 @@
+<!doctype html><meta charset=utf-8><title>&amp;#x110000;</title><p>There should be an error.&#x110000;
diff --git a/testing/web-platform/tests/conformance-checkers/html/parser/u000b-charref-novalid.html b/testing/web-platform/tests/conformance-checkers/html/parser/u000b-charref-novalid.html
new file mode 100644
index 000000000..c31ade018
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/parser/u000b-charref-novalid.html
@@ -0,0 +1 @@
+<!doctype html><meta charset=utf-8><title>&amp;#x000B;</title><p>There should be an error.&#x000B;
diff --git a/testing/web-platform/tests/conformance-checkers/html/parser/u000b-novalid.html b/testing/web-platform/tests/conformance-checkers/html/parser/u000b-novalid.html
new file mode 100644
index 000000000..d35d7ca34
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/parser/u000b-novalid.html
@@ -0,0 +1 @@
+<!doctype html><meta charset=utf-8><title>U+000B</title><p>There should be an error.
diff --git a/testing/web-platform/tests/conformance-checkers/html/parser/u007f-charref-novalid.html b/testing/web-platform/tests/conformance-checkers/html/parser/u007f-charref-novalid.html
new file mode 100644
index 000000000..1dba4b5d2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/parser/u007f-charref-novalid.html
@@ -0,0 +1 @@
+<!doctype html><meta charset=utf-8><title>&amp;#x007F;</title><p>There should be an error.&#x007F;
diff --git a/testing/web-platform/tests/conformance-checkers/html/parser/u10ffff-charref-novalid.html b/testing/web-platform/tests/conformance-checkers/html/parser/u10ffff-charref-novalid.html
new file mode 100644
index 000000000..f823390a0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/parser/u10ffff-charref-novalid.html
@@ -0,0 +1 @@
+<!doctype html><meta charset=utf-8><title>&amp;#x10FFFF;</title><p>There should be an error.&#x10FFFF;
diff --git a/testing/web-platform/tests/conformance-checkers/html/parser/ufffe-charref-novalid.html b/testing/web-platform/tests/conformance-checkers/html/parser/ufffe-charref-novalid.html
new file mode 100644
index 000000000..0ddab4a42
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/parser/ufffe-charref-novalid.html
@@ -0,0 +1 @@
+<!doctype html><meta charset=utf-8><title>&amp;#xFFFE;</title><p>There should be an error.&#xFFFE;
diff --git a/testing/web-platform/tests/conformance-checkers/html/parser/unassigned-charref-novalid.html b/testing/web-platform/tests/conformance-checkers/html/parser/unassigned-charref-novalid.html
new file mode 100644
index 000000000..4e4c74898
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/parser/unassigned-charref-novalid.html
@@ -0,0 +1 @@
+<!doctype html><meta charset=utf-8><title>&amp;#xfdd0;</title><p>There should be an error.&#xfdd0;