Skip to content

Commit 862a93f

Browse files
authored
Merge pull request #4733 from w3c/SelenIT-patch-1
[selectors-4] Mark :has() as at risk and optional, remove profile (solves #3925)
2 parents e90b4de + ac45936 commit 862a93f

File tree

1 file changed

+12
-38
lines changed

1 file changed

+12
-38
lines changed

selectors-4/Overview.bs

Lines changed: 12 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ Abstract: Selectors are patterns that match against elements in a tree, a
2323
Abstract: Selectors Level 4 describes the selectors that already exist in [[!SELECT]], and further introduces new selectors for CSS and other languages that may need them.
2424
At Risk: the column combinator
2525
At Risk: the '':read-write'' pseudo-class
26+
At Risk: the '':has()'' pseudo-class
2627
Ignored Terms: function token, Document, DocumentFragment, math, h1, shadow tree, querySelector(), quirks mode, button, a, span, object, p, div, q, area, link, label, input, html, em, li, ol, pre, CSS Value Definition Syntax
2728
Ignored Vars: identifier, extended filtering, i
2829
@@ -487,44 +488,6 @@ Selectors Overview
487488

488489
Note: Some Level 4 selectors (noted above as "3-UI") were introduced in [[CSS3UI]].
489490

490-

491-
Live vs Snapshot Selector Profiles
492-
493-
Selectors are used in many different contexts,
494-
with wildly varying performance characteristics.
495-
Some powerful selectors are unfortunately too slow
496-
to realistically include in the more performance-sensitive contexts.
497-
To accommodate this, two profiles of the Selectors spec are defined:
498-
499-
500-
live profile
501-
502-
The live profile is appropriate for use in any context,
503-
including browser CSS selector matching, which is live.
504-
It includes every selector defined in this document,
505-
except for:
506-
507-
    508-
  • The '':has()'' pseudo-class
  • 509-
    510-
    511-
    snapshot profile
    512-
    513-
    The snapshot profile is appropriate for contexts which aren't extremely performance sensitive;
    514-
    in particular, it's appropriate for contexts which evaluate selectors against a static document tree.
    515-
    For example, the {{Element/querySelector()}} method defined in [[DOM]] should use the snapshot profile.
    516-
    It includes all of the selectors defined in this document.
    517-
    518-
    519-
    CSS implementations conformant to Selectors Level 4 must use the live profile for CSS selection.
    520-
    Implementations using the live profile must treat selectors that are not included in the profile
    521-
    as unknown and invalid.
    522-
    523-

    524-
    The categorization of things into the “live” or snapshot profiles needs implementor review.
    525-
    If some things currently not in the live profile can reasonably be done in CSS Selectors,
    526-
    we should move them.
    527-
    528491

    529492

    530493
    Selector Syntax and Structure
    @@ -1276,6 +1239,8 @@ The Relational Pseudo-class: '':has()''
    12761239
    ...would result matching any <section> element
    12771240
    which contains anything that's not a heading element.
    12781241
    1242+
    1243+
    Supporting the '':has()'' pseudo-class is not required to conform to this specification.
    12791244

    12801245

    12811246

    @@ -3901,6 +3866,15 @@ Appendix B: Obsolete but Required Parsing Quirks for Web Compat
    39013866

    39023867

    39033868
    Changes
    3869+

    3870+
    Changes since the 21 November 2018 Working Draft
    3871+
    3872+
    Significant changes since the 21 November 2018 Working Draft:
    3873+
    3874+
      3875+
    • Removed the Selector profiles, marked '':has()'' as optional and at-risk instead.
    • 3876+
      3877+
      39043878

      39053879

      39063880
      Changes since the 2 February 2018 Working Draft

      0 commit comments

      Comments
       (0)