Intent to Ship: CSS4 text-decoration-skip-spaces

200 views
Skip to first unread message

Chromestatus

unread,
Aug 11, 2026, 9:02:56 AM (9 days ago) Aug 11
to blin...@chromium.org, perry...@gmail.com
Contact emails
perry...@gmail.com

Specification
https://drafts.csswg.org/css-text-decor-4/#text-decoration-skip-spaces-property

Summary
The text-decoration-skip-spaces CSS property controls whether text decoration lines (underlines, overlines, line-throughs, etc.) skip over whitespace characters. This allows authors to prevent decorations from being drawn under spaces, which is often more visually appealing.

Blink component
Blink>CSS

Web Feature ID
text-decoration

Motivation
Currently there is no web standard way to control whether text decorations (underlines, overlines, line-throughs) appear over whitespace characters. Authors commonly want to suppress the underline under leading/trailing spaces in inline elements, but CSS provides no mechanism for this. The `text-decoration-skip-spaces` property fills this gap, allowing precise control over decoration rendering around whitespace. This is useful for navigation menus, links, and any text where the decoration should visually attach only to non-space characters.

Initial public proposal
No information provided

TAG review
No information provided

TAG review status
Not applicable

Goals for experimentation
None

Risks


Interoperability and Compatibility
Minimal risks; this feature is purely additive.

Gecko: No signal

WebKit: No signal

Web developers: No signals

Other signals:

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 information provided


Debuggability
No information provided

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?
Yes
https://wpt.fyi/results/css/css-text-decor?sha=249e1eb8e6&label=master&max-count=1&view=subtest&q=css%2Fcss-text-decor%2Ftext-decoration-skip-spaces

Flag name on about://flags
enable-experimental-web-platform-features

Finch feature name
CSSTextDecorationSkipSpaces

Rollout plan
Will ship enabled for all users

Requires code in //chrome?
False

Tracking bug
https://issues.chromium.org/issues/40862777

Estimated milestones
Shipping on desktop154
DevTrial on desktop150
Shipping on Android154
DevTrial on Android150
Shipping on WebView154


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).

No information provided

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/4832783806627840?gate=6279878547734528

Links to previous Intent discussions
Intent to Prototype: https://groups.google.com/a/chromium.org/d/msgid/blink-dev/69d8f543.050a0220.1c79a0.1352.GAE%40google.com


This intent message was generated by Chrome Platform Status.

Dan Clark

unread,
Aug 12, 2026, 12:19:19 PM (8 days ago) Aug 12
to blink-dev, Chromestatus, perry...@gmail.com
We talked about this during the API Owners call today and something that came up was this Issue 6 in the spec: https://drafts.csswg.org/css-text-decor-4/#issue-4229bfce
Is your plan to ship with 'none' as the default, or try 'end' to more closely align with the Firefox and Safari behavior noted in https://github.com/w3c/csswg-drafts/issues/4653?
API Owners may be open to taking on some compatibility risk here if we think it'd mean shipping a better behavior, as long as we go into it with both eyes open and are ready to activate the kill-switch if there are issues.

And can you request signals on this from Gecko and Webkit? Are there developer signals we can point at to see that people need this feature?

Thanks,
Dan

Daniel Clark

unread,
Aug 14, 2026, 2:02:53 PM (6 days ago) Aug 14
to Perry, blink-dev, Chromestatus

A concrete first step would be to file engine standards positions per the instructions in https://www.chromium.org/blink/launching-features/wide-review/#standards-positions to concretely ask Gecko and WebKit whether they plan to support this. In those threads you could ask that if they do plan to support this, whether they’d ship with ‘start end’ per the spec, or ‘end’ which is closer to their current behavior per https://github.com/w3c/csswg-drafts/issues/4653, or something else.

 

If no one else has plans to ship this then I’m less concerned about diverging from what the spec has, so ‘none’ would be fine. We should then push to have the spec reflect reality rather than the other way round.

 

From: Perry <perry...@gmail.com>
Sent: Thursday, August 13, 2026 6:41 AM
To: blink-dev <blin...@chromium.org>
Cc: Daniel Clark <dan...@microsoft.com>; Chromestatus <ad...@cr-status.appspotmail.com>; Perry <perry...@gmail.com>
Subject: Re: Intent to Ship: CSS4 text-decoration-skip-spaces

 

You don't often get email from perry...@gmail.com. Learn why this is important

Thanks Dan. 

 

My plan is to ship with 'none' as the default, because I think such compatibility is less risky, but it will lead to inconsistency with the specification.

It seems that Firefox and Safari do not support it so far. Maybe I missed something.


I'm not sure how to continue. Could you give me some advice? Thanks.

Perry

unread,
Aug 17, 2026, 11:45:38 AM (3 days ago) Aug 17
to blink-dev, dan...@microsoft.com, Chromestatus, Perry
Thanks Dan. My plan is to ship with 'none' as the default, because I think such compatibility is less risky, but it will lead to inconsistency with the specification.


It seems that Firefox and Safari do not support it so far. Maybe I missed something.

I'm not sure how to continue. Could you give me some advice? Thanks.

在2026年8月13日星期四 UTC+8 00:19:19<dan...@microsoft.com> 写道:

Perry

unread,
Aug 17, 2026, 11:45:39 AM (3 days ago) Aug 17
to blink-dev, dan...@microsoft.com, Chromestatus, Perry
Thanks Dan. 

My plan is to ship with 'none' as the default, because I think such compatibility is less risky, but it will lead to inconsistency with the specification.

It seems that Firefox and Safari do not support it so far. Maybe I missed something.

I'm not sure how to continue. Could you give me some advice? Thanks.

在2026年8月13日星期四 UTC+8 00:19:19<dan...@microsoft.com> 写道:
Shipping on desktop154 DevTrial on desktop150 Shipping on Android154 DevTrial on Android150 Shipping on WebView154

Dan Clark

unread,
Aug 19, 2026, 11:22:01 AM (yesterday) Aug 19
to blink-dev, perry...@gmail.com, Dan Clark, Chromestatus

(Re-sending since the theading got messed up, sorry for any double-send).

A concrete first step would be to file engine standards positions per the instructions in https://www.chromium.org/blink/launching-features/wide-review/#standards-positions to concretely ask Gecko and WebKit whether they plan to support this. In those threads you could ask that if they do plan to support this, whether they’d ship with ‘start end’ per the spec, or ‘end’ which is closer to their current behavior per https://github.com/w3c/csswg-drafts/issues/4653, or something else. 

If no one else has plans to ship this then I’m less concerned about diverging from what the spec has, so ‘none’ would be fine. We should then push to have the spec reflect reality rather than the other way round.


Chris Harrelson

unread,
Aug 19, 2026, 12:44:25 PM (23 hours ago) Aug 19
to Dan Clark, blink-dev, perry...@gmail.com, Chromestatus
TL;DR please update to match the existing spec and file standards positions requests with the other implementations.

I researched the feature and think it should ship with the default of "start end" as specified in the spec. Current tests are here.

The compat risk is only for the beginning and end of lines. I think it's unlikely developers will dislike no longer underlining extra space at the beginning or end of some text. I also think this situation is uncommon in existing sites; developers have to go out of their way to cause extra spaces to appear next to a run of text. (Also note: the default does *not* skip spaces in the middle of text.)

I did notice that there don't seem to be any tests for the default (i.e. a test that doesn't set text-decoration-skip-spaces at all in the CSS), please add that.







--
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 blink-dev+...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/976d683a-1865-40a3-8880-e0f3147ca667n%40chromium.org.
Reply all
Reply to author
Forward
0 new messages