LGTM1, seems like a straightforward improvement!

Notably https://bugzilla.mozilla.org/show_bug.cgi?id=1446617 says "Closed 7
years ago" and it's great to close the gap on these things.

On Thu, Feb 5, 2026 at 6:57 AM 'Virali Purbey' via blink-dev <
[email protected]> wrote:

> Hi all,
>
>
>
> Sharing my I2S for review. Please have a look.
>
> Thanks,
> Virali
>
>
>
> *Contact emails*
>
> [email protected]
>
>
>
> *Specification*
>
> https://svgwg.org/svg2-draft/text.html#TextPathElement
>
>
>
> *Summary*
>
> This change adds support for the path attribute on the SVG <textPath>
> element, allowing authors to define text path geometry inline using SVG
> path data and reducing the need for separately defined <path> elements.
>
>
>
> <textPath> resolves its text path geometry using the following rules:
>
>
>
> 1. If both path and href are present, geometry is resolved from the path
> attribute.
>
> 2. If only the path attribute is present and parses successfully, the
> inline path definition is used.
>
> 3. If the path attribute is absent or fails to parse, and an href
> attribute is provided, the referenced <path> element is used as a fallback.
>
> 4. Existing href‑only behavior is preserved without change.
>
>
>
> This implementation follows the SVG 2 specification’s definition of the
> path attribute on <textPath>, and the resolution behavior is consistent
> with other browser engines, improving interoperability and standards
> compliance.
>
>
>
> Note: When both path and href are specified on <textPath>, path now takes
> precedence, per SVG 2 specification.
>
>
>
> *Blink component*
>
> Blink>SVG
> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ESVG%22>
>
>
>
> *Web Feature ID*
>
> svg <https://webstatus.dev/features/svg>
>
>
>
> *Motivation*
>
> Before this change, Chromium required <textPath> to reference a separate
> <path> element via href in order to define text path geometry. While
> functional, this limitation diverged from the SVG 2 specification and from
> behavior in other browser engines that support inline path data via the
> path attribute. As a result, SVG content authored for cross‑browser
> compatibility frequently rendered incorrectly in Chromium or required
> duplicating path definitions solely to accommodate Chromium’s lack of
> support.
>
>
>
> Supporting the path attribute allows authors to define self‑contained
> text‑on‑path geometry directly on <textPath>, reducing DOM indirection and
> improving authoring ergonomics without changing existing href‑based
> behavior. This aligns Chromium’s behavior with the SVG specification and
> other engines, eliminates a known source of interoperability issues, and
> reduces the need for browser‑specific workarounds in real‑world SVG content.
>
>
>
> *Initial public proposal*
>
> *No information provided*
>
>
>
> *TAG review*
>
> Not requested. This change implements an existing SVG 2 feature and does
> not introduce new web‑exposed APIs or primitives.
>
>
>
> *TAG review status*
>
> Not applicable
>
>
>
> *Risks*
>
>
>
> *Interoperability and Compatibility*
>
> Behavior change risk:
>
> Previously, Chromium ignored the path attribute on <textPath> and always
> resolved text geometry via href. With this change, when both path and href
> are specified, the path attribute takes precedence, per the SVG 2
> specification. As a result, some existing SVG content that relied on href
> may render differently post‑ship. This aligns Chromium with other browser
> engines and improves standards compliance.
>
>
>
> Mitigation: The feature is guarded by a Finch flag
> (SvgTextPathPathAttributeEnabled), which can be used as a kill‑switch if
> unexpected compatibility issues arise.
>
>
>
> *Gecko*: Shipped/Shipping (
> https://bugzilla.mozilla.org/show_bug.cgi?id=1446617)
>
>
>
> *WebKit*: No signal (
> https://github.com/WebKit/standards-positions/issues/606)
>
>
>
> *Web developers*: Positive
>
> One user has noted they are impacted by the CrBug.
>
>
>
> *Other signals*:
>
>
>
> *Security*
>
> This feature does not introduce new script‑accessible APIs, cross‑origin
> capabilities, or user‑exposed surface area. It enables use of inline SVG
> path data in a context that already accepts path geometry via referenced
> <path> elements. The same SVG path parsing and rendering logic already
> exercised by <path> elements is reused for the path attribute on
> <textPath>. No additional memory exposure, network access, or privilege
> changes are introduced.
>
>
>
> *WebView application risks*
>
> *Does this intent deprecate or change behavior of existing APIs, such that
> it has potentially high risk for Android WebView-based applications?*
>
> No.
>
> This change does not deprecate or modify existing APIs. It adds support
> for a previously unsupported SVG attribute and preserves existing href‑only
> behavior.
>
>
>
> *Debuggability*
>
> Issues related to this feature are debuggable using existing SVG and DOM
> inspection tools. The resolved path used by <textPath> can be inspected via
> the DOM and verified through rendered output. Invalid inline path values
> gracefully fall back to href, avoiding hard failures and making rendering
> issues visible rather than silent. No new debugging tooling is required.
>
>
>
> *Will this feature be supported on all six Blink platforms (Windows, Mac,
> Linux, ChromeOS, Android, and Android WebView)?*
>
> Yes
>
>
>
> *Is this feature fully tested by **web-platform-tests*
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
> *?*
>
> Yes
>
> https://wpt.fyi/results/svg/text/reftests/textpath-path-attr.svg
>
>
> https://wpt.fyi/results/svg/text/reftests/textpath-path-attr-invalid-path-fallback.svg
>
>
>
> https://wpt.fyi/results/svg/text/reftests/textpath-path-attr-precedence-over-href.svg
>
>
>
> *Flag name on about://flags*
>
> *No information provided*
>
>
>
> *Finch feature name*
>
> SvgTextPathPathAttributeEnabled
>
>
>
> *Rollout plan*
>
> Will ship enabled for all users
>
>
>
> *Requires code in //chrome?*
>
> False
>
>
>
> *Tracking bug*
>
> https://issues.chromium.org/issues/374010056
>
>
>
> *Estimated milestones*
>
> Shipping on desktop
>
> 146
>
> Shipping on Android
>
> 146
>
> Shipping on WebView
>
> 146
>
>
>
> *Anticipated spec changes*
>
> *Open questions about a feature may be a source of future web compat or
> interop issues. Please list open issues (e.g. links to known github issues
> in the project for the feature specification) whose resolution may
> introduce web compat/interop risk (e.g., changing to naming or structure of
> the API in a non-backward-compatible way).*
>
> There is an open discussion in the SVG Working Group regarding validation
> requirements for the path attribute on <textPath>, specifically whether the
> entire path data must be valid in order for the attribute to be used:
> https://github.com/w3c/svgwg/issues/393
>
>
>
> The current implementation follows the SVG 2 specification as written and
> aligns with existing behavior in other engines. If the resolution of this
> issue results in clarified or changed requirements around partial path
> validity, minor behavior adjustments may be required in the future. At
> present, no concrete spec changes have been adopted.
>
>
>
> *Link to entry on the Chrome Platform Status*
>
> https://chromestatus.com/feature/5157546589552640?gate=6533295938600960
>
>
>
> This intent message was generated by Chrome Platform Status
> <https://chromestatus.com/>.
>
>
>
> *From
> <https://chromestatus.com/feature/5157546589552640/gate/6533295938600960/intent
> <https://chromestatus.com/feature/5157546589552640/gate/6533295938600960/intent>>
> *
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/KUYP153MB1117D04BB5474CCF72F81DFAC199A%40KUYP153MB1117.APCP153.PROD.OUTLOOK.COM
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/KUYP153MB1117D04BB5474CCF72F81DFAC199A%40KUYP153MB1117.APCP153.PROD.OUTLOOK.COM?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYeTsrO224hDmfHw%3DHMxJio-p%2B2bL3nrRQOJVzh_7mUR9w%40mail.gmail.com.

Reply via email to