This supersedes the previous Intent to Ship for text-decoration-skip with values objects, ink as default.
Contact emails
dr...@chromium.org, ko...@chromium.org
Spec
https://drafts.csswg.org/css-text-decor-4/#text-decoration-skip-ink-property
Summary
In Chrome 57 we shipped support for text-decoration-skip: ink; which allows skipping descenders in underlines (illustration). We initially suggested making it the default in the intent process but dropped this part for shipping because we had assumed a spec change was required.
We would now like to enable ink skipping by default.
The feedback on the previous intent to ship had been to seek for standardization of an initial value that allows us to do ink skipping by default.
After several rounds of discussions in the CSS WG, I believe we have a viable way forward:
The discussion in https://lists.w3.org/Archives/Public/www-style/2017Feb/0069.html concluded with
RESOLVED: Use text-decoration-skip-ink with at least values of auto and none and have it cascade separate from shorthand. We will have some normative text describe how auto works, but we'll figure the details out in the future. Do this in L4.
This was now incorporated into CSS Text Decorations Level 4:
https://drafts.csswg.org/css-text-decor-4/#text-decoration-skip-ink-property
With the 'auto' value as initial.
This is a new property. While we were talking about
text-decoration-skip: ink objects;
before, we now propose to rename the property to
text-decoration-skip-ink: with value auto and none;
('ink' moves to the property name)
Hence, we also propose to deprecate the old property text-decoration-skip.
As before, we believe we gain better typography on the web with this change.
Link to “Intent to Implement” blink-dev discussion
Previous Intent to Ship for text-decoration-skip, without changing the default..
Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes.
Demo link
https://drott.github.io/underline.mp4
Debuggability
As other CSS text-decoration properties through DevTools.
Interoperability and Compatibility Risks
We see a low compatibility risk.
With regards to deprecation of the old and moving to a new name of the property: While adoption of the old text-decoration-skip property has been rising from April to October from close to 0 to 0.12, we believe it is almost only used for activating the feature. Here, we propose here to activate the feature by default. So while we rename the property, we would not introduce any functional change for these cases where pages used the old property to activate the feature.
Data from Microsoft crawler based usage stats shows a majority of usages setting it to "ink", nobody setting it to "none", and some cases setting it to "initial".
Safari has been shipping their own version of this change since 2014 and made underlines skip descenders by default. It's possible to disable this through non-standard -webkit-text-decoration-skip: none, or the 'objects' value. In Blink, it's possible to disable descender skipping by using text-decoration-skip: objects CSS.
With regards to interoperability: We're following the recommendation and CSS WG's resolution for the new property name text-decoration-skip-ink: auto. With that we would be the first UA to adopt this newly specced property. Safari has moved forward on their own with setting 'auto' as a default value on the non-standard -webkit-text-decoration-skip.
Changing the default in Blink would result in a visual change for the default underlines (an improvement, we believe).
In any event, text metrics or layout would not change. There would only be a visual difference for underlines. It would not break readability or layout of any existing text.
Edge: No signals, still on uservoice
Firefox: Public support, bug
Safari: Safari enabled underline descender skipping in Safari 8 in 2014. Shipped as -webkit prefixed version since 2014 with keyword: auto, which is now unspec'ed. Safari supports values 'objects' and 'ink'. It parses 'none', too, but this values behaves like 'objects'.
Web developers: Positive, Link to Blog Post by Marcin Wichary, a Medium Designer
Is this feature fully tested by web-platform-tests?
Issue 769629 tracks moving them to wpt. Issue 777428 tracks the rename of the property should this Intent be LGTM'ed.
Entry on the feature dashboard
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAN6muBsxfst%3Dnz8oN65MDk08PypHHuDc%2Bob8iQWJ%2BdCOOTgXsg%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOtFfx5xgHZ3eOKuoXRPH9QEHO_QDUOjWvSFts-js9qnV7oGnw%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
Does that mean https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration-skip page is outdated and will be removed?
Don't take this the wrong way, but I find the "skip ink underlining" to be ugly. How do you turn this feature off (browser level)?
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/9a5d225d-8705-4fa5-a04e-333c08b8d02d%40chromium.org.
Stephen , could you share an example of bad styling?
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/7b10bd07-c6c0-4cec-9fc9-a71d7e8d59e8%40chromium.org.
Looking at this, my primary complaint is that it was enabled by default while the implementation had a lot of user-facing issues. There were no tests for dotted or dashed underlines that I can see from the code review, nor significant testing across fonts.
I understand that this is essentially impossible to test comprehensively, but all the more reason to roll out slowly.
My opinion is that a change with this many issues should be reverted in M-64 to give time to fix the problems before too many users see it. But that ship might have sailed.
Even better may have been launching it as experimental to flush out issues.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAObCcUqz4Mv4nX%2BARRVqiL0bUE_8yxaKV6gVpLZy6LmDo1o_bQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/26bd314c-3825-45e6-9603-91c3c5aa89bc%40chromium.org.
Note that both Chrome and WebKit (Safari) don’t use underline position from the font, they calculates it on their own somehow (didn’t look in the code to see how exactly it is calculated, though). Firefox uses the underline position from the font, but clips it to the font descender.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/1faccfdb-dd76-4c3f-844b-e93a06bcdcb8%40chromium.org.
In any case, if the underline/overline collides with ink, the prefferred default behavior would be to skip the ink.
--
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+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/fcf13f27-6a27-4fb7-8cd2-3e517554c435%40chromium.org.
Yes, the change has been made, but I think it's wrong. I am currently arguing against it in the www-style w3 org mailing list. I originally filed a bug in Chrome for this as well (though it has since been labeled as "Won't Fix"):
https://bugs.chromium.org/p/chromium/issues/detail?id=813256
--
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 on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/fbdbb553-0164-4467-9621-3e1cb8b2b7a7%40chromium.org.