Skip to content

change(xml-sitemaps): XSL stylesheets are out — the HTML Standard says avoid client-side XSLT - #198

Draft
jdevalk wants to merge 1 commit into
mainfrom
change/xslt-deprecated-2026-09-05
Draft

change(xml-sitemaps): XSL stylesheets are out — the HTML Standard says avoid client-side XSLT#198
jdevalk wants to merge 1 commit into
mainfrom
change/xslt-deprecated-2026-09-05

Conversation

@jdevalk

@jdevalk jdevalk commented Sep 5, 2026

Copy link
Copy Markdown
Owner

What changed

/spec/seo/xml-sitemaps/ recommended attaching an XSLT stylesheet to a sitemap via <?xml-stylesheet?> so browsers render it as a readable table, and asserted that "XSLT 1.0 is supported by current Chrome, Firefox, and Safari with no client-side dependencies." That is no longer true, and the advice is now advice to build something that breaks in ten weeks.

  • Rewrote "A stylesheet for human readers""Do not attach an XSL stylesheet": what the workaround was, why it has expired, what the failure actually looks like (crawlers are unaffected — it is the human view that silently regresses, which is why it gets left in place), and the replacement (a plain HTML index page).
  • Swapped two sources: W3C XSLT 1.0 and the Yoast article out; the WHATWG section and Chrome's removal doc in.
  • Bumped updated.
  • Dropped the processing instruction from this site's own sitemaps (src/lib/sitemap.ts), plus the now-dead /sitemap.xsl entries in public/_headers and public/_routes.json. Leaving the site doing the thing the page now advises against would be exactly the divergence CLAUDE.md calls a bug.
  • Changelog entry (changed).

Why now

WHATWG HTML commit 208004f — "Mark XSLT deprecated", landed 2026-08-25, adds a class="critical" note in three places:

Avoid using client-side XSLT in browsers. The browser implementations of XSLT are highly susceptible to memory safety vulnerabilities, and the web platform has evolved toward JavaScript as the safe replacement. For these reasons, this feature is in the process of being removed from the web platform.

Primary sources

Status

Page status stays recommended — this is about sitemaps, and sitemaps are unaffected. Only the stylesheet advice changed, from "do this" to "do not".

One thing left for a human

public/sitemap.xsl is now orphaned — nothing references it — but I could not delete it (git rm is blocked in this environment). It needs removing before merge, or in a follow-up.


Opened by the daily standards scan (ops/routines/daily-standards-scan.md). Draft — not for auto-merge.

… avoid XSLT

The HTML Standard gained an explicit warning against client-side XSLT on
2026-08-25 (whatwg/html@208004f): browser XSLT implementations are highly
susceptible to memory-safety vulnerabilities and the feature is being removed
from the web platform. Chrome stops running it in 158 (17 Nov 2026); Firefox
and WebKit intend to follow.

The page recommended exactly this, and claimed XSLT 1.0 was supported by
current Chrome, Firefox and Safari. Rewrites the section to advise an ordinary
HTML index instead, and drops the <?xml-stylesheet?> processing instruction
from this site's own sitemaps so we no longer ship what we advise against.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying specification-website with  Cloudflare Pages  Cloudflare Pages

Latest commit: fc32e59
Status: ✅  Deploy successful!
Preview URL: https://d4ec21dd.specification-website.pages.dev
Branch Preview URL: https://change-xslt-deprecated-2026.specification-website.pages.dev

View logs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant