LGTM2
On 3/3/26 4:09 a.m., Philip Jägenstedt wrote:
LGTM1, looks like a useful addition already supported by other browsers.
On Mon, Mar 2, 2026 at 3:06 PM 'Ragvesh Sharma' via blink-dev
<[email protected]> wrote:
*Contact emails*
[email protected]_
*Specification*
_https://drafts.csswg.org/css-text-decor-4/#text-decoration-skip-ink-property_
*Summary*
Add support for the `all` value for the CSS
text-decoration-skip-ink property, as specified in
_https://drafts.csswg.org/css-text-decor-4/#text-decoration-skip-ink-property_.
The `text-decoration-skip-ink` property already supports `auto`
and `none`. The `all` value extends this by unconditionally
applying ink-skipping to all glyphs - including CJK characters -
whereas `auto` leaves CJK characters un-skipped because
ink-skipping tends to produce undesirable visual results for
ideographic scripts at typical underline positions. With
`text-decoration-skip-ink: all`, authors who have adjusted
`text-underline-position` or `text-underline-offset` to avoid
clashing with CJK glyphs can explicitly opt in to ink-skipping for
those characters as well.
*Blink component*
_Blink>Fonts
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EFonts%22>_
*Web Feature ID*
_text-decoration-skip-ink
<https://webstatus.dev/features/text-decoration-skip-ink>_
*Motivation*
The `text-decoration-skip-ink` property controls whether
underlines and other text decorations skip over glyph ascenders
and descenders to improve readability. The current `auto` value
intentionally does not apply ink-skipping to CJK (Chinese,
Japanese, Korean) scripts, as these characters typically sit above
the baseline and rarely intersect with underlines. However, web
developers working with mixed-script content or specific CJK
layouts sometimes need underlines to skip around all glyphs
uniformly, including CJK characters. Without the all value,
developers have no way to request this behavior - they must either
accept inconsistent decoration rendering across scripts or avoid
using `text-decoration-skip-ink` entirely. The `all` value gives
authors explicit control to request ink-skipping for all scripts,
enabling consistent visual treatment of underlined text regardless
of language. This is particularly useful for design systems that
require uniform text decoration behavior across multilingual
content. Firefox and Safari already support this value, making it
an interoperability gap for Chrome.
*Initial public proposal*
/No information provided/
*TAG review*
/No information provided/
*TAG review status*
Not applicable
*Risks*
*Interoperability and Compatibility*
Very Low Risk. This feature adds a new keyword value (`all`) and
does not change the behavior of existing values (`auto`, `none`).
Pages that do not use `text-decoration-skip-ink: all` are
completely unaffected. This feature is already shipping in Firefox
and Safari. Chrome is the last major browser to implement this
value. Shipping this feature improves interoperability and closes
a compatibility gap. The
_https://drafts.csswg.org/css-text-decor-4/#text-decoration-skip-ink-property_
defines
the `all` value, and there is consensus among browser vendors on
its behavior.
/Gecko/:
Shipped/Shipping
(_https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/text-decoration-skip-ink#browser_compatibility_)
Fully
Supported since v75. Link:
_https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/text-decoration-skip-ink#browser_compatibility_
/WebKit/:
Shipped/Shipping
(_https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/text-decoration-skip-ink#browser_compatibility_)
Fully
Supported since v15.4. Link:
_https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/text-decoration-skip-ink#browser_compatibility_
/Web developers/: In the Chromium bug 9 people have upvoted for
this feature.
/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?/
None. This is a new CSS property value (all) that existing content
does not use. The behavior of existing values (auto and none) is
unchanged. Sites must explicitly opt-in to the new behavior by
specifying text-decoration-skip-ink: all. There are no backwards
compatibility concerns.
*Debuggability*
Standard CSS DevTools support. The all value is already parseable
behind the experimental flag and visible in the Styles pane. No
additional DevTools work is needed.
*Will this feature be supported on all six Blink platforms
(Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?*
Yes
This feature is supported on all platforms where Chromium runs
(Windows, macOS, Linux, ChromeOS, Android). The implementation
uses platform-agnostic font APIs (GetTextIntercepts) to compute
glyph outlines for ink-skipping, which are already used for the
existing auto value. No platform-specific code paths are required.
*Is this feature fully tested by **_web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>_**?*
Yes
Existing WPT tests already cover parsing of all:
-
external/wpt/css/css-text-decor/parsing/text-decoration-skip-ink-valid.html
— validates all as a valid value
-
external/wpt/css/css-text-decor/parsing/text-decoration-skip-ink-computed.html
— validates computed value
-
external/wpt/css/css-text-decor/parsing/text-decoration-skip-ink-invalid.html
— validates rejection of invalid values
Visual rendering is covered by:
-
fast/css3-text/css3-text-decoration/text-decoration-skip-ink-all.html
(Blink pixel test)
*Flag name on about://flags*
/No information provided/
*Finch feature name*
CSSTextDecorationSkipInkAll
*Rollout plan*
Will ship enabled for all users
*Requires code in //chrome?*
False
*Tracking bug*
_https://issues.chromium.org/issues/40675832_
*Estimated milestones*
Shipping on desktop
148
Shipping on Android
148
Shipping on WebView
148
Shipping on iOS
148
*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/5077600085082112?gate=6690394362478592_
This intent message was generated by _Chrome Platform Status
<https://chromestatus.com/>_.
--
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/SEYP153MB116960579D53783B0BBC8C83B173A%40SEYP153MB1169.APCP153.PROD.OUTLOOK.COM
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/SEYP153MB116960579D53783B0BBC8C83B173A%40SEYP153MB1169.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/CAARdPYfufADdHZFs1HfXP-D4nndXDbZ4Cn-%3DVd%3Dk0C1XZgnGGQ%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYfufADdHZFs1HfXP-D4nndXDbZ4Cn-%3DVd%3Dk0C1XZgnGGQ%40mail.gmail.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/adc6618f-e52a-4d32-82d4-7739a46b41a0%40chromium.org.