v157 · sanitizer api · edge / failure modes

Escape artists

"Contains a javascript: URL" is decided by the URL parser, not by string matching — so JaVaScRiPt:, leading control characters, tab-split schemes, and HTML-entity spellings are all caught, while vbscript: and data: URLs are deliberately not this rule's business. This page builds one markup snippet per cell — every obfuscated spelling crossed with every navigation attribute the spec names — and runs each through the real sanitizer in your browser.

Probing…

The matrix

Call used: (probing)

Not run yet.

URL spelling × navigation attribute — live result per cell
URL spelling

what counts as a navigation attribute

The inner sanitize steps check three lists when javascriptURLs is not true: the built-in navigating URL attributes ((element, attribute) pairs like a href, area href, form action, input formaction, button formaction, and SVG's a href), MathML elements' href (null or XLink namespace), and the built-in animating URL attributes (SVG <animate> and friends). iframe src and img src are not in the navigation list — a javascript: URL there never navigates the top-level page; other sanitizer rules handle those elements.

see also