WPT
wpt / url / a-element.html?include=file
Spec: URL ↗
Runs: Chrome 155.0.8039.0 (wpt@6ec9fd59f, 2026-09-03) | Firefox 157.0a1 (wpt@6ec9fd59f, 2026-09-03) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-795e1 (wpt@7e3d005d7, 2026-09-03) | Servo Servo 0.6 (wpt@09159dcb3, 2026-09-02) | Blitz 188486089 (wpt@a95401e4e, 2026-09-02)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 87/138 | 93/138 | 138/138 | 138/138 | 98/138 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| Loading data… | PASS | PASS | PASS | PASS | PASS | — |
| Test that embedded 0x0A is stripped | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <file:/example.com/> against <http://example.org/foo/bar> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file://example:1/> against <about:blank> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <file://example:test/> against <about:blank> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <file://example%/> against <about:blank> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <file://[example]/> against <about:blank> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <file:c:\foo\bar.html> against <file:///tmp/mock/path> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: < File:c|////foo\bar.html> against <file:///tmp/mock/path> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <C|/foo/bar> against <file:///tmp/mock/path> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: </C|\foo\bar> against <file:///tmp/mock/path> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <//C|/foo/bar> against <file:///tmp/mock/path> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <//server/file> against <file:///tmp/mock/path> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <\\server\file> against <file:///tmp/mock/path> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: </\server/file> against <file:///tmp/mock/path> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <file:///foo/bar.txt> against <file:///tmp/mock/path> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:///home/me> against <file:///tmp/mock/path> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <//> against <file:///tmp/mock/path> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <///> against <file:///tmp/mock/path> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <///test> against <file:///tmp/mock/path> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file://test> against <file:///tmp/mock/path> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <file://localhost> against <file:///tmp/mock/path> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <file://localhost/> against <file:///tmp/mock/path> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <file://localhost/test> against <file:///tmp/mock/path> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <test> against <file:///tmp/mock/path> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:test> against <file:///tmp/mock/path> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:///w|m> against <about:blank> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <file:///w||m> against <about:blank> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <file:///w|/m> against <about:blank> | FAIL | PASS | PASS | PASS | FAIL | — |
| Parsing: <file:C|/m/> against <about:blank> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <file:C||/m/> against <about:blank> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <file:/example.com/> against <about:blank> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:...> against <http://www.example.com/test> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:..> against <http://www.example.com/test> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:a> against <http://www.example.com/test> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:.> against <about:blank> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:.> against <http://www.example.com/test> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:///C%3A/> against <about:blank> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:///C%7C/> against <about:blank> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file://%43%3A> against <about:blank> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <file://%43%7C> against <about:blank> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <file://%43|> against <about:blank> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <file://C%7C> against <about:blank> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <file://%43%7C/> against <about:blank> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <pix/submit.gif> against <file:///C:/Users/Domenic/Dropbox/GitHub/tmpvar/jsdom/test/level2/html/files/anchor.html> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <..> against <file:///C:/> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <..> against <file:///> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: </> against <file:///C:/a/b> | FAIL | FAIL | PASS | PASS | PASS | — |
| Parsing: </> against <file://h/C:/a/b> | FAIL | FAIL | PASS | PASS | FAIL | — |
| Parsing: </> against <file://h/a/b> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <//d:> against <file:///C:/a/b> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <//d:/..> against <file:///C:/a/b> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <..> against <file:///ab:/> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <..> against <file:///1:/> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <> against <file:///test?test#test> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:> against <file:///test?test#test> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <?x> against <file:///test?test#test> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:?x> against <file:///test?test#test> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <#x> against <file:///test?test#test> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:#x> against <file:///test?test#test> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:\\//> against <about:blank> | FAIL | PASS | PASS | PASS | FAIL | — |
| Parsing: <file:\\\\> against <about:blank> | FAIL | PASS | PASS | PASS | FAIL | — |
| Parsing: <file:\\\\?fox> against <about:blank> | FAIL | PASS | PASS | PASS | FAIL | — |
| Parsing: <file:\\\\#guppy> against <about:blank> | FAIL | PASS | PASS | PASS | FAIL | — |
| Parsing: <file://spider///> against <about:blank> | PASS | FAIL | PASS | PASS | FAIL | — |
| Parsing: <file:\\localhost//> against <about:blank> | FAIL | PASS | PASS | PASS | FAIL | — |
| Parsing: <file:///localhost//cat> against <about:blank> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file://\/localhost//cat> against <about:blank> | FAIL | PASS | PASS | PASS | FAIL | — |
| Parsing: <file://localhost//a//../..//> against <about:blank> | FAIL | PASS | PASS | PASS | FAIL | — |
| Parsing: </////mouse> against <file:///elephant> | FAIL | PASS | PASS | PASS | FAIL | — |
| Parsing: <\//pig> against <file://lion/> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <\/localhost//pig> against <file://lion/> | FAIL | PASS | PASS | PASS | FAIL | — |
| Parsing: <//localhost//pig> against <file://lion/> | FAIL | PASS | PASS | PASS | FAIL | — |
| Parsing: </..//localhost//pig> against <file://lion/> | PASS | FAIL | PASS | PASS | FAIL | — |
| Parsing: <file://> against <file://ape/> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: </rooibos> against <file://tea/> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: </?chai> against <file://tea/> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <C|> against <file://host/dir/file> | FAIL | FAIL | PASS | PASS | FAIL | — |
| Parsing: <C|> against <file://host/D:/dir1/dir2/file> | FAIL | FAIL | PASS | PASS | FAIL | — |
| Parsing: <C|#> against <file://host/dir/file> | FAIL | FAIL | PASS | PASS | FAIL | — |
| Parsing: <C|?> against <file://host/dir/file> | FAIL | FAIL | PASS | PASS | FAIL | — |
| Parsing: <C|/> against <file://host/dir/file> | FAIL | FAIL | PASS | PASS | FAIL | — |
| Parsing: <C| /> against <file://host/dir/file> | FAIL | FAIL | PASS | PASS | FAIL | — |
| Parsing: <C|\> against <file://host/dir/file> | FAIL | FAIL | PASS | PASS | FAIL | — |
| Parsing: <C> against <file://host/dir/file> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <C|a> against <file://host/dir/file> | FAIL | FAIL | PASS | PASS | PASS | — |
| Parsing: </c:/foo/bar> against <file:///c:/baz/qux> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: </c|/foo/bar> against <file:///c:/baz/qux> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <file:\c:\foo\bar> against <file:///c:/baz/qux> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: </c:/foo/bar> against <file://host/path> | PASS | FAIL | PASS | PASS | FAIL | — |
| Parsing: <..> against <file://x/C:/> | FAIL | FAIL | PASS | PASS | FAIL | — |
| Parsing: <file://example.net/C:/> against <about:blank> | PASS | FAIL | PASS | PASS | FAIL | — |
| Parsing: <file://1.2.3.4/C:/> against <about:blank> | PASS | FAIL | PASS | PASS | FAIL | — |
| Parsing: <file://[1::8]/C:/> against <about:blank> | PASS | FAIL | PASS | PASS | FAIL | — |
| Parsing: <C|/> against <file://host/> | FAIL | FAIL | PASS | PASS | FAIL | — |
| Parsing: </C:/> against <file://host/> | PASS | FAIL | PASS | PASS | FAIL | — |
| Parsing: <file:C:/> against <file://host/> | PASS | FAIL | PASS | PASS | FAIL | — |
| Parsing: <file:/C:/> against <file://host/> | PASS | FAIL | PASS | PASS | FAIL | — |
| Parsing: <//C:/> against <file://host/> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <file://C:/> against <file://host/> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <///C:/> against <file://host/> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:///C:/> against <file://host/> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:/C|/> against <about:blank> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <file://C|/> against <about:blank> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <file:> against <about:blank> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:?q=v> against <about:blank> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:#frag> against <about:blank> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:///Y:> against <about:blank> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:///Y:/> against <about:blank> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:///./Y> against <about:blank> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:///./Y:> against <about:blank> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:///y:> against <about:blank> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:///y:/> against <about:blank> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:///./y> against <about:blank> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:///./y:> against <about:blank> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file://localhost//a//../..//foo> against <about:blank> | FAIL | PASS | PASS | PASS | FAIL | — |
| Parsing: <file://localhost////foo> against <about:blank> | FAIL | PASS | PASS | PASS | FAIL | — |
| Parsing: <file:////foo> against <about:blank> | FAIL | PASS | PASS | PASS | FAIL | — |
| Parsing: <file:///one/two> against <file:///> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file:////one/two> against <file:///> | FAIL | PASS | PASS | PASS | FAIL | — |
| Parsing: <//one/two> against <file:///> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <///one/two> against <file:///> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <////one/two> against <file:///> | FAIL | PASS | PASS | PASS | FAIL | — |
| Parsing: <file:///.//> against <file:////> | PASS | PASS | PASS | PASS | FAIL | — |
| Parsing: <file:.//p> against <about:blank> | PASS | PASS | PASS | PASS | FAIL | — |
| Parsing: <file:/.//p> against <about:blank> | PASS | PASS | PASS | PASS | FAIL | — |
| Parsing: <10.0.0.7:8080/foo.html> against <file:///some/dir/bar.html> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <a!@$*=/foo.html> against <file:///some/dir/bar.html> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <file://ab/p> against <about:blank> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <file://a%C2%ADb/p> against <about:blank> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <file://loC𝐀𝐋𝐇𝐨𝐬𝐭/usr/bin> against <about:blank> | FAIL | PASS | PASS | PASS | PASS | — |
| Parsing: <file:///p> against <about:blank> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <file://%C2%AD/p> against <about:blank> | PASS | FAIL | PASS | PASS | PASS | — |
| Parsing: <file://xn--/p> against <about:blank> | PASS | FAIL | PASS | PASS | FAIL | — |
| Parsing: <> against <about:blank> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: <///abcdef/../> against <file:///> | PASS | PASS | PASS | PASS | PASS | — |
| Parsing: </\//\/a/../> against <file:///> | FAIL | PASS | PASS | PASS | FAIL | — |
| Parsing: <//a/../> against <file:///> | PASS | FAIL | PASS | PASS | PASS | — |