Contact emails
Spec
Summary
Implement support for text-decoration-skip, initially for values "objects" and "ink".
Currently, this property is not parsed or functional. Without any changes, the current default behavior matches the spec's "objects" property value, which skips inline replaced objects but does not skip descenders.
This intent to implement and ship proposes to add support for: "objects" and "ink" values for this property.
Bonus intent: Contrary to the current specification draft, but matching Safari: Making "ink" the default value for this property.
Motivation
Underline typography is improved by this change, the underline does not cover or obstruct the descenders. Overall text readability is improved as well.
While this is already an improvement in Latin script, scripts that make more use of the space below the baseline are more positively affected, compare the screenshot below for examples of Latin, Arabic and Burmese.
Interoperability risk
Firefox: Public support
It seems that Firefox is willing to support this, judging from
issue 812990, but currently has implementation difficulties.
Safari: Shipped
Web developers: Positive
See
this post by Marcin Wicary of Medium about what kind of technical effort Medium went through to enable descender gaps in underlines. Implementing support for text-underline-skip helps to reduce the pressure to add such an extra load to the rendering engine for rendering accordingly.
Compatibility risk
Switching to "ink" as the default value changes the rendering of existing pages, however for Safari 8 that has been received mostly positively.
Shipping with "objects" as default does not change the existing default behavior and poses no compatibility risks.
Ongoing technical constraints
None, Skia added support for calculating the intercepts. The above screenshot has been generated with a proof of concept implementation.
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux,
Chrome OS, Android, and Android WebView)?
Yes
OWP launch tracking bug
Link to entry on the Chrome Platform Status
Requesting approval to ship?
Yes
Requesting bonus approval to ship?
Yes, ideally with making "ink" the default as well.