Re: [csswg-drafts] [css-ui-4][user-select] value is used value?

Thank you for the pointers. @yoichio, @yosinch, and I discussed on 
this, it looks like our concern was not explicitly discussed yet in 
the past, so please allow us to raise.

## Background

>From the spec, it looks like the intention is to make `contain` not to
 inherit but other values to inherit. We do not have a general 
mechanism for some values of a property inherits but some do not.

We compute all properties for all elements, regardless whether a 
property is used or not. Inheritance is normally computed by sharing a
 data structure that contains all inherited properties from parents.

Since the current spec defines 
[user-select](https://drafts.csswg.org/css-ui-4/#propdef-user-select) 
as not-inherited, but computes `auto` depends on parent's computed 
style, this logic needs to run on every element, in a way that it is 
not shareable, even when the property is not used. We'd like to avoid 
this performance impact.

## Proposal

We propose to split values to two separate properties depends on 
whether we want to inherit or not.

```
user-select: text | all | none
initial: text
inherited: yes
```
```
user-select-contain: none | contain
initial: none
inherited: no
```

This change will add a new combination, `all` and `contain`, which 
looks like a positive side effect for authors.

Thoughts?

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

Received on Monday, 8 August 2016 05:42:28 UTC