Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deprecate reference combinators #303

Closed
2 tasks done
nex3 opened this issue Mar 2, 2012 · 3 comments
Closed
2 tasks done

Deprecate reference combinators #303

nex3 opened this issue Mar 2, 2012 · 3 comments
Labels
requires deprecation Blocked on a deprecation cycle

Comments

@nex3
Copy link
Contributor

nex3 commented Mar 2, 2012

These should be on our radar, although we may want to wait until they're implemented somewhere before we support them. See Selectors Level 4.

Here's a page tracking browser support.

Tasks:

  • Deprecate existing behavior in stable.
  • Remove behavior from master.
@jleclanche
Copy link

I don't think this is here to stay; as the issue says it's a lot easier to implement as a functional pseudoclass. The syntax is really ugly, too.

@sturobson
Copy link

quickly looking in Chrome (latest and Canary), Firefox (latest and Aurora) and Opera (latest(presto)). There seems to be varied support for level 4 selectors now. I've found this test (wrongly named as CSS4) here -

http://css4-selectors.com/browser-selector-test/

Chrome -

current -

Indeterminate-value pseudo-class (E:indeterminate)
Default option pseudo-class (E:default)
Validity pseudo-class (E:in-range)
Validity pseudo-class (E:out-of-range)
Optionality pseudo-class (E:required)
Optionality pseudo-class (E:optional)
Mutability pseudo-class (E:read-only)
Mutability pseudo-class (E:read-write)

canary -

Indeterminate-value pseudo-class (E:indeterminate)
Default option pseudo-class (E:default)
Validity pseudo-class (E:in-range)
Validity pseudo-class (E:out-of-range)
Optionality pseudo-class (E:required)
Optionality pseudo-class (E:optional)
Mutability pseudo-class (E:read-only)
Mutability pseudo-class (E:read-write)

Firefox -

current -

Indeterminate-value pseudo-class (E:indeterminate)
Default option pseudo-class (E:default)
Validity pseudo-class (E:in-range)
Validity pseudo-class (E:out-of-range)
Optionality pseudo-class (E:required)
Optionality pseudo-class (E:optional)

aurora -

Indeterminate-value pseudo-class (E:indeterminate)
Default option pseudo-class (E:default)
Validity pseudo-class (E:in-range)
Validity pseudo-class (E:out-of-range)
Optionality pseudo-class (E:required)
Optionality pseudo-class (E:optional)

Opera -

current -

Indeterminate-value pseudo-class (E:indeterminate)
Default option pseudo-class (E:default)
Validity pseudo-class (E:in-range)
Validity pseudo-class (E:out-of-range)
Optionality pseudo-class (E:required)
Optionality pseudo-class (E:optional)
Mutability pseudo-class (E:read-only)
Mutability pseudo-class (E:read-write)

Total list of level 4 selectors tested -

Negation pseudo-class (E:not(s1, s2))
Matches-any pseudo-class (E:matches(s1, s2))
Local link pseudo-class (E:local-link)
Time-dimensional pseudo-class (E:current)
Indeterminate-value pseudo-class (E:indeterminate)
Default option pseudo-class (E:default)
Validity pseudo-class (E:in-range)
Validity pseudo-class (E:out-of-range)
Optionality pseudo-class (E:required)
Optionality pseudo-class (E:optional)
Mutability pseudo-class (E:read-only)
Mutability pseudo-class (E:read-write)
Structural pseudo-class (E:nth-match(n of selector))
Grid-Structural pseudo-class (E:column(selector))
Grid-Structural pseudo-class (E:nth-column(n))
Grid-Structural pseudo-class (E:nth-last-column(n))
Attribute case-sensitivity (E[foo='bar' i])
Reference combination (E /foo/ F)
Subject of a selector with Child combinator (E! > F)
Hyperlink pseudo-class (E:any-link)
Dir pseudo-class (E:dir(*))

Just thought I'd do a little testing to see what browsers are supporting what and where to keep the issue up to date a little.

(up to date browser == latest download as of time of posting this)

@nex3
Copy link
Contributor Author

nex3 commented Feb 17, 2017

Sass has supported this since afdf0e8, but it's since been removed from the specification so we should deprecate it.

@nex3 nex3 added requires deprecation Blocked on a deprecation cycle and removed CSS compatibility Support the CSS spec labels Feb 17, 2017
@nex3 nex3 changed the title Attribute reference combinators Deprecate reference combinators Feb 17, 2017
nex3 added a commit to sass/sass-spec that referenced this issue Feb 17, 2017
This combinator has been removed from the CSS spec. Sass implementations
thus no longer need to support it. It should be deprecated and
eventually removed from implementations that support it now.

See sass/sass#303
nex3 added a commit to sass/sass-spec that referenced this issue Feb 23, 2017
This combinator has been removed from the CSS spec. Sass implementations
thus no longer need to support it. It should be deprecated and
eventually removed from implementations that support it now.

See sass/sass#303
nex3 added a commit that referenced this issue Jun 2, 2017
nex3 added a commit that referenced this issue Jun 9, 2017
@nex3 nex3 modified the milestone: 4.0 Jun 15, 2017
nex3 added a commit that referenced this issue Jun 16, 2017
nex3 added a commit that referenced this issue Jun 16, 2017
nex3 added a commit that referenced this issue Jun 16, 2017
@nex3 nex3 closed this as completed Jun 16, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
requires deprecation Blocked on a deprecation cycle
Projects
None yet
Development

No branches or pull requests

3 participants