summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/conformance-checkers/html/elements/input
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/conformance-checkers/html/elements/input')
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-address-novalid.html15
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-empty-novalid.html15
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-section-novalid.html15
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-text-isvalid.html41
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-token-novalid.html15
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-work-novalid.html15
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/list-novalid.html11
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-slash-slash-abc-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-slash-slash-abc-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-isvalid.html91
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-whitespace-only-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-slash-slash-abc-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value-empty-isvalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value-isvalid.html69
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-contains-hash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-empty-hash-only-no-path-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-non-ascii-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-semicolon-question-mark-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-slash-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-userinfo-empty-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-with-userinfo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-hostname-in-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-square-brackets-port-contains-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-percent-encoded-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-bare-percent-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-contains-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-backslash-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-chars-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-malformed-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-plus-slashes-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-relative-square-brackets-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-simple-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-slash-only-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-u0091-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-999999-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-bracket-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-dash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-multiple-letters-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-single-letter-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-empty-no-path-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-leading-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-contains-fragment-haswarn.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-single-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-slash-slash-abc-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-triple-slash-c-bar-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-colon-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-square-bracket-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-no-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-single-slash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-schemeless-relative-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-cr-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-newline-novalid.html5
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-space-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-tab-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-backslash-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-bad-chars-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-contains-pile-of-poo-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-at-sign-novalid.html4
-rw-r--r--testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-pile-of-poo-novalid.html4
288 files changed, 1592 insertions, 0 deletions
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-address-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-address-novalid.html
new file mode 100644
index 0000000000..a0646214e0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-address-novalid.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset=utf-8>
+<title>autocomplete attribute is invalid</title>
+</head>
+<body>
+
+ <!-- address type must come before field type -->
+ <input autocomplete="country shipping">
+
+</body>
+</html>
+
+
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-empty-novalid.html
new file mode 100644
index 0000000000..20b35d678f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-empty-novalid.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset=utf-8>
+<title>autocomplete attribute is invalid</title>
+</head>
+<body>
+
+ <!-- empty -->
+ <input autocomplete="">
+
+</body>
+</html>
+
+
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-section-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-section-novalid.html
new file mode 100644
index 0000000000..9d5e8a1187
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-section-novalid.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset=utf-8>
+<title>autocomplete attribute is invalid</title>
+</head>
+<body>
+
+ <!-- work must come before field type -->
+ <input autocomplete="country section-blue">
+
+</body>
+</html>
+
+
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-text-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-text-isvalid.html
new file mode 100644
index 0000000000..2faa347bd2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-text-isvalid.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset=utf-8>
+<title>autocomplete attribute is valid</title>
+</head>
+<body>
+
+ <!-- country -->
+ <input autocomplete="country">
+ <input autocomplete="billing country">
+ <input autocomplete="section-blue country">
+ <input autocomplete="section-blue billing country">
+
+ <!-- cc-type -->
+ <input autocomplete="cc-type">
+ <input autocomplete="billing cc-type">
+ <input autocomplete="section-blue cc-type">
+ <input autocomplete="section-blue billing cc-type">
+
+ <!-- cc-exp-month -->
+ <input autocomplete="cc-exp-month">
+ <input autocomplete="billing cc-exp-month">
+ <input autocomplete="section-blue cc-exp-month">
+ <input autocomplete="section-blue billing cc-exp-month">
+
+ <!-- cc-exp-year -->
+ <input autocomplete="cc-exp-year">
+ <input autocomplete="billing cc-exp-year">
+ <input autocomplete="section-blue cc-exp-year">
+ <input autocomplete="section-blue billing cc-exp-year">
+ <!-- tel-country-code -->
+ <input autocomplete="work tel-country-code">
+ <input autocomplete="billing work tel-country-code">
+ <input autocomplete="section-blue work tel-country-code">
+ <input autocomplete="section-blue billing work tel-country-code">
+
+</body>
+</html>
+
+
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-token-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-token-novalid.html
new file mode 100644
index 0000000000..544ca79dfd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-token-novalid.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset=utf-8>
+<title>autocomplete attribute is invalid</title>
+</head>
+<body>
+
+ <!-- unknown field type -->
+ <input autocomplete="qwerty">
+
+</body>
+</html>
+
+
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-work-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-work-novalid.html
new file mode 100644
index 0000000000..2ff29bd9cc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/autocomplete-work-novalid.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset=utf-8>
+<title>autocomplete attribute is invalid</title>
+</head>
+<body>
+
+ <!-- work must come before field type -->
+ <input autocomplete="country work">
+
+</body>
+</html>
+
+
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/list-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/list-novalid.html
new file mode 100644
index 0000000000..63f43af1f5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/list-novalid.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>invalid input/@list reference to datalist/@id</title>
+<meta charset=utf-8>
+</head>
+<body>
+<datalist id=foo></datalist>
+<input type=text list=bar>
+</body>
+</html>
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-empty-novalid.html
new file mode 100644
index 0000000000..5deda965c5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty formaction is not valid</title>
+<input type=image alt="foo" formaction="">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-isvalid.html
new file mode 100644
index 0000000000..cd89509ffe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid formaction</title>
+<input type=image alt="foo" formaction="a:foo.com"><!-- scheme-private -->
+<input type=image alt="foo" formaction="foo:/"><!-- scheme-private-slash -->
+<input type=image alt="foo" formaction="foo://"><!-- scheme-private-slash-slash -->
+<input type=image alt="foo" formaction="foo:/bar.com/"><!-- scheme-private-path -->
+<input type=image alt="foo" formaction="foo://///////"><!-- scheme-private-path-leading-slashes-only -->
+<input type=image alt="foo" formaction="foo://///////bar.com/"><!-- scheme-private-path-leading-slashes-chars -->
+<input type=image alt="foo" formaction="foo:////://///"><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<input type=image alt="foo" formaction="c:/foo"><!-- scheme-private-single-letter -->
+<input type=image alt="foo" formaction="madeupscheme:/example.com/"><!-- scheme-private-single-slash -->
+<input type=image alt="foo" formaction="file:/example.com/"><!-- scheme-file-single-slash -->
+<input type=image alt="foo" formaction="ftps:/example.com/"><!-- scheme-ftps-single-slash -->
+<input type=image alt="foo" formaction="gopher:/example.com/"><!-- scheme-gopher-single-slash -->
+<input type=image alt="foo" formaction="ws:/example.com/"><!-- scheme-ws-single-slash -->
+<input type=image alt="foo" formaction="wss:/example.com/"><!-- scheme-wss-single-slash -->
+<input type=image alt="foo" formaction="javascript:/example.com/"><!-- scheme-javascript-single-slash -->
+<input type=image alt="foo" formaction="mailto:/example.com/"><!-- scheme-mailto-single-slash -->
+<input type=image alt="foo" formaction="madeupscheme:example.com/"><!-- scheme-private-no-slash -->
+<input type=image alt="foo" formaction="ftps:example.com/"><!-- scheme-ftps-no-slash -->
+<input type=image alt="foo" formaction="gopher:example.com/"><!-- scheme-gopher-no-slash -->
+<input type=image alt="foo" formaction="wss:example.com/"><!-- scheme-wss-no-slash -->
+<input type=image alt="foo" formaction="mailto:example.com/"><!-- scheme-mailto-no-slash -->
+<input type=image alt="foo" formaction="data:text/plain,foo"><!-- scheme-data-no-slash -->
+<input type=image alt="foo" formaction="http://user:pass@foo:21/bar;par?b#c"><!-- userinfo -->
+<input type=image alt="foo" formaction="http://[2001::1]"><!-- host-ipv6 -->
+<input type=image alt="foo" formaction="http://[2001::1]:80"><!-- host-ipv6-port -->
+<input type=image alt="foo" formaction="http://f:/c"><!-- port-none-but-colon -->
+<input type=image alt="foo" formaction="http://f:0/c"><!-- port-0 -->
+<input type=image alt="foo" formaction="http://f:00000000000000/c"><!-- port-00000000000000 -->
+<input type=image alt="foo" formaction="http://f:00000000000000000000080/c"><!-- port-00000000000000000000080 -->
+<input type=image alt="foo" formaction="http://a:b@c:29/d"><!-- userinfo-host-port-path -->
+<input type=image alt="foo" formaction="http://foo.com:b@d/"><!-- userinfo-username-non-alpha -->
+<input type=image alt="foo" formaction="http://foo/abcd?efgh?ijkl"><!-- query-contains-question-mark -->
+<input type=image alt="foo" formaction="http://foo/abcd#foo?bar"><!-- fragment-contains-question-mark -->
+<input type=image alt="foo" formaction="http://example.com/foo/%2e"><!-- path-percent-encoded-dot -->
+<input type=image alt="foo" formaction="http://example.com/%20foo"><!-- path-percent-encoded-space -->
+<input type=image alt="foo" formaction="http://example.com/©zbar"><!-- path-non-ascii -->
+<input type=image alt="foo" formaction="http://example.com/foo%41%7a"><!-- path-percent-encoded-multiple -->
+<input type=image alt="foo" formaction="http://example.com/foo%91"><!-- path-percent-encoded-u0091 -->
+<input type=image alt="foo" formaction="http://example.com/foo%00"><!-- path-percent-encoded-u0000 -->
+<input type=image alt="foo" formaction="http://example.com/%3A%3a%3C%3c"><!-- path-percent-encoded-mixed-case -->
+<input type=image alt="foo" formaction="http://example.com/你好你好"><!-- path-unicode-han -->
+<input type=image alt="foo" formaction="http://example.com//foo"><!-- path-uFEFF -->
+<input type=image alt="foo" formaction="http://example.com/‮/foo/‭/bar"><!-- path-u202E-u202D -->
+<input type=image alt="foo" formaction="http://💩"><!-- host-is-pile-of-poo -->
+<input type=image alt="foo" formaction="http💩//:foo"><!-- path-contains-pile-of-poo -->
+<input type=image alt="foo" formaction="http://example.com/foo?💩"><!-- query-contains-pile-of-poo -->
+<input type=image alt="foo" formaction="http://example.com/foo#💩"><!-- fragment-contains-pile-of-poo -->
+<input type=image alt="foo" formaction="http://192.0x00A80001"><!-- host-192.0x00A80001 -->
+<input type=image alt="foo" formaction="http://%25DOMAIN:foobar@foodomain.com"><!-- userinfo-username-contains-percent-encoded -->
+<input type=image alt="foo" formaction="http://@www.example.com"><!-- userinfo-empty -->
+<input type=image alt="foo" formaction="http://:b@www.example.com"><!-- userinfo-user-empty -->
+<input type=image alt="foo" formaction="http://a:@www.example.com"><!-- userinfo-password-empty -->
+<input type=image alt="foo" formaction="http://GOO​⁠goo.com"><!-- host-exotic-whitespace -->
+<input type=image alt="foo" formaction="http://www.foo。bar.com"><!-- host-exotic-dot -->
+<input type=image alt="foo" formaction="http://Go.com"><!-- host-fullwidth -->
+<input type=image alt="foo" formaction="http://你好你好"><!-- host-idn-unicode-han -->
+<input type=image alt="foo" formaction="http://192.168.0.257/"><!-- host-IP-address-broken -->
+<input type=image alt="foo" formaction="//foo/bar"><!-- scheme-schemeless-relative -->
+<input type=image alt="foo" formaction="/"><!-- path-slash-only-relative -->
+<input type=image alt="foo" formaction="/a/b/c"><!-- path-simple-relative -->
+<input type=image alt="foo" formaction="/a%2fc"><!-- path-percent-encoded-slash-relative -->
+<input type=image alt="foo" formaction="/a/%2f/c"><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<input type=image alt="foo" formaction="?"><!-- query-empty-no-path-relative -->
+<input type=image alt="foo" formaction="#"><!-- fragment-empty-hash-only-no-path-relative -->
+<input type=image alt="foo" formaction="#/"><!-- fragment-slash-relative -->
+<input type=image alt="foo" formaction="#;?"><!-- fragment-semicolon-question-mark-relative -->
+<input type=image alt="foo" formaction="#β"><!-- fragment-non-ascii-relative -->
+<input type=image alt="foo" formaction="foo.com"><!-- scheme-none-relative -->
+<input type=image alt="foo" formaction=":"><!-- path-colon-relative -->
+<input type=image alt="foo" formaction=":a"><!-- path-leading-colon-letter-relative -->
+<input type=image alt="foo" formaction=":foo.com"><!-- path-leading-colon-chars-relative -->
+<input type=image alt="foo" formaction=":/"><!-- path-leading-colon-slash-relative -->
+<input type=image alt="foo" formaction=":#"><!-- path-leading-colon-hash-relative -->
+<input type=image alt="foo" formaction=":23"><!-- path-leading-colon-number-relative -->
+<input type=image alt="foo" formaction="/:23"><!-- path-slash-colon-number-relative -->
+<input type=image alt="foo" formaction="::"><!-- path-leading-colon-colon-relative -->
+<input type=image alt="foo" formaction="::23"><!-- path-colon-colon-number-relative -->
+<input type=image alt="foo" formaction="💩http://foo"><!-- path-starts-with-pile-of-poo -->
+<input type=image alt="foo" formaction="/💩"><!-- path-slash-pile-of-poo -->
+<input type=image alt="foo" formaction="File://foo/bar.html"><!-- scheme-file-uppercase -->
+<input type=image alt="foo" formaction="file://C|/foo/bar"><!-- scheme-file-slash-slash-c-bar -->
+<input type=image alt="foo" formaction="file://server/foo/bar"><!-- scheme-file-host-included -->
+<input type=image alt="foo" formaction="file:///foo/bar.txt"><!-- scheme-file-host-empty -->
+<input type=image alt="foo" formaction="file:"><!-- scheme-file-scheme-only -->
+<input type=image alt="foo" formaction="file:/"><!-- scheme-file-slash-only -->
+<input type=image alt="foo" formaction="file://"><!-- scheme-file-slash-slash-only -->
+<input type=image alt="foo" formaction="file:///"><!-- scheme-file-slash-slash-slash-only -->
+<input type=image alt="foo" formaction="file:test"><!-- scheme-file-no-slash -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-whitespace-only-novalid.html
new file mode 100644
index 0000000000..1c7fae12ba
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty formaction is not valid</title>
+<input type=image alt="foo" formaction="
+">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-backslash-novalid.html
new file mode 100644
index 0000000000..dee7e3b058
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-backslash</title>
+<input type=image alt="foo" formaction="#\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-contains-hash-novalid.html
new file mode 100644
index 0000000000..3bc4e4cddb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-contains-hash</title>
+<input type=image alt="foo" formaction="http://foo/path#f#g">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-leading-space-novalid.html
new file mode 100644
index 0000000000..07a0678eef
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-leading-space</title>
+<input type=image alt="foo" formaction="http://f:21/b# e">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-cr-novalid.html
new file mode 100644
index 0000000000..48919b1d8a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-cr</title>
+<input type=image alt="foo" formaction="http://example. org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-novalid.html
new file mode 100644
index 0000000000..0919432afa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-double-percent-encoded</title>
+<input type=image alt="foo" formaction="http://%41.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..007e045f66
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-double-percent-encoded-percent-encoded</title>
+<input type=image alt="foo" formaction="http://%ef%bc%85%ef%bc%94%ef%bc%91.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-novalid.html
new file mode 100644
index 0000000000..479146ab94
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty</title>
+<input type=image alt="foo" formaction="http://">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 0000000000..62339541a0
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty-userinfo-empty</title>
+<input type=image alt="foo" formaction="http://@/www.example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-with-userinfo-novalid.html
new file mode 100644
index 0000000000..30c5f8e868
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty-with-userinfo</title>
+<input type=image alt="foo" formaction="http://user:pass@/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-hostname-in-brackets-novalid.html
new file mode 100644
index 0000000000..dab28abffd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-hostname-in-brackets</title>
+<input type=image alt="foo" formaction="http://[www.google.com]/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-novalid.html
new file mode 100644
index 0000000000..b389ecb58f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-invalid-unicode</title>
+<input type=image alt="foo" formaction="http://﷐zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 0000000000..eab0190640
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-invalid-unicode-percent-encoded</title>
+<input type=image alt="foo" formaction="http://%ef%b7%90zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-newline-novalid.html
new file mode 100644
index 0000000000..6af1be0499
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-newline</title>
+<input type=image alt="foo" formaction="http://example.
+org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-space-novalid.html
new file mode 100644
index 0000000000..6b9e40850a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-space</title>
+<input type=image alt="foo" formaction="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 0000000000..fa76475e30
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-square-brackets-port-contains-colon</title>
+<input type=image alt="foo" formaction="http://[1::2]:3:4">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-tab-novalid.html
new file mode 100644
index 0000000000..2a50d5275d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-tab</title>
+<input type=image alt="foo" formaction="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 0000000000..d6fb957969
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-u0000-percent-encoded</title>
+<input type=image alt="foo" formaction="http://%00.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..a55751d8da
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-u0000-percent-encoded-percent-encoded</title>
+<input type=image alt="foo" formaction="http://%ef%bc%85%ef%bc%90%ef%bc%90.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-bare-percent-sign-novalid.html
new file mode 100644
index 0000000000..1a8e6444c1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-bare-percent-sign</title>
+<input type=image alt="foo" formaction="http://example.com/foo%">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-contains-space-novalid.html
new file mode 100644
index 0000000000..a74a6604f8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-contains-space</title>
+<input type=image alt="foo" formaction="/a/ /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 0000000000..db8534ac30
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-backslash-at-sign</title>
+<input type=image alt="foo" formaction="http://foo.com/\@">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-backslash-novalid.html
new file mode 100644
index 0000000000..ee2cb3157d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-colon-backslash</title>
+<input type=image alt="foo" formaction=":\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 0000000000..843915930e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-colon-chars-backslash</title>
+<input type=image alt="foo" formaction=":foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-space-novalid.html
new file mode 100644
index 0000000000..dc991b8db5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-space</title>
+<input type=image alt="foo" formaction="http://f:21/ b">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 0000000000..830ecfa13e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-percent-encoded-malformed</title>
+<input type=image alt="foo" formaction="http://example.com/foo/%2e%2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-relative-square-brackets-novalid.html
new file mode 100644
index 0000000000..222a0bd940
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-relative-square-brackets</title>
+<input type=image alt="foo" formaction="[61:24:74]:98">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-tab-novalid.html
new file mode 100644
index 0000000000..b0440aabda
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-tab</title>
+<input type=image alt="foo" formaction="http://example.com/foo bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-trailing-space-novalid.html
new file mode 100644
index 0000000000..61a6a1a1b6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-trailing-space</title>
+<input type=image alt="foo" formaction="http://f:21/b ?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-u0091-novalid.html
new file mode 100644
index 0000000000..3edbb7aab5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-u0091</title>
+<input type=image alt="foo" formaction="http://example.com/foo‘">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-999999-novalid.html
new file mode 100644
index 0000000000..a01365d727
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-999999</title>
+<input type=image alt="foo" formaction="http://f:999999/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-cr-novalid.html
new file mode 100644
index 0000000000..ceca5a8355
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-cr</title>
+<input type=image alt="foo" formaction="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 0000000000..f814452189
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-colon-bracket-colon</title>
+<input type=image alt="foo" formaction="http://2001::1]:80">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-novalid.html
new file mode 100644
index 0000000000..fd3d244c84
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-colon</title>
+<input type=image alt="foo" formaction="http://2001::1">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-dash-novalid.html
new file mode 100644
index 0000000000..a413652567
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-dash</title>
+<input type=image alt="foo" formaction="http://foo:-80/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-multiple-letters-novalid.html
new file mode 100644
index 0000000000..f899b643d5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-multiple-letters</title>
+<input type=image alt="foo" formaction="http://f:fifty-two/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-newline-novalid.html
new file mode 100644
index 0000000000..efa6fef430
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-newline</title>
+<input type=image alt="foo" formaction="http://f:
+/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-single-letter-novalid.html
new file mode 100644
index 0000000000..6b04af7a8f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-single-letter</title>
+<input type=image alt="foo" formaction="http://f:b/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-space-novalid.html
new file mode 100644
index 0000000000..666db3a7f5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-space</title>
+<input type=image alt="foo" formaction="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-tab-novalid.html
new file mode 100644
index 0000000000..dd67171602
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-tab</title>
+<input type=image alt="foo" formaction="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/query-leading-space-novalid.html
new file mode 100644
index 0000000000..01d360dd50
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: query-leading-space</title>
+<input type=image alt="foo" formaction="http://f:21/b? d">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/query-trailing-space-novalid.html
new file mode 100644
index 0000000000..98322081e8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: query-trailing-space</title>
+<input type=image alt="foo" formaction="http://f:21/b?d #">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 0000000000..aa3ea3aad1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>formaction warning: scheme-data-contains-fragment</title>
+<input type=image alt="foo" formaction="data:text/html,test#test">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-single-slash-novalid.html
new file mode 100644
index 0000000000..48e5ec30bb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-data-single-slash</title>
+<input type=image alt="foo" formaction="data:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-backslash-novalid.html
new file mode 100644
index 0000000000..e77493c24d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-backslash</title>
+<input type=image alt="foo" formaction="file:c:\foo\bar.html">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..3a12a2f2c2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-single-slash-c-bar</title>
+<input type=image alt="foo" formaction="file:/C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-slash-slash-abc-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-slash-slash-abc-bar-novalid.html
new file mode 100644
index 0000000000..4381cc2236
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-slash-slash-abc-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-slash-slash-abc-bar</title>
+<input type=image alt="foo" formaction="file://abc|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..da3f423ea7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-triple-slash-c-bar</title>
+<input type=image alt="foo" formaction="file:///C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 0000000000..620a37c83d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-ftp-no-slash</title>
+<input type=image alt="foo" formaction="ftp:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 0000000000..e5f064e250
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-ftp-single-slash</title>
+<input type=image alt="foo" formaction="ftp:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-backslash-novalid.html
new file mode 100644
index 0000000000..cad3f1e993
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-backslash</title>
+<input type=image alt="foo" formaction="http:\\foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 0000000000..fb1ecc696a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash-colon</title>
+<input type=image alt="foo" formaction="http::@c:29">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-novalid.html
new file mode 100644
index 0000000000..62bdcd8c2c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash</title>
+<input type=image alt="foo" formaction="http:foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 0000000000..90f76c9d1e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash-square-bracket</title>
+<input type=image alt="foo" formaction="http:[61:27]/:foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-single-slash-novalid.html
new file mode 100644
index 0000000000..9f1a492113
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-single-slash</title>
+<input type=image alt="foo" formaction="http:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-no-slash-novalid.html
new file mode 100644
index 0000000000..2357c0a1e7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-https-no-slash</title>
+<input type=image alt="foo" formaction="https:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-single-slash-novalid.html
new file mode 100644
index 0000000000..4e3075b494
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-https-single-slash</title>
+<input type=image alt="foo" formaction="https:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-cr-novalid.html
new file mode 100644
index 0000000000..45affd7ec4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-cr</title>
+<input type=image alt="foo" formaction="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-newline-novalid.html
new file mode 100644
index 0000000000..161cffbf6b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-newline</title>
+<input type=image alt="foo" formaction="a:
+foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-space-novalid.html
new file mode 100644
index 0000000000..ebd08615a6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-space</title>
+<input type=image alt="foo" formaction="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-tab-novalid.html
new file mode 100644
index 0000000000..1429b7a273
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-tab</title>
+<input type=image alt="foo" formaction="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-backslash-novalid.html
new file mode 100644
index 0000000000..a0df503e10
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-backslash</title>
+<input type=image alt="foo" formaction="http://a\b:c\d@foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 0000000000..1673f65ecf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-password-bad-chars</title>
+<input type=image alt="foo" formaction="http://&a:foo(b]c@d:2/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..aae3d288a5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-password-contains-pile-of-poo</title>
+<input type=image alt="foo" formaction="http://foo:💩@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 0000000000..cc0652c8b3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-username-contains-at-sign</title>
+<input type=image alt="foo" formaction="http://::@c@d:2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..abc75f3ed9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-formaction/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-username-contains-pile-of-poo</title>
+<input type=image alt="foo" formaction="http://💩:foo@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-empty-novalid.html
new file mode 100644
index 0000000000..f773a2aa45
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<input type=image alt="foo" src="">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-isvalid.html
new file mode 100644
index 0000000000..5c6541bc57
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid src</title>
+<input type=image alt="foo" src="a:foo.com"><!-- scheme-private -->
+<input type=image alt="foo" src="foo:/"><!-- scheme-private-slash -->
+<input type=image alt="foo" src="foo://"><!-- scheme-private-slash-slash -->
+<input type=image alt="foo" src="foo:/bar.com/"><!-- scheme-private-path -->
+<input type=image alt="foo" src="foo://///////"><!-- scheme-private-path-leading-slashes-only -->
+<input type=image alt="foo" src="foo://///////bar.com/"><!-- scheme-private-path-leading-slashes-chars -->
+<input type=image alt="foo" src="foo:////://///"><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<input type=image alt="foo" src="c:/foo"><!-- scheme-private-single-letter -->
+<input type=image alt="foo" src="madeupscheme:/example.com/"><!-- scheme-private-single-slash -->
+<input type=image alt="foo" src="file:/example.com/"><!-- scheme-file-single-slash -->
+<input type=image alt="foo" src="ftps:/example.com/"><!-- scheme-ftps-single-slash -->
+<input type=image alt="foo" src="gopher:/example.com/"><!-- scheme-gopher-single-slash -->
+<input type=image alt="foo" src="ws:/example.com/"><!-- scheme-ws-single-slash -->
+<input type=image alt="foo" src="wss:/example.com/"><!-- scheme-wss-single-slash -->
+<input type=image alt="foo" src="javascript:/example.com/"><!-- scheme-javascript-single-slash -->
+<input type=image alt="foo" src="mailto:/example.com/"><!-- scheme-mailto-single-slash -->
+<input type=image alt="foo" src="madeupscheme:example.com/"><!-- scheme-private-no-slash -->
+<input type=image alt="foo" src="ftps:example.com/"><!-- scheme-ftps-no-slash -->
+<input type=image alt="foo" src="gopher:example.com/"><!-- scheme-gopher-no-slash -->
+<input type=image alt="foo" src="wss:example.com/"><!-- scheme-wss-no-slash -->
+<input type=image alt="foo" src="mailto:example.com/"><!-- scheme-mailto-no-slash -->
+<input type=image alt="foo" src="data:text/plain,foo"><!-- scheme-data-no-slash -->
+<input type=image alt="foo" src="http://user:pass@foo:21/bar;par?b#c"><!-- userinfo -->
+<input type=image alt="foo" src="http://[2001::1]"><!-- host-ipv6 -->
+<input type=image alt="foo" src="http://[2001::1]:80"><!-- host-ipv6-port -->
+<input type=image alt="foo" src="http://f:/c"><!-- port-none-but-colon -->
+<input type=image alt="foo" src="http://f:0/c"><!-- port-0 -->
+<input type=image alt="foo" src="http://f:00000000000000/c"><!-- port-00000000000000 -->
+<input type=image alt="foo" src="http://f:00000000000000000000080/c"><!-- port-00000000000000000000080 -->
+<input type=image alt="foo" src="http://a:b@c:29/d"><!-- userinfo-host-port-path -->
+<input type=image alt="foo" src="http://foo.com:b@d/"><!-- userinfo-username-non-alpha -->
+<input type=image alt="foo" src="http://foo/abcd?efgh?ijkl"><!-- query-contains-question-mark -->
+<input type=image alt="foo" src="http://foo/abcd#foo?bar"><!-- fragment-contains-question-mark -->
+<input type=image alt="foo" src="http://example.com/foo/%2e"><!-- path-percent-encoded-dot -->
+<input type=image alt="foo" src="http://example.com/%20foo"><!-- path-percent-encoded-space -->
+<input type=image alt="foo" src="http://example.com/©zbar"><!-- path-non-ascii -->
+<input type=image alt="foo" src="http://example.com/foo%41%7a"><!-- path-percent-encoded-multiple -->
+<input type=image alt="foo" src="http://example.com/foo%91"><!-- path-percent-encoded-u0091 -->
+<input type=image alt="foo" src="http://example.com/foo%00"><!-- path-percent-encoded-u0000 -->
+<input type=image alt="foo" src="http://example.com/%3A%3a%3C%3c"><!-- path-percent-encoded-mixed-case -->
+<input type=image alt="foo" src="http://example.com/你好你好"><!-- path-unicode-han -->
+<input type=image alt="foo" src="http://example.com//foo"><!-- path-uFEFF -->
+<input type=image alt="foo" src="http://example.com/‮/foo/‭/bar"><!-- path-u202E-u202D -->
+<input type=image alt="foo" src="http://💩"><!-- host-is-pile-of-poo -->
+<input type=image alt="foo" src="http💩//:foo"><!-- path-contains-pile-of-poo -->
+<input type=image alt="foo" src="http://example.com/foo?💩"><!-- query-contains-pile-of-poo -->
+<input type=image alt="foo" src="http://example.com/foo#💩"><!-- fragment-contains-pile-of-poo -->
+<input type=image alt="foo" src="http://192.0x00A80001"><!-- host-192.0x00A80001 -->
+<input type=image alt="foo" src="http://%25DOMAIN:foobar@foodomain.com"><!-- userinfo-username-contains-percent-encoded -->
+<input type=image alt="foo" src="http://@www.example.com"><!-- userinfo-empty -->
+<input type=image alt="foo" src="http://:b@www.example.com"><!-- userinfo-user-empty -->
+<input type=image alt="foo" src="http://a:@www.example.com"><!-- userinfo-password-empty -->
+<input type=image alt="foo" src="http://GOO​⁠goo.com"><!-- host-exotic-whitespace -->
+<input type=image alt="foo" src="http://www.foo。bar.com"><!-- host-exotic-dot -->
+<input type=image alt="foo" src="http://Go.com"><!-- host-fullwidth -->
+<input type=image alt="foo" src="http://你好你好"><!-- host-idn-unicode-han -->
+<input type=image alt="foo" src="http://192.168.0.257/"><!-- host-IP-address-broken -->
+<input type=image alt="foo" src="//foo/bar"><!-- scheme-schemeless-relative -->
+<input type=image alt="foo" src="/"><!-- path-slash-only-relative -->
+<input type=image alt="foo" src="/a/b/c"><!-- path-simple-relative -->
+<input type=image alt="foo" src="/a%2fc"><!-- path-percent-encoded-slash-relative -->
+<input type=image alt="foo" src="/a/%2f/c"><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<input type=image alt="foo" src="?"><!-- query-empty-no-path-relative -->
+<input type=image alt="foo" src="#"><!-- fragment-empty-hash-only-no-path-relative -->
+<input type=image alt="foo" src="#/"><!-- fragment-slash-relative -->
+<input type=image alt="foo" src="#;?"><!-- fragment-semicolon-question-mark-relative -->
+<input type=image alt="foo" src="#β"><!-- fragment-non-ascii-relative -->
+<input type=image alt="foo" src="foo.com"><!-- scheme-none-relative -->
+<input type=image alt="foo" src=":"><!-- path-colon-relative -->
+<input type=image alt="foo" src=":a"><!-- path-leading-colon-letter-relative -->
+<input type=image alt="foo" src=":foo.com"><!-- path-leading-colon-chars-relative -->
+<input type=image alt="foo" src=":/"><!-- path-leading-colon-slash-relative -->
+<input type=image alt="foo" src=":#"><!-- path-leading-colon-hash-relative -->
+<input type=image alt="foo" src=":23"><!-- path-leading-colon-number-relative -->
+<input type=image alt="foo" src="/:23"><!-- path-slash-colon-number-relative -->
+<input type=image alt="foo" src="::"><!-- path-leading-colon-colon-relative -->
+<input type=image alt="foo" src="::23"><!-- path-colon-colon-number-relative -->
+<input type=image alt="foo" src="💩http://foo"><!-- path-starts-with-pile-of-poo -->
+<input type=image alt="foo" src="/💩"><!-- path-slash-pile-of-poo -->
+<input type=image alt="foo" src="File://foo/bar.html"><!-- scheme-file-uppercase -->
+<input type=image alt="foo" src="file://C|/foo/bar"><!-- scheme-file-slash-slash-c-bar -->
+<input type=image alt="foo" src="file://server/foo/bar"><!-- scheme-file-host-included -->
+<input type=image alt="foo" src="file:///foo/bar.txt"><!-- scheme-file-host-empty -->
+<input type=image alt="foo" src="file:"><!-- scheme-file-scheme-only -->
+<input type=image alt="foo" src="file:/"><!-- scheme-file-slash-only -->
+<input type=image alt="foo" src="file://"><!-- scheme-file-slash-slash-only -->
+<input type=image alt="foo" src="file:///"><!-- scheme-file-slash-slash-slash-only -->
+<input type=image alt="foo" src="file:test"><!-- scheme-file-no-slash -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-whitespace-only-novalid.html
new file mode 100644
index 0000000000..e3d0486e62
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty src is not valid</title>
+<input type=image alt="foo" src="
+">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-backslash-novalid.html
new file mode 100644
index 0000000000..eda0b37a8a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-backslash</title>
+<input type=image alt="foo" src="#\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-contains-hash-novalid.html
new file mode 100644
index 0000000000..3b4ada5330
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-contains-hash</title>
+<input type=image alt="foo" src="http://foo/path#f#g">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-leading-space-novalid.html
new file mode 100644
index 0000000000..4e91c794ab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: fragment-leading-space</title>
+<input type=image alt="foo" src="http://f:21/b# e">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-cr-novalid.html
new file mode 100644
index 0000000000..c6c7dcd695
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-cr</title>
+<input type=image alt="foo" src="http://example. org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-novalid.html
new file mode 100644
index 0000000000..3946af19fe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded</title>
+<input type=image alt="foo" src="http://%41.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..0e657ba1a7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-double-percent-encoded-percent-encoded</title>
+<input type=image alt="foo" src="http://%ef%bc%85%ef%bc%94%ef%bc%91.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-novalid.html
new file mode 100644
index 0000000000..faac339c6b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty</title>
+<input type=image alt="foo" src="http://">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 0000000000..623e61268b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-userinfo-empty</title>
+<input type=image alt="foo" src="http://@/www.example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-with-userinfo-novalid.html
new file mode 100644
index 0000000000..9cc6d8624d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-empty-with-userinfo</title>
+<input type=image alt="foo" src="http://user:pass@/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-hostname-in-brackets-novalid.html
new file mode 100644
index 0000000000..c48b95b008
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-hostname-in-brackets</title>
+<input type=image alt="foo" src="http://[www.google.com]/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-novalid.html
new file mode 100644
index 0000000000..8595d37ecc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode</title>
+<input type=image alt="foo" src="http://﷐zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 0000000000..3c7f42df1c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-invalid-unicode-percent-encoded</title>
+<input type=image alt="foo" src="http://%ef%b7%90zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-newline-novalid.html
new file mode 100644
index 0000000000..68fdc0aea4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-newline</title>
+<input type=image alt="foo" src="http://example.
+org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-space-novalid.html
new file mode 100644
index 0000000000..45c7e8bb15
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-space</title>
+<input type=image alt="foo" src="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 0000000000..b4b5552a8b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-square-brackets-port-contains-colon</title>
+<input type=image alt="foo" src="http://[1::2]:3:4">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-tab-novalid.html
new file mode 100644
index 0000000000..ae443539c9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-tab</title>
+<input type=image alt="foo" src="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 0000000000..8e554bb9ca
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded</title>
+<input type=image alt="foo" src="http://%00.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..ea9f960fee
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: host-u0000-percent-encoded-percent-encoded</title>
+<input type=image alt="foo" src="http://%ef%bc%85%ef%bc%90%ef%bc%90.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-bare-percent-sign-novalid.html
new file mode 100644
index 0000000000..864ea49604
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-bare-percent-sign</title>
+<input type=image alt="foo" src="http://example.com/foo%">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-contains-space-novalid.html
new file mode 100644
index 0000000000..069e2a1c38
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-contains-space</title>
+<input type=image alt="foo" src="/a/ /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 0000000000..71b05d901a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-backslash-at-sign</title>
+<input type=image alt="foo" src="http://foo.com/\@">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-backslash-novalid.html
new file mode 100644
index 0000000000..2d4baf9108
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-backslash</title>
+<input type=image alt="foo" src=":\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 0000000000..ef690bbf07
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-colon-chars-backslash</title>
+<input type=image alt="foo" src=":foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-space-novalid.html
new file mode 100644
index 0000000000..c0204f5c1a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-leading-space</title>
+<input type=image alt="foo" src="http://f:21/ b">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 0000000000..c5222fab64
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-percent-encoded-malformed</title>
+<input type=image alt="foo" src="http://example.com/foo/%2e%2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-relative-square-brackets-novalid.html
new file mode 100644
index 0000000000..8c05cbef6b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-relative-square-brackets</title>
+<input type=image alt="foo" src="[61:24:74]:98">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-tab-novalid.html
new file mode 100644
index 0000000000..a2b683d9dc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-tab</title>
+<input type=image alt="foo" src="http://example.com/foo bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-trailing-space-novalid.html
new file mode 100644
index 0000000000..a047676f47
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-trailing-space</title>
+<input type=image alt="foo" src="http://f:21/b ?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-u0091-novalid.html
new file mode 100644
index 0000000000..0da7c170cc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: path-u0091</title>
+<input type=image alt="foo" src="http://example.com/foo‘">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-999999-novalid.html
new file mode 100644
index 0000000000..7c5b961f4c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-999999</title>
+<input type=image alt="foo" src="http://f:999999/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-cr-novalid.html
new file mode 100644
index 0000000000..b2467d2be6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-cr</title>
+<input type=image alt="foo" src="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 0000000000..1bb21c61b8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon-bracket-colon</title>
+<input type=image alt="foo" src="http://2001::1]:80">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-novalid.html
new file mode 100644
index 0000000000..5b7c183771
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-colon</title>
+<input type=image alt="foo" src="http://2001::1">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-dash-novalid.html
new file mode 100644
index 0000000000..0f125e1f85
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-leading-dash</title>
+<input type=image alt="foo" src="http://foo:-80/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-multiple-letters-novalid.html
new file mode 100644
index 0000000000..ffc0b87472
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-multiple-letters</title>
+<input type=image alt="foo" src="http://f:fifty-two/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-newline-novalid.html
new file mode 100644
index 0000000000..51e6c7358f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-newline</title>
+<input type=image alt="foo" src="http://f:
+/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-single-letter-novalid.html
new file mode 100644
index 0000000000..007ec33d1e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-single-letter</title>
+<input type=image alt="foo" src="http://f:b/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-space-novalid.html
new file mode 100644
index 0000000000..4086ace7a9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-space</title>
+<input type=image alt="foo" src="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-tab-novalid.html
new file mode 100644
index 0000000000..90faa30077
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: port-tab</title>
+<input type=image alt="foo" src="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/query-leading-space-novalid.html
new file mode 100644
index 0000000000..183e1fad85
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-leading-space</title>
+<input type=image alt="foo" src="http://f:21/b? d">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/query-trailing-space-novalid.html
new file mode 100644
index 0000000000..a64a7c6b7c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: query-trailing-space</title>
+<input type=image alt="foo" src="http://f:21/b?d #">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 0000000000..71b9a8873b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>src warning: scheme-data-contains-fragment</title>
+<input type=image alt="foo" src="data:text/html,test#test">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-single-slash-novalid.html
new file mode 100644
index 0000000000..a2b5d1f862
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-data-single-slash</title>
+<input type=image alt="foo" src="data:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-backslash-novalid.html
new file mode 100644
index 0000000000..0a1b8fb52e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-backslash</title>
+<input type=image alt="foo" src="file:c:\foo\bar.html">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..ee896fe55f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-single-slash-c-bar</title>
+<input type=image alt="foo" src="file:/C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-slash-slash-abc-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-slash-slash-abc-bar-novalid.html
new file mode 100644
index 0000000000..4f4516642d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-slash-slash-abc-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-slash-slash-abc-bar</title>
+<input type=image alt="foo" src="file://abc|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..8cb7521e8b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-file-triple-slash-c-bar</title>
+<input type=image alt="foo" src="file:///C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 0000000000..bd109af807
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-no-slash</title>
+<input type=image alt="foo" src="ftp:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 0000000000..d892ac52d9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-ftp-single-slash</title>
+<input type=image alt="foo" src="ftp:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-backslash-novalid.html
new file mode 100644
index 0000000000..6fafed4ab5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-backslash</title>
+<input type=image alt="foo" src="http:\\foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 0000000000..90a1212ac2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-colon</title>
+<input type=image alt="foo" src="http::@c:29">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-novalid.html
new file mode 100644
index 0000000000..e2c684aac5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash</title>
+<input type=image alt="foo" src="http:foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 0000000000..7a64662c8e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-no-slash-square-bracket</title>
+<input type=image alt="foo" src="http:[61:27]/:foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-single-slash-novalid.html
new file mode 100644
index 0000000000..cdfd4d74ce
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-http-single-slash</title>
+<input type=image alt="foo" src="http:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-no-slash-novalid.html
new file mode 100644
index 0000000000..d6b2bce564
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-no-slash</title>
+<input type=image alt="foo" src="https:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-single-slash-novalid.html
new file mode 100644
index 0000000000..301281c141
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-https-single-slash</title>
+<input type=image alt="foo" src="https:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-cr-novalid.html
new file mode 100644
index 0000000000..2cef8164e5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-cr</title>
+<input type=image alt="foo" src="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-newline-novalid.html
new file mode 100644
index 0000000000..1cac5852c2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-newline</title>
+<input type=image alt="foo" src="a:
+foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-space-novalid.html
new file mode 100644
index 0000000000..8b8f11fa21
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-space</title>
+<input type=image alt="foo" src="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-tab-novalid.html
new file mode 100644
index 0000000000..6f5772f6b4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: scheme-trailing-tab</title>
+<input type=image alt="foo" src="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-backslash-novalid.html
new file mode 100644
index 0000000000..85b04e06b1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-backslash</title>
+<input type=image alt="foo" src="http://a\b:c\d@foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 0000000000..4b3ef34269
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-bad-chars</title>
+<input type=image alt="foo" src="http://&a:foo(b]c@d:2/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..2b86aa3327
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-password-contains-pile-of-poo</title>
+<input type=image alt="foo" src="http://foo:💩@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 0000000000..bdaf3479f4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-at-sign</title>
+<input type=image alt="foo" src="http://::@c@d:2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..32627a1f33
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-image-src/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid src: userinfo-username-contains-pile-of-poo</title>
+<input type=image alt="foo" src="http://💩:foo@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-empty-novalid.html
new file mode 100644
index 0000000000..ae291ca35b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty formaction is not valid</title>
+<input type=submit formaction="">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-isvalid.html
new file mode 100644
index 0000000000..f5ac95000a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-isvalid.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid formaction</title>
+<input type=submit formaction="a:foo.com"><!-- scheme-private -->
+<input type=submit formaction="foo:/"><!-- scheme-private-slash -->
+<input type=submit formaction="foo://"><!-- scheme-private-slash-slash -->
+<input type=submit formaction="foo:/bar.com/"><!-- scheme-private-path -->
+<input type=submit formaction="foo://///////"><!-- scheme-private-path-leading-slashes-only -->
+<input type=submit formaction="foo://///////bar.com/"><!-- scheme-private-path-leading-slashes-chars -->
+<input type=submit formaction="foo:////://///"><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<input type=submit formaction="c:/foo"><!-- scheme-private-single-letter -->
+<input type=submit formaction="madeupscheme:/example.com/"><!-- scheme-private-single-slash -->
+<input type=submit formaction="file:/example.com/"><!-- scheme-file-single-slash -->
+<input type=submit formaction="ftps:/example.com/"><!-- scheme-ftps-single-slash -->
+<input type=submit formaction="gopher:/example.com/"><!-- scheme-gopher-single-slash -->
+<input type=submit formaction="ws:/example.com/"><!-- scheme-ws-single-slash -->
+<input type=submit formaction="wss:/example.com/"><!-- scheme-wss-single-slash -->
+<input type=submit formaction="javascript:/example.com/"><!-- scheme-javascript-single-slash -->
+<input type=submit formaction="mailto:/example.com/"><!-- scheme-mailto-single-slash -->
+<input type=submit formaction="madeupscheme:example.com/"><!-- scheme-private-no-slash -->
+<input type=submit formaction="ftps:example.com/"><!-- scheme-ftps-no-slash -->
+<input type=submit formaction="gopher:example.com/"><!-- scheme-gopher-no-slash -->
+<input type=submit formaction="wss:example.com/"><!-- scheme-wss-no-slash -->
+<input type=submit formaction="mailto:example.com/"><!-- scheme-mailto-no-slash -->
+<input type=submit formaction="data:text/plain,foo"><!-- scheme-data-no-slash -->
+<input type=submit formaction="http://user:pass@foo:21/bar;par?b#c"><!-- userinfo -->
+<input type=submit formaction="http://[2001::1]"><!-- host-ipv6 -->
+<input type=submit formaction="http://[2001::1]:80"><!-- host-ipv6-port -->
+<input type=submit formaction="http://f:/c"><!-- port-none-but-colon -->
+<input type=submit formaction="http://f:0/c"><!-- port-0 -->
+<input type=submit formaction="http://f:00000000000000/c"><!-- port-00000000000000 -->
+<input type=submit formaction="http://f:00000000000000000000080/c"><!-- port-00000000000000000000080 -->
+<input type=submit formaction="http://a:b@c:29/d"><!-- userinfo-host-port-path -->
+<input type=submit formaction="http://foo.com:b@d/"><!-- userinfo-username-non-alpha -->
+<input type=submit formaction="http://foo/abcd?efgh?ijkl"><!-- query-contains-question-mark -->
+<input type=submit formaction="http://foo/abcd#foo?bar"><!-- fragment-contains-question-mark -->
+<input type=submit formaction="http://example.com/foo/%2e"><!-- path-percent-encoded-dot -->
+<input type=submit formaction="http://example.com/%20foo"><!-- path-percent-encoded-space -->
+<input type=submit formaction="http://example.com/©zbar"><!-- path-non-ascii -->
+<input type=submit formaction="http://example.com/foo%41%7a"><!-- path-percent-encoded-multiple -->
+<input type=submit formaction="http://example.com/foo%91"><!-- path-percent-encoded-u0091 -->
+<input type=submit formaction="http://example.com/foo%00"><!-- path-percent-encoded-u0000 -->
+<input type=submit formaction="http://example.com/%3A%3a%3C%3c"><!-- path-percent-encoded-mixed-case -->
+<input type=submit formaction="http://example.com/你好你好"><!-- path-unicode-han -->
+<input type=submit formaction="http://example.com//foo"><!-- path-uFEFF -->
+<input type=submit formaction="http://example.com/‮/foo/‭/bar"><!-- path-u202E-u202D -->
+<input type=submit formaction="http://💩"><!-- host-is-pile-of-poo -->
+<input type=submit formaction="http💩//:foo"><!-- path-contains-pile-of-poo -->
+<input type=submit formaction="http://example.com/foo?💩"><!-- query-contains-pile-of-poo -->
+<input type=submit formaction="http://example.com/foo#💩"><!-- fragment-contains-pile-of-poo -->
+<input type=submit formaction="http://192.0x00A80001"><!-- host-192.0x00A80001 -->
+<input type=submit formaction="http://%25DOMAIN:foobar@foodomain.com"><!-- userinfo-username-contains-percent-encoded -->
+<input type=submit formaction="http://@www.example.com"><!-- userinfo-empty -->
+<input type=submit formaction="http://:b@www.example.com"><!-- userinfo-user-empty -->
+<input type=submit formaction="http://a:@www.example.com"><!-- userinfo-password-empty -->
+<input type=submit formaction="http://GOO​⁠goo.com"><!-- host-exotic-whitespace -->
+<input type=submit formaction="http://www.foo。bar.com"><!-- host-exotic-dot -->
+<input type=submit formaction="http://Go.com"><!-- host-fullwidth -->
+<input type=submit formaction="http://你好你好"><!-- host-idn-unicode-han -->
+<input type=submit formaction="http://192.168.0.257/"><!-- host-IP-address-broken -->
+<input type=submit formaction="//foo/bar"><!-- scheme-schemeless-relative -->
+<input type=submit formaction="/"><!-- path-slash-only-relative -->
+<input type=submit formaction="/a/b/c"><!-- path-simple-relative -->
+<input type=submit formaction="/a%2fc"><!-- path-percent-encoded-slash-relative -->
+<input type=submit formaction="/a/%2f/c"><!-- path-percent-encoded-slash-plus-slashes-relative -->
+<input type=submit formaction="?"><!-- query-empty-no-path-relative -->
+<input type=submit formaction="#"><!-- fragment-empty-hash-only-no-path-relative -->
+<input type=submit formaction="#/"><!-- fragment-slash-relative -->
+<input type=submit formaction="#;?"><!-- fragment-semicolon-question-mark-relative -->
+<input type=submit formaction="#β"><!-- fragment-non-ascii-relative -->
+<input type=submit formaction="foo.com"><!-- scheme-none-relative -->
+<input type=submit formaction=":"><!-- path-colon-relative -->
+<input type=submit formaction=":a"><!-- path-leading-colon-letter-relative -->
+<input type=submit formaction=":foo.com"><!-- path-leading-colon-chars-relative -->
+<input type=submit formaction=":/"><!-- path-leading-colon-slash-relative -->
+<input type=submit formaction=":#"><!-- path-leading-colon-hash-relative -->
+<input type=submit formaction=":23"><!-- path-leading-colon-number-relative -->
+<input type=submit formaction="/:23"><!-- path-slash-colon-number-relative -->
+<input type=submit formaction="::"><!-- path-leading-colon-colon-relative -->
+<input type=submit formaction="::23"><!-- path-colon-colon-number-relative -->
+<input type=submit formaction="💩http://foo"><!-- path-starts-with-pile-of-poo -->
+<input type=submit formaction="/💩"><!-- path-slash-pile-of-poo -->
+<input type=submit formaction="File://foo/bar.html"><!-- scheme-file-uppercase -->
+<input type=submit formaction="file://C|/foo/bar"><!-- scheme-file-slash-slash-c-bar -->
+<input type=submit formaction="file://server/foo/bar"><!-- scheme-file-host-included -->
+<input type=submit formaction="file:///foo/bar.txt"><!-- scheme-file-host-empty -->
+<input type=submit formaction="file:"><!-- scheme-file-scheme-only -->
+<input type=submit formaction="file:/"><!-- scheme-file-slash-only -->
+<input type=submit formaction="file://"><!-- scheme-file-slash-slash-only -->
+<input type=submit formaction="file:///"><!-- scheme-file-slash-slash-slash-only -->
+<input type=submit formaction="file:test"><!-- scheme-file-no-slash -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-whitespace-only-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-whitespace-only-novalid.html
new file mode 100644
index 0000000000..6f2d34e8d1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction-whitespace-only-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty formaction is not valid</title>
+<input type=submit formaction="
+">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-backslash-novalid.html
new file mode 100644
index 0000000000..f425c30763
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-backslash</title>
+<input type=submit formaction="#\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-contains-hash-novalid.html
new file mode 100644
index 0000000000..074b066b9e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-contains-hash</title>
+<input type=submit formaction="http://foo/path#f#g">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-leading-space-novalid.html
new file mode 100644
index 0000000000..370bc0d8bf
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: fragment-leading-space</title>
+<input type=submit formaction="http://f:21/b# e">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-cr-novalid.html
new file mode 100644
index 0000000000..30c67fdf9e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-cr</title>
+<input type=submit formaction="http://example. org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-novalid.html
new file mode 100644
index 0000000000..b6bcab6dca
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-double-percent-encoded</title>
+<input type=submit formaction="http://%41.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..b25b389482
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-double-percent-encoded-percent-encoded</title>
+<input type=submit formaction="http://%ef%bc%85%ef%bc%94%ef%bc%91.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-novalid.html
new file mode 100644
index 0000000000..7f0bff475a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty</title>
+<input type=submit formaction="http://">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 0000000000..548576d6f8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty-userinfo-empty</title>
+<input type=submit formaction="http://@/www.example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-with-userinfo-novalid.html
new file mode 100644
index 0000000000..fc22cd1946
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-empty-with-userinfo</title>
+<input type=submit formaction="http://user:pass@/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-hostname-in-brackets-novalid.html
new file mode 100644
index 0000000000..6b714a213b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-hostname-in-brackets</title>
+<input type=submit formaction="http://[www.google.com]/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-novalid.html
new file mode 100644
index 0000000000..f9e490b155
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-invalid-unicode</title>
+<input type=submit formaction="http://﷐zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 0000000000..8bd4fa53b7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-invalid-unicode-percent-encoded</title>
+<input type=submit formaction="http://%ef%b7%90zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-newline-novalid.html
new file mode 100644
index 0000000000..4bf3160836
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-newline</title>
+<input type=submit formaction="http://example.
+org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-space-novalid.html
new file mode 100644
index 0000000000..40d1b5e1b3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-space</title>
+<input type=submit formaction="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 0000000000..b58d8edfb8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-square-brackets-port-contains-colon</title>
+<input type=submit formaction="http://[1::2]:3:4">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-tab-novalid.html
new file mode 100644
index 0000000000..1f0818c835
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-tab</title>
+<input type=submit formaction="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 0000000000..38d6adf057
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-u0000-percent-encoded</title>
+<input type=submit formaction="http://%00.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..d4628743d4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: host-u0000-percent-encoded-percent-encoded</title>
+<input type=submit formaction="http://%ef%bc%85%ef%bc%90%ef%bc%90.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-bare-percent-sign-novalid.html
new file mode 100644
index 0000000000..507dd282c1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-bare-percent-sign</title>
+<input type=submit formaction="http://example.com/foo%">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-contains-space-novalid.html
new file mode 100644
index 0000000000..41b1027304
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-contains-space</title>
+<input type=submit formaction="/a/ /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 0000000000..5bc0f540f2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-backslash-at-sign</title>
+<input type=submit formaction="http://foo.com/\@">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-backslash-novalid.html
new file mode 100644
index 0000000000..9f96f07528
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-colon-backslash</title>
+<input type=submit formaction=":\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 0000000000..a6d07f6124
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-colon-chars-backslash</title>
+<input type=submit formaction=":foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-space-novalid.html
new file mode 100644
index 0000000000..2906aa3acc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-leading-space</title>
+<input type=submit formaction="http://f:21/ b">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 0000000000..955bd05ab5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-percent-encoded-malformed</title>
+<input type=submit formaction="http://example.com/foo/%2e%2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-relative-square-brackets-novalid.html
new file mode 100644
index 0000000000..3bc8dbf2dc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-relative-square-brackets</title>
+<input type=submit formaction="[61:24:74]:98">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-tab-novalid.html
new file mode 100644
index 0000000000..e424a2a23f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-tab</title>
+<input type=submit formaction="http://example.com/foo bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-trailing-space-novalid.html
new file mode 100644
index 0000000000..d61566d290
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-trailing-space</title>
+<input type=submit formaction="http://f:21/b ?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-u0091-novalid.html
new file mode 100644
index 0000000000..d9c5c0bddc
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: path-u0091</title>
+<input type=submit formaction="http://example.com/foo‘">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-999999-novalid.html
new file mode 100644
index 0000000000..56fed6806c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-999999</title>
+<input type=submit formaction="http://f:999999/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-cr-novalid.html
new file mode 100644
index 0000000000..bcacfa8b82
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-cr</title>
+<input type=submit formaction="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 0000000000..02caabe38b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-colon-bracket-colon</title>
+<input type=submit formaction="http://2001::1]:80">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-novalid.html
new file mode 100644
index 0000000000..1222d48fe3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-colon</title>
+<input type=submit formaction="http://2001::1">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-dash-novalid.html
new file mode 100644
index 0000000000..eea1fb9fe8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-leading-dash</title>
+<input type=submit formaction="http://foo:-80/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-multiple-letters-novalid.html
new file mode 100644
index 0000000000..575f7b1565
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-multiple-letters</title>
+<input type=submit formaction="http://f:fifty-two/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-newline-novalid.html
new file mode 100644
index 0000000000..77281c7f26
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-newline</title>
+<input type=submit formaction="http://f:
+/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-single-letter-novalid.html
new file mode 100644
index 0000000000..231f886599
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-single-letter</title>
+<input type=submit formaction="http://f:b/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-space-novalid.html
new file mode 100644
index 0000000000..df250d3cb3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-space</title>
+<input type=submit formaction="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-tab-novalid.html
new file mode 100644
index 0000000000..7e817369db
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: port-tab</title>
+<input type=submit formaction="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/query-leading-space-novalid.html
new file mode 100644
index 0000000000..9bdcfa9ce7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: query-leading-space</title>
+<input type=submit formaction="http://f:21/b? d">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/query-trailing-space-novalid.html
new file mode 100644
index 0000000000..094f5008d8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: query-trailing-space</title>
+<input type=submit formaction="http://f:21/b?d #">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 0000000000..4677df8937
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>formaction warning: scheme-data-contains-fragment</title>
+<input type=submit formaction="data:text/html,test#test">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-single-slash-novalid.html
new file mode 100644
index 0000000000..ae851bea53
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-data-single-slash</title>
+<input type=submit formaction="data:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-backslash-novalid.html
new file mode 100644
index 0000000000..22600d617d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-backslash</title>
+<input type=submit formaction="file:c:\foo\bar.html">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..05c18e6469
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-single-slash-c-bar</title>
+<input type=submit formaction="file:/C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-slash-slash-abc-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-slash-slash-abc-bar-novalid.html
new file mode 100644
index 0000000000..bcd94e564f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-slash-slash-abc-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-slash-slash-abc-bar</title>
+<input type=submit formaction="file://abc|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..f15f3083d5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-file-triple-slash-c-bar</title>
+<input type=submit formaction="file:///C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 0000000000..f4d95347da
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-ftp-no-slash</title>
+<input type=submit formaction="ftp:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 0000000000..40314614e4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-ftp-single-slash</title>
+<input type=submit formaction="ftp:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-backslash-novalid.html
new file mode 100644
index 0000000000..a29e4fa975
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-backslash</title>
+<input type=submit formaction="http:\\foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 0000000000..5350ea0a91
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash-colon</title>
+<input type=submit formaction="http::@c:29">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-novalid.html
new file mode 100644
index 0000000000..c7f227eab7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash</title>
+<input type=submit formaction="http:foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 0000000000..3d66391cd2
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-no-slash-square-bracket</title>
+<input type=submit formaction="http:[61:27]/:foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-single-slash-novalid.html
new file mode 100644
index 0000000000..6c69f27893
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-http-single-slash</title>
+<input type=submit formaction="http:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-no-slash-novalid.html
new file mode 100644
index 0000000000..6c15ad999d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-https-no-slash</title>
+<input type=submit formaction="https:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-single-slash-novalid.html
new file mode 100644
index 0000000000..27e668c97c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-https-single-slash</title>
+<input type=submit formaction="https:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-cr-novalid.html
new file mode 100644
index 0000000000..3ab19fffd8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-cr</title>
+<input type=submit formaction="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-newline-novalid.html
new file mode 100644
index 0000000000..eba43de91d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-newline</title>
+<input type=submit formaction="a:
+foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-space-novalid.html
new file mode 100644
index 0000000000..e0d62b36fe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-space</title>
+<input type=submit formaction="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-tab-novalid.html
new file mode 100644
index 0000000000..4b75ff2e74
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: scheme-trailing-tab</title>
+<input type=submit formaction="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-backslash-novalid.html
new file mode 100644
index 0000000000..56f8a0b7d9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-backslash</title>
+<input type=submit formaction="http://a\b:c\d@foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 0000000000..d005f35cbd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-password-bad-chars</title>
+<input type=submit formaction="http://&a:foo(b]c@d:2/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..eba2430b58
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-password-contains-pile-of-poo</title>
+<input type=submit formaction="http://foo:💩@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 0000000000..060f63c16b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-username-contains-at-sign</title>
+<input type=submit formaction="http://::@c@d:2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..5e528bff8b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-submit-formaction/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid formaction: userinfo-username-contains-pile-of-poo</title>
+<input type=submit formaction="http://💩:foo@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value-empty-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value-empty-isvalid.html
new file mode 100644
index 0000000000..229b7a2b99
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value-empty-isvalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>empty value attribute is valid</title>
+<input type=url value="">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value-isvalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value-isvalid.html
new file mode 100644
index 0000000000..134da82d3e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value-isvalid.html
@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>valid value attribute</title>
+<input type=url value="a:foo.com"><!-- scheme-private -->
+<input type=url value="foo:/"><!-- scheme-private-slash -->
+<input type=url value="foo://"><!-- scheme-private-slash-slash -->
+<input type=url value="foo:/bar.com/"><!-- scheme-private-path -->
+<input type=url value="foo://///////"><!-- scheme-private-path-leading-slashes-only -->
+<input type=url value="foo://///////bar.com/"><!-- scheme-private-path-leading-slashes-chars -->
+<input type=url value="foo:////://///"><!-- scheme-private-path-leading-slashes-colon-slashes -->
+<input type=url value="c:/foo"><!-- scheme-private-single-letter -->
+<input type=url value="madeupscheme:/example.com/"><!-- scheme-private-single-slash -->
+<input type=url value="file:/example.com/"><!-- scheme-file-single-slash -->
+<input type=url value="ftps:/example.com/"><!-- scheme-ftps-single-slash -->
+<input type=url value="gopher:/example.com/"><!-- scheme-gopher-single-slash -->
+<input type=url value="ws:/example.com/"><!-- scheme-ws-single-slash -->
+<input type=url value="wss:/example.com/"><!-- scheme-wss-single-slash -->
+<input type=url value="javascript:/example.com/"><!-- scheme-javascript-single-slash -->
+<input type=url value="mailto:/example.com/"><!-- scheme-mailto-single-slash -->
+<input type=url value="madeupscheme:example.com/"><!-- scheme-private-no-slash -->
+<input type=url value="ftps:example.com/"><!-- scheme-ftps-no-slash -->
+<input type=url value="gopher:example.com/"><!-- scheme-gopher-no-slash -->
+<input type=url value="wss:example.com/"><!-- scheme-wss-no-slash -->
+<input type=url value="mailto:example.com/"><!-- scheme-mailto-no-slash -->
+<input type=url value="data:text/plain,foo"><!-- scheme-data-no-slash -->
+<input type=url value="http://user:pass@foo:21/bar;par?b#c"><!-- userinfo -->
+<input type=url value="http://[2001::1]"><!-- host-ipv6 -->
+<input type=url value="http://[2001::1]:80"><!-- host-ipv6-port -->
+<input type=url value="http://f:/c"><!-- port-none-but-colon -->
+<input type=url value="http://f:0/c"><!-- port-0 -->
+<input type=url value="http://f:00000000000000/c"><!-- port-00000000000000 -->
+<input type=url value="http://f:00000000000000000000080/c"><!-- port-00000000000000000000080 -->
+<input type=url value="http://a:b@c:29/d"><!-- userinfo-host-port-path -->
+<input type=url value="http://foo.com:b@d/"><!-- userinfo-username-non-alpha -->
+<input type=url value="http://foo/abcd?efgh?ijkl"><!-- query-contains-question-mark -->
+<input type=url value="http://foo/abcd#foo?bar"><!-- fragment-contains-question-mark -->
+<input type=url value="http://example.com/foo/%2e"><!-- path-percent-encoded-dot -->
+<input type=url value="http://example.com/%20foo"><!-- path-percent-encoded-space -->
+<input type=url value="http://example.com/©zbar"><!-- path-non-ascii -->
+<input type=url value="http://example.com/foo%41%7a"><!-- path-percent-encoded-multiple -->
+<input type=url value="http://example.com/foo%91"><!-- path-percent-encoded-u0091 -->
+<input type=url value="http://example.com/foo%00"><!-- path-percent-encoded-u0000 -->
+<input type=url value="http://example.com/%3A%3a%3C%3c"><!-- path-percent-encoded-mixed-case -->
+<input type=url value="http://example.com/你好你好"><!-- path-unicode-han -->
+<input type=url value="http://example.com//foo"><!-- path-uFEFF -->
+<input type=url value="http://example.com/‮/foo/‭/bar"><!-- path-u202E-u202D -->
+<input type=url value="http://💩"><!-- host-is-pile-of-poo -->
+<input type=url value="http://example.com/foo/💩"><!-- path-contains-pile-of-poo -->
+<input type=url value="http://example.com/foo?💩"><!-- query-contains-pile-of-poo -->
+<input type=url value="http://example.com/foo#💩"><!-- fragment-contains-pile-of-poo -->
+<input type=url value="http://192.0x00A80001"><!-- host-192.0x00A80001 -->
+<input type=url value="http://%25DOMAIN:foobar@foodomain.com"><!-- userinfo-username-contains-percent-encoded -->
+<input type=url value="http://@www.example.com"><!-- userinfo-empty -->
+<input type=url value="http://:b@www.example.com"><!-- userinfo-user-empty -->
+<input type=url value="http://a:@www.example.com"><!-- userinfo-password-empty -->
+<input type=url value="http://GOO​⁠goo.com"><!-- host-exotic-whitespace -->
+<input type=url value="http://www.foo。bar.com"><!-- host-exotic-dot -->
+<input type=url value="http://Go.com"><!-- host-fullwidth -->
+<input type=url value="http://你好你好"><!-- host-idn-unicode-han -->
+<input type=url value="http://192.168.0.257/"><!-- host-IP-address-broken -->
+<input type=url value="File://foo/bar.html"><!-- scheme-file-uppercase -->
+<input type=url value="file://C|/foo/bar"><!-- scheme-file-slash-slash-c-bar -->
+<input type=url value="file://server/foo/bar"><!-- scheme-file-host-included -->
+<input type=url value="file:///foo/bar.txt"><!-- scheme-file-host-empty -->
+<input type=url value="file:"><!-- scheme-file-scheme-only -->
+<input type=url value="file:/"><!-- scheme-file-slash-only -->
+<input type=url value="file://"><!-- scheme-file-slash-slash-only -->
+<input type=url value="file:///"><!-- scheme-file-slash-slash-slash-only -->
+<input type=url value="file:test"><!-- scheme-file-no-slash -->
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-backslash-novalid.html
new file mode 100644
index 0000000000..0f194d5862
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: fragment-backslash</title>
+<input type=url value="#\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-contains-hash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-contains-hash-novalid.html
new file mode 100644
index 0000000000..aae446c357
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-contains-hash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: fragment-contains-hash</title>
+<input type=url value="http://foo/path#f#g">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-empty-hash-only-no-path-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-empty-hash-only-no-path-relative-novalid.html
new file mode 100644
index 0000000000..afb742bdd6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-empty-hash-only-no-path-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: fragment-empty-hash-only-no-path-relative</title>
+<input type=url value="#">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-leading-space-novalid.html
new file mode 100644
index 0000000000..58535e9c97
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: fragment-leading-space</title>
+<input type=url value="http://f:21/b# e">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-non-ascii-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-non-ascii-relative-novalid.html
new file mode 100644
index 0000000000..ad41f427b3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-non-ascii-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: fragment-non-ascii-relative</title>
+<input type=url value="#β">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-semicolon-question-mark-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-semicolon-question-mark-relative-novalid.html
new file mode 100644
index 0000000000..1bfc99cc92
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-semicolon-question-mark-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: fragment-semicolon-question-mark-relative</title>
+<input type=url value="#;?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-slash-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-slash-relative-novalid.html
new file mode 100644
index 0000000000..ccbfa4c2f3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/fragment-slash-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: fragment-slash-relative</title>
+<input type=url value="#/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-cr-novalid.html
new file mode 100644
index 0000000000..b47e6fc5fe
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-cr</title>
+<input type=url value="http://example. org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-novalid.html
new file mode 100644
index 0000000000..f8e96bc449
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-double-percent-encoded</title>
+<input type=url value="http://%41.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..392c783d0b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-double-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-double-percent-encoded-percent-encoded</title>
+<input type=url value="http://%ef%bc%85%ef%bc%94%ef%bc%91.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-novalid.html
new file mode 100644
index 0000000000..d56b619caa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-empty</title>
+<input type=url value="http://">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-userinfo-empty-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-userinfo-empty-novalid.html
new file mode 100644
index 0000000000..2ac3f54f43
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-userinfo-empty-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-empty-userinfo-empty</title>
+<input type=url value="http://@/www.example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-with-userinfo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-with-userinfo-novalid.html
new file mode 100644
index 0000000000..7976c17171
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-empty-with-userinfo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-empty-with-userinfo</title>
+<input type=url value="http://user:pass@/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-hostname-in-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-hostname-in-brackets-novalid.html
new file mode 100644
index 0000000000..d4e59450b8
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-hostname-in-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-hostname-in-brackets</title>
+<input type=url value="http://[www.google.com]/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-novalid.html
new file mode 100644
index 0000000000..f18867cc9c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-invalid-unicode</title>
+<input type=url value="http://﷐zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-percent-encoded-novalid.html
new file mode 100644
index 0000000000..073e1d9edd
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-invalid-unicode-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-invalid-unicode-percent-encoded</title>
+<input type=url value="http://%ef%b7%90zyx.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-newline-novalid.html
new file mode 100644
index 0000000000..01a2a77198
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-newline</title>
+<input type=url value="http://example.
+org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-space-novalid.html
new file mode 100644
index 0000000000..95883e2892
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-space</title>
+<input type=url value="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-square-brackets-port-contains-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-square-brackets-port-contains-colon-novalid.html
new file mode 100644
index 0000000000..eb0b0a23c7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-square-brackets-port-contains-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-square-brackets-port-contains-colon</title>
+<input type=url value="http://[1::2]:3:4">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-tab-novalid.html
new file mode 100644
index 0000000000..e6be4953ed
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-tab</title>
+<input type=url value="http://example .org">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-novalid.html
new file mode 100644
index 0000000000..c2460b040b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-u0000-percent-encoded</title>
+<input type=url value="http://%00.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-percent-encoded-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-percent-encoded-novalid.html
new file mode 100644
index 0000000000..905b48383d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/host-u0000-percent-encoded-percent-encoded-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: host-u0000-percent-encoded-percent-encoded</title>
+<input type=url value="http://%ef%bc%85%ef%bc%90%ef%bc%90.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-bare-percent-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-bare-percent-sign-novalid.html
new file mode 100644
index 0000000000..f409db5a02
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-bare-percent-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-bare-percent-sign</title>
+<input type=url value="http://example.com/foo%">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-contains-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-contains-space-novalid.html
new file mode 100644
index 0000000000..29e3eddf0b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-contains-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-contains-space</title>
+<input type=url value="/a/ /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-backslash-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-backslash-at-sign-novalid.html
new file mode 100644
index 0000000000..8ce609a668
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-backslash-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-leading-backslash-at-sign</title>
+<input type=url value="http://foo.com/\@">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-backslash-novalid.html
new file mode 100644
index 0000000000..10c69106a4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-leading-colon-backslash</title>
+<input type=url value=":\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-chars-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-chars-backslash-novalid.html
new file mode 100644
index 0000000000..b3f22fe4a1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-colon-chars-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-leading-colon-chars-backslash</title>
+<input type=url value=":foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-space-novalid.html
new file mode 100644
index 0000000000..657fd16e30
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-leading-space</title>
+<input type=url value="http://f:21/ b">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-malformed-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-malformed-novalid.html
new file mode 100644
index 0000000000..cc232af681
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-malformed-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-percent-encoded-malformed</title>
+<input type=url value="http://example.com/foo/%2e%2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-plus-slashes-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-plus-slashes-relative-novalid.html
new file mode 100644
index 0000000000..c717ac0ea5
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-plus-slashes-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-percent-encoded-slash-plus-slashes-relative</title>
+<input type=url value="/a/%2f/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-relative-novalid.html
new file mode 100644
index 0000000000..a61bdcb5b4
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-percent-encoded-slash-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-percent-encoded-slash-relative</title>
+<input type=url value="/a%2fc">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-relative-square-brackets-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-relative-square-brackets-novalid.html
new file mode 100644
index 0000000000..f9265b7bbb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-relative-square-brackets-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-relative-square-brackets</title>
+<input type=url value="[61:24:74]:98">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-simple-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-simple-relative-novalid.html
new file mode 100644
index 0000000000..6eb803b798
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-simple-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-simple-relative</title>
+<input type=url value="/a/b/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-slash-only-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-slash-only-relative-novalid.html
new file mode 100644
index 0000000000..8fb0efcb46
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-slash-only-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-slash-only-relative</title>
+<input type=url value="/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-tab-novalid.html
new file mode 100644
index 0000000000..2d70b76f7c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-tab</title>
+<input type=url value="http://example.com/foo bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-trailing-space-novalid.html
new file mode 100644
index 0000000000..8a5b79123a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-trailing-space</title>
+<input type=url value="http://f:21/b ?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-u0091-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-u0091-novalid.html
new file mode 100644
index 0000000000..ed3ec7f0ab
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/path-u0091-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: path-u0091</title>
+<input type=url value="http://example.com/foo‘">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-999999-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-999999-novalid.html
new file mode 100644
index 0000000000..9ea67f3782
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-999999-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-999999</title>
+<input type=url value="http://f:999999/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-cr-novalid.html
new file mode 100644
index 0000000000..650968dfce
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-cr</title>
+<input type=url value="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-bracket-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-bracket-colon-novalid.html
new file mode 100644
index 0000000000..d64939376a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-bracket-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-leading-colon-bracket-colon</title>
+<input type=url value="http://2001::1]:80">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-novalid.html
new file mode 100644
index 0000000000..030e9d3299
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-leading-colon</title>
+<input type=url value="http://2001::1">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-dash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-dash-novalid.html
new file mode 100644
index 0000000000..9ceabb9bd6
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-leading-dash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-leading-dash</title>
+<input type=url value="http://foo:-80/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-multiple-letters-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-multiple-letters-novalid.html
new file mode 100644
index 0000000000..02df80f07b
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-multiple-letters-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-multiple-letters</title>
+<input type=url value="http://f:fifty-two/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-newline-novalid.html
new file mode 100644
index 0000000000..09c399998d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-newline</title>
+<input type=url value="http://f:
+/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-single-letter-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-single-letter-novalid.html
new file mode 100644
index 0000000000..7b673eb220
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-single-letter-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-single-letter</title>
+<input type=url value="http://f:b/c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-space-novalid.html
new file mode 100644
index 0000000000..cf8439b4d1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-space</title>
+<input type=url value="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-tab-novalid.html
new file mode 100644
index 0000000000..f05db66769
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/port-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: port-tab</title>
+<input type=url value="http://f: /c">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-empty-no-path-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-empty-no-path-relative-novalid.html
new file mode 100644
index 0000000000..9ade778dba
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-empty-no-path-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: query-empty-no-path-relative</title>
+<input type=url value="?">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-leading-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-leading-space-novalid.html
new file mode 100644
index 0000000000..49196c94a1
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-leading-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: query-leading-space</title>
+<input type=url value="http://f:21/b? d">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-trailing-space-novalid.html
new file mode 100644
index 0000000000..a877bdf1db
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/query-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: query-trailing-space</title>
+<input type=url value="http://f:21/b?d #">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-contains-fragment-haswarn.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-contains-fragment-haswarn.html
new file mode 100644
index 0000000000..aa4204c114
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-contains-fragment-haswarn.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>value warning: scheme-data-contains-fragment</title>
+<input type=url value="data:text/html,test#test">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-single-slash-novalid.html
new file mode 100644
index 0000000000..e1926f4881
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-data-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-data-single-slash</title>
+<input type=url value="data:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-backslash-novalid.html
new file mode 100644
index 0000000000..cb2823b84f
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-file-backslash</title>
+<input type=url value="file:c:\foo\bar.html">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-single-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-single-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..4d3d662baa
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-single-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-file-single-slash-c-bar</title>
+<input type=url value="file:/C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-slash-slash-abc-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-slash-slash-abc-bar-novalid.html
new file mode 100644
index 0000000000..5b9c954fc9
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-slash-slash-abc-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-file-slash-slash-abc-bar</title>
+<input type=url value="file://abc|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-triple-slash-c-bar-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-triple-slash-c-bar-novalid.html
new file mode 100644
index 0000000000..d0bf5325cb
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-file-triple-slash-c-bar-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-file-triple-slash-c-bar</title>
+<input type=url value="file:///C|/foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-no-slash-novalid.html
new file mode 100644
index 0000000000..5fab853b6e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-ftp-no-slash</title>
+<input type=url value="ftp:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-single-slash-novalid.html
new file mode 100644
index 0000000000..fc6fd7d134
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-ftp-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-ftp-single-slash</title>
+<input type=url value="ftp:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-backslash-novalid.html
new file mode 100644
index 0000000000..1de549d939
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-http-backslash</title>
+<input type=url value="http:\\foo.com\">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-colon-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-colon-novalid.html
new file mode 100644
index 0000000000..9bf960341e
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-colon-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-http-no-slash-colon</title>
+<input type=url value="http::@c:29">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-novalid.html
new file mode 100644
index 0000000000..41b939e021
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-http-no-slash</title>
+<input type=url value="http:foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-square-bracket-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-square-bracket-novalid.html
new file mode 100644
index 0000000000..11004d954a
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-no-slash-square-bracket-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-http-no-slash-square-bracket</title>
+<input type=url value="http:[61:27]/:foo">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-single-slash-novalid.html
new file mode 100644
index 0000000000..f4fd889239
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-http-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-http-single-slash</title>
+<input type=url value="http:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-no-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-no-slash-novalid.html
new file mode 100644
index 0000000000..b0b6ae6f45
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-no-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-https-no-slash</title>
+<input type=url value="https:example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-single-slash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-single-slash-novalid.html
new file mode 100644
index 0000000000..5de56191d7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-https-single-slash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-https-single-slash</title>
+<input type=url value="https:/example.com/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-schemeless-relative-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-schemeless-relative-novalid.html
new file mode 100644
index 0000000000..f626dfe105
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-schemeless-relative-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-schemeless-relative</title>
+<input type=url value="//foo/bar">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-cr-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-cr-novalid.html
new file mode 100644
index 0000000000..5731f372f3
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-cr-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-trailing-cr</title>
+<input type=url value="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-newline-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-newline-novalid.html
new file mode 100644
index 0000000000..428471ce6d
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-newline-novalid.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-trailing-newline</title>
+<input type=url value="a:
+foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-space-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-space-novalid.html
new file mode 100644
index 0000000000..ea2ffe302c
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-space-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-trailing-space</title>
+<input type=url value="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-tab-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-tab-novalid.html
new file mode 100644
index 0000000000..40f77c7e82
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/scheme-trailing-tab-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: scheme-trailing-tab</title>
+<input type=url value="a: foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-backslash-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-backslash-novalid.html
new file mode 100644
index 0000000000..2c62de2474
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-backslash-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: userinfo-backslash</title>
+<input type=url value="http://a\b:c\d@foo.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-bad-chars-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-bad-chars-novalid.html
new file mode 100644
index 0000000000..00cbff7e82
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-bad-chars-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: userinfo-password-bad-chars</title>
+<input type=url value="http://&a:foo(b]c@d:2/">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..2d43c88883
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-password-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: userinfo-password-contains-pile-of-poo</title>
+<input type=url value="http://foo:💩@example.com">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-at-sign-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-at-sign-novalid.html
new file mode 100644
index 0000000000..4d88541aa7
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-at-sign-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: userinfo-username-contains-at-sign</title>
+<input type=url value="http://::@c@d:2">
diff --git a/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-pile-of-poo-novalid.html b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-pile-of-poo-novalid.html
new file mode 100644
index 0000000000..a457fe6b48
--- /dev/null
+++ b/testing/web-platform/tests/conformance-checkers/html/elements/input/type-url-value/userinfo-username-contains-pile-of-poo-novalid.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>invalid value attribute: userinfo-username-contains-pile-of-poo</title>
+<input type=url value="http://💩:foo@example.com">