Re: [csswg-drafts] [css-text-decor] A new property for text decorations to skip ink

> Does that mean you agree not to include to text-decoration shorthand
 but you prefer to include in text-decoration-skip shorthand?

Yes. But see below for an important nuance.

> My primary concern is when author starts using
> 
> ` :root { text-decoration-skip: ink; }
>
> and when a UA supports leading-spaces, the page suddenly draws 
underlines to leading spaces. 

I agree that would be bad, but this would not happen with the 
`text-decoration-skip` shorthand the way I am proposing it.

I am against a shorthand that would have this kind of syntax: 
`text-decoration-skip: <text-decoration-skip-ink> || 
<text-decoration-skip-spaces> || <text-decoration-skip-foo> || 
<text-decoration-skip-bar>`. This has the problem you describe, , as 
well as other similar problems as described in #843. So on that, we 
agree.

What I am proposing is that the values of `text-decoration-skip` 
should only be `auto` and nothing else.  This shorthand should only 
have the ability to reset all its longhand to whatever their initial 
values is. If you want anything else, you need to go through the 
longhands.

That would avoid the problem discussed above. 

Why would that be useful? Because we have quite a few 
`text-decoration-skip-*` properties, and getting all of them back to 
the default state is annoying and very verbose (and not future proof).
 If you want to set an element to "whatever is normal, except don't 
skip ink", you cannot do that only with `text-decoration-skip-ink: 
none`, because that instead means "whatever is inherited, except don't
 skip ink". If you've used other `text-decoration-skip-*` properties 
somewhere on the page, these two are different. You'd write 
`text-decoration-skip: auto; text-decoration-skip-ink: none;`. 

It has also been proposed during the Seattle F2F that we should also 
be able to set the longhands via the shorthand, but that it would need
 a different syntax with explicit `on` and `off` for each one. Like 
`text-decoration-skip: auto | [ink-on | ink-off] && [ 
leading-spaces-on | leading-spaces-off]`. This would also avoid the 
problem you mentioned. I don't think this is necessary, but I am not 
strongly opposed to it. I suggest we start with just 
`text-decoration-skip: auto`, and if needed add these later.

Maybe I am misunderstanding it, but I think we agreed to that [in 
Seattle](https://lists.w3.org/Archives/Public/www-style/2017Feb/0049.html).
 We have:
* An explicit resolution to “Add all of the skipping properties” (at 
the end of a discussion that includes the shorthand with only `none | 
auto`)
* An other explicit resolution to put ink skipping in level 3 and the 
rest in level4
* an agreement (without resolution) that a shorthand with the current 
syntax (`text-decoration-skip: <text-decoration-skip-ink> || 
<text-decoration-skip-spaces> || <text-decoration-skip-foo> || 
<text-decoration-skip-bar>`) is bad
* an agreement (without resolution) that the shorthand can start with 
a single keyword (possibly named `initial` or `auto` resetting all the
 longhands to their initial values.

-- 
GitHub Notification of comment by frivoal
Please view or discuss this issue at 
https://github.com/w3c/csswg-drafts/issues/962#issuecomment-280528044 
using your GitHub account

Received on Friday, 17 February 2017 02:07:45 UTC