Arxo Findings Register · Arxo Law

ARXO-2026-0337 · Reported

CSS Shadow 1: the exportparts form “::ident : outerIdent” is rejected by the rules for parsing part mappings

§5.3 defines the exportparts form ::ident : outerIdent and example #example-b11a0a88 uses ::before : preceding-text. §5.6.1 collects the leading token from code points that are not spaces or colons and returns an error when it is empty; ::before starts with a colon, so the token is empty, and §5.6.2 drops the mapping. The form defined in §5.3 can never be produced by the parser.

Consequence

exportparts="::before : preceding-text" forwards nothing, so a ::part(preceding-text) rule in the outer document never matches.

Proposed correction

Align the parsing rules of §5.6.1 with the pseudo-element form of §5.3, or remove the form and the example.

Issued by
World Wide Web Consortium (W3C) — CSS Working Group
Act
CSS Shadow Module Level 1 (Editor's Draft, 28 April 2026)
Place
§5.3 against §5.6.1 and §5.6.2
Record
Discrepancy
Class
Text of the act
Where it arose
The text of the act
Arxo's conclusion
Confirmed
Official text
Unchanged at last check
Last checked
2026-10-31

Evidence

Contradiction within the text. Quotations are verbatim from the official material; translations are ours and marked.

If ::ident is the name of a fully styleable pseudo-element, adds ::ident / outerIdent to el’s forward part name list. Otherwise, does nothing.
Normative text · CSS Shadow Module Level 1, Editor's Draft of 28 April 2026 (W3C CSS Working Group) · §5.3 Forwarding a Shadow Element: the exportparts attribute · Editor's Draft · retrieved 2026-10-30 · SHA-256 c84bdd0453ff210fa95fb95b118d7a8d365f189ea8fab1ee7db791f199fe1db4 · copy
Collect a sequence of code points that are not space characters or U+003A COLON characters, and let first token be the result.
Normative text · CSS Shadow Module Level 1, Editor's Draft of 28 April 2026 (W3C CSS Working Group) · §5.6.1 Rules for parsing part mappings · Editor's Draft · retrieved 2026-10-30 · SHA-256 c84bdd0453ff210fa95fb95b118d7a8d365f189ea8fab1ee7db791f199fe1db4 · copy
If first token is empty then return error.
Normative text · CSS Shadow Module Level 1, Editor's Draft of 28 April 2026 (W3C CSS Working Group) · §5.6.1 Rules for parsing part mappings · Editor's Draft · retrieved 2026-10-30 · SHA-256 c84bdd0453ff210fa95fb95b118d7a8d365f189ea8fab1ee7db791f199fe1db4 · copy
If mapping is an error then continue to the next iteration of the loop.
Normative text · CSS Shadow Module Level 1, Editor's Draft of 28 April 2026 (W3C CSS Working Group) · §5.6.2 Rules for parsing a list of part mappings · Editor's Draft · retrieved 2026-10-30 · SHA-256 c84bdd0453ff210fa95fb95b118d7a8d365f189ea8fab1ee7db791f199fe1db4 · copy

How to check it without Arxo's tools

  1. Open CSS Shadow Module Level 1, Editor's Draft of 28 April 2026 (W3C CSS Working Group) and find §5.3 Forwarding a Shadow Element: the exportparts attribute; §5.6.1 Rules for parsing part mappings; §5.6.2 Rules for parsing a list of part mappings. Compare the text with the quotation above. A copy is kept in this register: c84bdd0453ff210f-ed-css-shadow-1.html (SHA-256 c84bdd0453ff210fa95fb95b118d7a8d365f189ea8fab1ee7db791f199fe1db4, copy of the official file).
  2. The finding holds if the quoted passages read as shown and the comparison gives the result stated at the top of this page. If it does not, write to us with the record ID.

How this finding was made

AI agents read the specifications and compared their sections. An AI coordinator checked the place against the full Editor's Draft and the Working Group's issue tracker, and two further AI models checked the report before filing.

Responsible institutions

Reported to

DateInstitutionChannelReference
2026-10-31W3C CSS Working Grouppublic issue trackerhttps://github.com/w3c/csswg-drafts/issues/14702

Responses

No response recorded.

History

  1. 2026-10-31Confirmed by Arxo
  2. 2026-10-31Entered in the register
  3. 2026-10-31Reported to W3C CSS Working Group (public issue tracker)

Cite this record

Arxo Law, Arxo Findings Register, ARXO-2026-0337, https://arxo.io/findings/ARXO-2026-0337/ (status as of 2026-10-31). Data: ARXO-2026-0337.json.