summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/conformance-checkers/html/microdata
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/conformance-checkers/html/microdata')
-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-slash-slash-abc-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-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.html69
-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-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
140 files changed, 718 insertions, 0 deletions
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 0000000000..956e951c4d
--- /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 0000000000..9c0fb7cd86
--- /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="a:foo.com" itemtype="http://foo" itemscope></div><!-- scheme-private -->
+<div itemid="foo:/" itemtype="http://foo" itemscope></div><!-- scheme-private-slash -->
+<div itemid="foo://" itemtype="http://foo" itemscope></div><!-- scheme-private-slash-slash -->
+<div itemid="foo:/bar.com/" itemtype="http://foo" itemscope></div><!-- scheme-private-path -->
+<div itemid="foo://///////" itemtype="http://foo" itemscope></div><!-- scheme-private-path-leading-slashes-only -->
+<div itemid="foo://///////bar.com/" itemtype="http://foo" itemscope></div><!-- scheme-private-path-leading-slashes-chars -->
+<div itemid="foo:////://///" itemtype="http://foo" itemscope></div><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<div itemid="c:/foo" itemtype="http://foo" itemscope></div><!-- scheme-private-single-letter -->
+<div itemid="madeupscheme:/example.com/" itemtype="http://foo" itemscope></div><!-- scheme-private-single-slash -->
+<div itemid="file:/example.com/" itemtype="http://foo" itemscope></div><!-- scheme-file-single-slash -->
+<div itemid="ftps:/example.com/" itemtype="http://foo" itemscope></div><!-- scheme-ftps-single-slash -->
+<div itemid="gopher:/example.com/" itemtype="http://foo" itemscope></div><!-- scheme-gopher-single-slash -->
+<div itemid="ws:/example.com/" itemtype="http://foo" itemscope></div><!-- scheme-ws-single-slash -->
+<div itemid="wss:/example.com/" itemtype="http://foo" itemscope></div><!-- scheme-wss-single-slash -->
+<div itemid="javascript:/example.com/" itemtype="http://foo" itemscope></div><!-- scheme-javascript-single-slash -->
+<div itemid="mailto:/example.com/" itemtype="http://foo" itemscope></div><!-- scheme-mailto-single-slash -->
+<div itemid="madeupscheme:example.com/" itemtype="http://foo" itemscope></div><!-- scheme-private-no-slash -->
+<div itemid="ftps:example.com/" itemtype="http://foo" itemscope></div><!-- scheme-ftps-no-slash -->
+<div itemid="gopher:example.com/" itemtype="http://foo" itemscope></div><!-- scheme-gopher-no-slash -->
+<div itemid="wss:example.com/" itemtype="http://foo" itemscope></div><!-- scheme-wss-no-slash -->
+<div itemid="mailto:example.com/" itemtype="http://foo" itemscope></div><!-- scheme-mailto-no-slash -->
+<div itemid="data:text/plain,foo" itemtype="http://foo" itemscope></div><!-- scheme-data-no-slash -->
+<div itemid="http://user:pass@foo:21/bar;par?b#c" itemtype="http://foo" itemscope></div><!-- userinfo -->
+<div itemid="http://[2001::1]" itemtype="http://foo" itemscope></div><!-- host-ipv6 -->
+<div itemid="http://[2001::1]:80" itemtype="http://foo" itemscope></div><!-- host-ipv6-port -->
+<div itemid="http://f:/c" itemtype="http://foo" itemscope></div><!-- port-none-but-colon -->
+<div itemid="http://f:0/c" itemtype="http://foo" itemscope></div><!-- port-0 -->
+<div itemid="http://f:00000000000000/c" itemtype="http://foo" itemscope></div><!-- port-00000000000000 -->
+<div itemid="http://f:00000000000000000000080/c" itemtype="http://foo" itemscope></div><!-- port-00000000000000000000080 -->
+<div itemid="http://a:b@c:29/d" itemtype="http://foo" itemscope></div><!-- userinfo-host-port-path -->
+<div itemid="http://foo.com:b@d/" itemtype="http://foo" itemscope></div><!-- userinfo-username-non-alpha -->
+<div itemid="http://foo/abcd?efgh?ijkl" itemtype="http://foo" itemscope></div><!-- query-contains-question-mark -->
+<div itemid="http://foo/abcd#foo?bar" itemtype="http://foo" itemscope></div><!-- fragment-contains-question-mark -->
+<div itemid="http://example.com/foo/%2e" itemtype="http://foo" itemscope></div><!-- path-percent-encoded-dot -->
+<div itemid="http://example.com/%20foo" itemtype="http://foo" itemscope></div><!-- path-percent-encoded-space -->
+<div itemid="http://example.com/©zbar" itemtype="http://foo" itemscope></div><!-- path-non-ascii -->
+<div itemid="http://example.com/foo%41%7a" itemtype="http://foo" itemscope></div><!-- path-percent-encoded-multiple -->
+<div itemid="http://example.com/foo%91" itemtype="http://foo" itemscope></div><!-- path-percent-encoded-u0091 -->
+<div itemid="http://example.com/foo%00" itemtype="http://foo" itemscope></div><!-- path-percent-encoded-u0000 -->
+<div itemid="http://example.com/%3A%3a%3C%3c" itemtype="http://foo" itemscope></div><!-- path-percent-encoded-mixed-case -->
+<div itemid="http://example.com/你好你好" itemtype="http://foo" itemscope></div><!-- path-unicode-han -->
+<div itemid="http://example.com//foo" itemtype="http://foo" itemscope></div><!-- path-uFEFF -->
+<div itemid="http://example.com/‮/foo/‭/bar" itemtype="http://foo" itemscope></div><!-- path-u202E-u202D -->
+<div itemid="http://💩" itemtype="http://foo" itemscope></div><!-- host-is-pile-of-poo -->
+<div itemid="http💩//:foo" itemtype="http://foo" itemscope></div><!-- path-contains-pile-of-poo -->
+<div itemid="http://example.com/foo?💩" itemtype="http://foo" itemscope></div><!-- query-contains-pile-of-poo -->
+<div itemid="http://example.com/foo#💩" itemtype="http://foo" itemscope></div><!-- fragment-contains-pile-of-poo -->
+<div itemid="http://192.0x00A80001" itemtype="http://foo" itemscope></div><!-- host-192.0x00A80001 -->
+<div itemid="http://%25DOMAIN:foobar@foodomain.com" itemtype="http://foo" itemscope></div><!-- userinfo-username-contains-percent-encoded -->
+<div itemid="http://@www.example.com" itemtype="http://foo" itemscope></div><!-- userinfo-empty -->
+<div itemid="http://:b@www.example.com" itemtype="http://foo" itemscope></div><!-- userinfo-user-empty -->
+<div itemid="http://a:@www.example.com" itemtype="http://foo" itemscope></div><!-- userinfo-password-empty -->
+<div itemid="http://GOO​⁠goo.com" itemtype="http://foo" itemscope></div><!-- host-exotic-whitespace -->
+<div itemid="http://www.foo。bar.com" itemtype="http://foo" itemscope></div><!-- host-exotic-dot -->
+<div itemid="http://Go.com" itemtype="http://foo" itemscope></div><!-- host-fullwidth -->
+<div itemid="http://你好你好" itemtype="http://foo" itemscope></div><!-- host-idn-unicode-han -->
+<div itemid="http://192.168.0.257/" itemtype="http://foo" itemscope></div><!-- host-IP-address-broken -->
+<div itemid="//foo/bar" itemtype="http://foo" itemscope></div><!-- scheme-schemeless-relative -->
+<div itemid="/" itemtype="http://foo" itemscope></div><!-- path-slash-only-relative -->
+<div itemid="/a/b/c" itemtype="http://foo" itemscope></div><!-- path-simple-relative -->
+<div itemid="/a%2fc" itemtype="http://foo" itemscope></div><!-- path-percent-encoded-slash-relative -->
+<div itemid="/a/%2f/c" itemtype="http://foo" itemscope></div><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<div itemid="?" itemtype="http://foo" itemscope></div><!-- query-empty-no-path-relative -->
+<div itemid="#" itemtype="http://foo" itemscope></div><!-- fragment-empty-hash-only-no-path-relative -->
+<div itemid="#/" itemtype="http://foo" itemscope></div><!-- fragment-slash-relative -->
+<div itemid="#;?" itemtype="http://foo" itemscope></div><!-- fragment-semicolon-question-mark-relative -->
+<div itemid="#β" itemtype="http://foo" itemscope></div><!-- fragment-non-ascii-relative -->
+<div itemid="foo.com" itemtype="http://foo" itemscope></div><!-- scheme-none-relative -->
+<div itemid=":" itemtype="http://foo" itemscope></div><!-- path-colon-relative -->
+<div itemid=":a" itemtype="http://foo" itemscope></div><!-- path-leading-colon-letter-relative -->
+<div itemid=":foo.com" itemtype="http://foo" itemscope></div><!-- path-leading-colon-chars-relative -->
+<div itemid=":/" itemtype="http://foo" itemscope></div><!-- path-leading-colon-slash-relative -->
+<div itemid=":#" itemtype="http://foo" itemscope></div><!-- path-leading-colon-hash-relative -->
+<div itemid=":23" itemtype="http://foo" itemscope></div><!-- path-leading-colon-number-relative -->
+<div itemid="/:23" itemtype="http://foo" itemscope></div><!-- path-slash-colon-number-relative -->
+<div itemid="::" itemtype="http://foo" itemscope></div><!-- path-leading-colon-colon-relative -->
+<div itemid="::23" itemtype="http://foo" itemscope></div><!-- path-colon-colon-number-relative -->
+<div itemid="💩http://foo" itemtype="http://foo" itemscope></div><!-- path-starts-with-pile-of-poo -->
+<div itemid="/💩" itemtype="http://foo" itemscope></div><!-- path-slash-pile-of-poo -->
+<div itemid="File://foo/bar.html" itemtype="http://foo" itemscope></div><!-- scheme-file-uppercase -->
+<div itemid="file://C|/foo/bar" itemtype="http://foo" itemscope></div><!-- scheme-file-slash-slash-c-bar -->
+<div itemid="file://server/foo/bar" itemtype="http://foo" itemscope></div><!-- scheme-file-host-included -->
+<div itemid="file:///foo/bar.txt" itemtype="http://foo" itemscope></div><!-- scheme-file-host-empty -->
+<div itemid="file:" itemtype="http://foo" itemscope></div><!-- scheme-file-scheme-only -->
+<div itemid="file:/" itemtype="http://foo" itemscope></div><!-- scheme-file-slash-only -->
+<div itemid="file://" itemtype="http://foo" itemscope></div><!-- scheme-file-slash-slash-only -->
+<div itemid="file:///" itemtype="http://foo" itemscope></div><!-- scheme-file-slash-slash-slash-only -->
+<div itemid="file:test" itemtype="http://foo" itemscope></div><!-- scheme-file-no-slash -->
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 0000000000..2fe232933a
--- /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 0000000000..a765e5e79e
--- /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 0000000000..f365b9e720
--- /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 0000000000..2f7182fe22
--- /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 0000000000..36d3dc82f5
--- /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 0000000000..8f7618e37e
--- /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 0000000000..c271ada021
--- /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 0000000000..07368db651
--- /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 0000000000..6c5d07beb6
--- /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 0000000000..41a664bf22
--- /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 0000000000..a99370b65f
--- /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 0000000000..0104bd3ec7
--- /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 0000000000..940fe8a018
--- /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 0000000000..6474d8ffa9
--- /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 0000000000..5ccff6990b
--- /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 0000000000..0c73b6c51d
--- /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 0000000000..f29256c3d6
--- /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 0000000000..154a92579e
--- /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 0000000000..6747c076e3
--- /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 0000000000..e5d5f5fa11
--- /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 0000000000..a1d17b5f8b
--- /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 0000000000..0c59308d90
--- /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 0000000000..08a190900b
--- /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 0000000000..01115ee885
--- /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 0000000000..042758b438
--- /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 0000000000..49cab58db6
--- /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 0000000000..b750b59e49
--- /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 0000000000..238d57e992
--- /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 0000000000..65b750b6f1
--- /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 0000000000..ae36d74ead
--- /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 0000000000..6c1f14fbad
--- /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 0000000000..28cededa54
--- /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 0000000000..24c9fd1542
--- /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 0000000000..18656d36ae
--- /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 0000000000..1d275f79d6
--- /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 0000000000..e404011d24
--- /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 0000000000..3b556be6b7
--- /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 0000000000..b1274e33bf
--- /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 0000000000..ad2e271cee
--- /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 0000000000..e015e7c87e
--- /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 0000000000..c4465245ec
--- /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 0000000000..9ca912bfe1
--- /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 0000000000..1ec8d49758
--- /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 0000000000..602e154d8c
--- /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 0000000000..f94b9e6383
--- /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-slash-slash-abc-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-file-slash-slash-abc-bar-novalid.html
new file mode 100644
index 0000000000..f613bd2640
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-file-slash-slash-abc-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid itemid: scheme-file-slash-slash-abc-bar</title>
+<div itemid="file://abc|/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 0000000000..c77fe27684
--- /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 0000000000..906f089aca
--- /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 0000000000..48ae5d1d26
--- /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 0000000000..8e28363a8a
--- /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 0000000000..e52bf145ca
--- /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 0000000000..d6015babad
--- /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 0000000000..3dc8745f3f
--- /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 0000000000..a653c2c7d2
--- /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 0000000000..07b7261b27
--- /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 0000000000..6fbd3c1a81
--- /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-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemid/scheme-trailing-cr-novalid.html
new file mode 100644
index 0000000000..fabd1ebe30
--- /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 0000000000..4d82605af2
--- /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 0000000000..f7a61cd772
--- /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 0000000000..a3c50b1875
--- /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 0000000000..838664b251
--- /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 0000000000..282669321d
--- /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 0000000000..8a5ba7a71f
--- /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 0000000000..99f41339cb
--- /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 0000000000..66d597ffc1
--- /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 0000000000..1ed8c46610
--- /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 0000000000..3fb82482e7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype-isvalid.html
@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid itemtype</title>
+<div itemtype="a:foo.com" itemscope></div><!-- scheme-private -->
+<div itemtype="foo:/" itemscope></div><!-- scheme-private-slash -->
+<div itemtype="foo://" itemscope></div><!-- scheme-private-slash-slash -->
+<div itemtype="foo:/bar.com/" itemscope></div><!-- scheme-private-path -->
+<div itemtype="foo://///////" itemscope></div><!-- scheme-private-path-leading-slashes-only -->
+<div itemtype="foo://///////bar.com/" itemscope></div><!-- scheme-private-path-leading-slashes-chars -->
+<div itemtype="foo:////://///" itemscope></div><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<div itemtype="c:/foo" itemscope></div><!-- scheme-private-single-letter -->
+<div itemtype="madeupscheme:/example.com/" itemscope></div><!-- scheme-private-single-slash -->
+<div itemtype="file:/example.com/" itemscope></div><!-- scheme-file-single-slash -->
+<div itemtype="ftps:/example.com/" itemscope></div><!-- scheme-ftps-single-slash -->
+<div itemtype="gopher:/example.com/" itemscope></div><!-- scheme-gopher-single-slash -->
+<div itemtype="ws:/example.com/" itemscope></div><!-- scheme-ws-single-slash -->
+<div itemtype="wss:/example.com/" itemscope></div><!-- scheme-wss-single-slash -->
+<div itemtype="javascript:/example.com/" itemscope></div><!-- scheme-javascript-single-slash -->
+<div itemtype="mailto:/example.com/" itemscope></div><!-- scheme-mailto-single-slash -->
+<div itemtype="madeupscheme:example.com/" itemscope></div><!-- scheme-private-no-slash -->
+<div itemtype="ftps:example.com/" itemscope></div><!-- scheme-ftps-no-slash -->
+<div itemtype="gopher:example.com/" itemscope></div><!-- scheme-gopher-no-slash -->
+<div itemtype="wss:example.com/" itemscope></div><!-- scheme-wss-no-slash -->
+<div itemtype="mailto:example.com/" itemscope></div><!-- scheme-mailto-no-slash -->
+<div itemtype="data:text/plain,foo" itemscope></div><!-- scheme-data-no-slash -->
+<div itemtype="http://user:pass@foo:21/bar;par?b#c" itemscope></div><!-- userinfo -->
+<div itemtype="http://[2001::1]" itemscope></div><!-- host-ipv6 -->
+<div itemtype="http://[2001::1]:80" itemscope></div><!-- host-ipv6-port -->
+<div itemtype="http://f:/c" itemscope></div><!-- port-none-but-colon -->
+<div itemtype="http://f:0/c" itemscope></div><!-- port-0 -->
+<div itemtype="http://f:00000000000000/c" itemscope></div><!-- port-00000000000000 -->
+<div itemtype="http://f:00000000000000000000080/c" itemscope></div><!-- port-00000000000000000000080 -->
+<div itemtype="http://a:b@c:29/d" itemscope></div><!-- userinfo-host-port-path -->
+<div itemtype="http://foo.com:b@d/" itemscope></div><!-- userinfo-username-non-alpha -->
+<div itemtype="http://foo/abcd?efgh?ijkl" itemscope></div><!-- query-contains-question-mark -->
+<div itemtype="http://foo/abcd#foo?bar" itemscope></div><!-- fragment-contains-question-mark -->
+<div itemtype="http://example.com/foo/%2e" itemscope></div><!-- path-percent-encoded-dot -->
+<div itemtype="http://example.com/%20foo" itemscope></div><!-- path-percent-encoded-space -->
+<div itemtype="http://example.com/©zbar" itemscope></div><!-- path-non-ascii -->
+<div itemtype="http://example.com/foo%41%7a" itemscope></div><!-- path-percent-encoded-multiple -->
+<div itemtype="http://example.com/foo%91" itemscope></div><!-- path-percent-encoded-u0091 -->
+<div itemtype="http://example.com/foo%00" itemscope></div><!-- path-percent-encoded-u0000 -->
+<div itemtype="http://example.com/%3A%3a%3C%3c" itemscope></div><!-- path-percent-encoded-mixed-case -->
+<div itemtype="http://example.com/你好你好" itemscope></div><!-- path-unicode-han -->
+<div itemtype="http://example.com//foo" itemscope></div><!-- path-uFEFF -->
+<div itemtype="http://example.com/‮/foo/‭/bar" itemscope></div><!-- path-u202E-u202D -->
+<div itemtype="http://💩" itemscope></div><!-- host-is-pile-of-poo -->
+<div itemtype="http://example.com/foo/💩" itemscope></div><!-- path-contains-pile-of-poo -->
+<div itemtype="http://example.com/foo?💩" itemscope></div><!-- query-contains-pile-of-poo -->
+<div itemtype="http://example.com/foo#💩" itemscope></div><!-- fragment-contains-pile-of-poo -->
+<div itemtype="http://192.0x00A80001" itemscope></div><!-- host-192.0x00A80001 -->
+<div itemtype="http://%25DOMAIN:foobar@foodomain.com" itemscope></div><!-- userinfo-username-contains-percent-encoded -->
+<div itemtype="http://@www.example.com" itemscope></div><!-- userinfo-empty -->
+<div itemtype="http://:b@www.example.com" itemscope></div><!-- userinfo-user-empty -->
+<div itemtype="http://a:@www.example.com" itemscope></div><!-- userinfo-password-empty -->
+<div itemtype="http://GOO​⁠goo.com" itemscope></div><!-- host-exotic-whitespace -->
+<div itemtype="http://www.foo。bar.com" itemscope></div><!-- host-exotic-dot -->
+<div itemtype="http://Go.com" itemscope></div><!-- host-fullwidth -->
+<div itemtype="http://你好你好" itemscope></div><!-- host-idn-unicode-han -->
+<div itemtype="http://192.168.0.257/" itemscope></div><!-- host-IP-address-broken -->
+<div itemtype="File://foo/bar.html" itemscope></div><!-- scheme-file-uppercase -->
+<div itemtype="file://C|/foo/bar" itemscope></div><!-- scheme-file-slash-slash-c-bar -->
+<div itemtype="file://server/foo/bar" itemscope></div><!-- scheme-file-host-included -->
+<div itemtype="file:///foo/bar.txt" itemscope></div><!-- scheme-file-host-empty -->
+<div itemtype="file:" itemscope></div><!-- scheme-file-scheme-only -->
+<div itemtype="file:/" itemscope></div><!-- scheme-file-slash-only -->
+<div itemtype="file://" itemscope></div><!-- scheme-file-slash-slash-only -->
+<div itemtype="file:///" itemscope></div><!-- scheme-file-slash-slash-slash-only -->
+<div itemtype="file:test" itemscope></div><!-- scheme-file-no-slash -->
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 0000000000..3374691574
--- /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 0000000000..7165f96505
--- /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 0000000000..0f36d930d7
--- /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 0000000000..b6d6f63031
--- /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 0000000000..140200b519
--- /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 0000000000..bf8bd41bab
--- /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 0000000000..654b38ee53
--- /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 0000000000..d257b10f4a
--- /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 0000000000..e3528dfdf0
--- /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 0000000000..435a742260
--- /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 0000000000..d84dd8ef2b
--- /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 0000000000..3de07bdf00
--- /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 0000000000..e4a11f7172
--- /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 0000000000..9457bbd6eb
--- /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 0000000000..9046800cc5
--- /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 0000000000..c059b89b06
--- /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 0000000000..0f1522d801
--- /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 0000000000..9fcb3cdedc
--- /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 0000000000..195ec60b5c
--- /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 0000000000..dc53b33cae
--- /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 0000000000..54d754c2c3
--- /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 0000000000..e087825a9a
--- /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 0000000000..342056e1b1
--- /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 0000000000..ee4f3b1974
--- /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 0000000000..a23414ada6
--- /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 0000000000..bc3bd93631
--- /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 0000000000..42173c5a7c
--- /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 0000000000..a12ee18389
--- /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 0000000000..23107f27e2
--- /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 0000000000..76c92a2472
--- /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 0000000000..74e8c6cb07
--- /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 0000000000..524a759987
--- /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 0000000000..5b9835bde7
--- /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 0000000000..fb94f42fe4
--- /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 0000000000..078fff9023
--- /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 0000000000..e54d093786
--- /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 0000000000..d5dd76481b
--- /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 0000000000..8344549575
--- /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 0000000000..ceb94815df
--- /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 0000000000..302a96c79f
--- /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 0000000000..482e11d8f5
--- /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 0000000000..15c969782e
--- /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 0000000000..b6b2847c2b
--- /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 0000000000..1d63eb6b98
--- /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 0000000000..56f5b41801
--- /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 0000000000..5817b69d5b
--- /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 0000000000..c66dde4cd7
--- /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 0000000000..0056f4ef9d
--- /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 0000000000..389c2acc8d
--- /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 0000000000..ab89c0e2a3
--- /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 0000000000..8db94d80cf
--- /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 0000000000..a4b88ed71d
--- /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 0000000000..e4c5289f17
--- /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 0000000000..0a95473a46
--- /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 0000000000..133b47c832
--- /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 0000000000..613afa1376
--- /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 0000000000..4da5f8f311
--- /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 0000000000..03aa71aadb
--- /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 0000000000..32f31a64c7
--- /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 0000000000..e5d4bd70db
--- /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 0000000000..d4608d0381
--- /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-schemeless-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/microdata/itemtype/scheme-schemeless-relative-novalid.html
new file mode 100644
index 0000000000..c2301027d4
--- /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 0000000000..0ec64f5a4c
--- /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 0000000000..1ea50fcc9c
--- /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 0000000000..5421a3e81b
--- /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 0000000000..fa0e3ca838
--- /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 0000000000..10e6853cf1
--- /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 0000000000..e617ca7b7f
--- /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 0000000000..ecde2e96d8
--- /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 0000000000..b89683c385
--- /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 0000000000..7b09f94cd6
--- /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>