-
Notifications
You must be signed in to change notification settings - Fork 77
Open
Labels
Description
Request for Mozilla Position on an Emerging Web Specification
- See also: CSS highlight pseudo system WebKit/standards-positions#95
- Specification Title: CSS Pseudo-Elements Module Level 4 § Highlight Pseudo-elements
- Specification or proposal URL: https://drafts.csswg.org/css-pseudo-4/#highlight-pseudos
- Caniuse.com URL (optional):
- none yet for the system as a whole (or custom ::highlight())
- https://caniuse.com/css-selection
- https://caniuse.com/mdn-css_selectors_target-text
- https://caniuse.com/mdn-css_selectors_spelling-error
- https://caniuse.com/mdn-css_selectors_grammar-error
- Bugzilla URL (optional): https://bugzilla.mozilla.org/show_bug.cgi?id=1703963
- Mozillians who can provide input (optional): @emilio
Other information
css-pseudo-4 specifies the widely-supported but previously non-standard ::selection as one of several “highlight pseudos”, along with things like spelling/grammar errors and author-defined custom highlights. The highlight pseudos include a more powerful processing model:
- highlights can now add their own decorations and shadows
- highlights can now inherit applicable properties from ancestor highlight styles (was also true for Presto!)
This is mostly compatible with older ::selection impls but not completely:
- originating shadows now paint below the backgrounds of ::selection and other highlights
- ::selection can no longer remove or (in general) change the color of originating decorations and shadows
- it was possible (albeit unlikely) for existing content to rely on ::selection styles not being inherited
- custom properties on :root are no longer visible to ::selection pseudos unless defined on :root::selection
For more details, check out our explainer.
Although this new system is complex, we have successfully implemented it in Blink, and we’re planning to send an intent to ship for it soon. We recently shared our techniques for making it performant at BlinkOn 17. The main Blink features are HighlightOverlayPainting (stable in M105) and HighlightInheritance (stable in M105 for custom highlights only).
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Needs proposed position