I think we will be able to ship it eventually, and there is active work to get cross-browser compat too. For older browsers I believe there is a simple addition to the CSS for sites that will render the feature moot in most cases, though I am waiting on a site to try it and verify.
Interestingly, the problem with the Wordpress editor is due to code that works around a Safari selection bug. Selection behavior is already an area with incompatibilities, hence the spec work around this feature, and I think it's worth suffering through this release as a step toward a more compatible future. Cheers, Stephen. On Thu, Dec 21, 2023 at 10:42 AM Mike Taylor <miketa...@chromium.org> wrote: > Thanks for the update. I might have jinxed it when I said "breakage in > this case would just be cosmetic (unless someone is doing something really > clever)"... I hadn't considered editor use cases. > > Do you think this will ever be shippable, even with a gutenberg update? I > would imagine old versions stick around for a very long time. > On 12/21/23 9:54 AM, Stephen Chenney wrote: > > Update: Due to breakage of the Wordpress editor, and a couple of other > sites, we plan to delay the Stable ship milestone to 122. > > I'll update the status entry etc. > > Stephen. > > On Wed, Nov 8, 2023 at 10:34 AM Yoav Weiss <yoavwe...@chromium.org> wrote: > >> LGTM3 >> >> On Wednesday, November 8, 2023 at 4:18:59 PM UTC+1 Daniel Bratell wrote: >> >>> LGTM2 >>> >>> You may want to ping the Mozilla standards position issue and let them >>> know that we are close to shipping. It looks like they forgotten it. >>> >>> /Daniel >>> On 2023-11-06 16:43, Mike Taylor wrote: >>> >>> Thanks for the detailed explanation of compat and for filing a TAG >>> review. The risk of breakage seems low (and I suppose we'll learn how true >>> that is as the change rides the trains), and breakage in this case would >>> just be cosmetic (unless someone is doing something really clever). >>> >>> LGTM1 to ship. Good luck. :) >>> On 11/3/23 12:19 PM, Stephen Chenney wrote: >>> >>> Note that I have moved the shipping milestone to M121, and have created >>> a TAG review issue. >>> >>> On Thu, Nov 2, 2023 at 10:07 AM Stephen Chenney <schen...@chromium.org> >>> wrote: >>> >>>> >>>> >>>> On Wed, Nov 1, 2023 at 11:11 AM Stephen Chenney <schen...@chromium.org> >>>> wrote: >>>> >>>>> Answers inline. Regarding Ander's comment on the current base_feature >>>>> setting: I'll fix that. >>>>> >>>>> Cheers, >>>>> Stephen. >>>>> >>>>> On Wed, Nov 1, 2023 at 4:17 AM Yoav Weiss <yoavwe...@chromium.org> >>>>> wrote: >>>>> >>>>>> >>>>>> >>>>>> On Tue, Oct 31, 2023 at 1:45 PM Stephen Chenney < >>>>>> schen...@chromium.org> wrote: >>>>>> >>>>>>> Contact emails schen...@chromium.org >>>>>>> >>>>>>> Specification >>>>>>> https://drafts.csswg.org/css-pseudo-4/#highlight-cascade >>>>>>> >>>>>>> Summary >>>>>>> >>>>>>> With CSS Highlight Inheritance, the CSS Highlight pseudo classes, >>>>>>> such as ::selection and ::highlight, inherit their properties through >>>>>>> the >>>>>>> pseudo highlight chain, rather than the element chain. The result is a >>>>>>> more >>>>>>> intuitive model for inheritance of properties in highlights. >>>>>>> Specifically, >>>>>>> "When any supported property is not given a value by the cascade ... its >>>>>>> specified value is determined by inheritance from the corresponding >>>>>>> highlight pseudo-element of its originating element’s parent element." ( >>>>>>> https://drafts.csswg.org/css-pseudo-4/#highlight-cascade) >>>>>>> >>>>>>> >>>>>>> Blink component Blink>CSS >>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ECSS> >>>>>>> >>>>>>> TAG review None >>>>>>> >>>>>> >>>>>> Features are exempt from a TAG review only when another vendor has >>>>>> already shipped them. That doesn't seem to be the case here. >>>>>> >>>>> >>>>> The feature is in the CSS pseudos spec and has been for quite a >>>>> while. The CSS Working Group has been discussing issues too and Safari, at >>>>> least, is implementing according to the spec. I think the ship has sailed >>>>> for any major revision to the behavior. (For context, there was no feature >>>>> defined for this change until recently because it was originally viewed as >>>>> a "make the code implement the spec" change.) >>>>> >>>> >>> TAG Review Issue: https://github.com/w3ctag/design-reviews/issues/914 >>> >>> >>>> >>>>> >>>>>> >>>>>>> >>>>>>> TAG review status Not applicable >>>>>>> >>>>>>> Risks >>>>>>> >>>>>>> >>>>>>> Interoperability and Compatibility >>>>>>> >>>>>>> The feature is still under implementation in other browser engines, >>>>>>> but the standards are well developed and there is general agreement on >>>>>>> the >>>>>>> spec. I think compat risk is very limited at this time. >>>>>>> >>>>>> >>>>>> Does this feature change the behavior of existing uses of ::highlight >>>>>> and ::selection? Is there risk from breakage there? >>>>>> >>>>> >>>>> The change aligns the behavior of ::selection with Firefox. >>>>> ::highlight is already implemented with this behavior. There was breakage >>>>> of ::selection due to custom property handling, which was resolved at the >>>>> spec level and fixed in chromium before sending this intent. No other bugs >>>>> have come in over the extended period that this has been on for >>>>> experimental web platform features (since M111). >>>>> >>>> >>>> My above comment is wrong: The spec defining this feature does change >>>> the behavior of ::selection (not ::highlight) for all browsers. But >>>> evidence suggests that the mitigations that sites used to work around the >>>> old behavior still work with the new behavior, so breakage is very limited. >>>> There was a single source of significant breakage when the feature was >>>> first turned on and the spec and code have been changed to maintain the >>>> former behavior (related to custom properties on root applying to >>>> ::selection). We have had zero other reported bugs from enabling the >>>> feature experimentally. >>>> >>>> Some history ... The spec was changed in response to an issue where >>>> Firefox wanted to un-prefix -moz-selection but was not obeying the old >>>> spec. As I understand it, the selection style was checking for ::selection >>>> on the selected element, using it if found, otherwise using the root >>>> selection styling. All browsers were doing this. >>>> >>>> Sites were designed to work around this through the judicious use of >>>> ::selection on various elements. That is, put ::selection on anything you >>>> wanted a specified selection on, and if the inheritance was wrong, add a >>>> more specific ::selection selector. Hence the heavy use of custom >>>> properties to keep all these ::selection declarations in sync. You can see >>>> this, for example, on GitHub where they define ::selection for an element, >>>> element > span, and element > span > span, and again for light and dark >>>> mode. Sass even has an operator with a comment on it saying they would >>>> remove it if the spec is fixed. >>>> >>>> This intent to ship does not break sites that have taken this approach. >>>> Specific selectors for ::selection will resolve to the same properties as >>>> they do now. The improvement is that "element > span::selection" and >>>> "element > span > span::selection" can now be removed in favor of just >>>> "element::selection". >>>> >>>> >>>>> >>>>> >>>>>>> *Gecko*: Neutral ( >>>>>>> https://github.com/mozilla/standards-positions/issues/548) emilio@ >>>>>>> is active in standards discussions on the issues, but I am not aware of >>>>>>> implementation. https://bugzilla.mozilla.org/show_bug.cgi?id=1703963 >>>>>>> https://bugzilla.mozilla.org/show_bug.cgi?id=1703961 >>>>>>> >>>>>>> *WebKit*: In development ( >>>>>>> https://github.com/WebKit/standards-positions/issues/95) I have a >>>>>>> private email from the Apple engineer tasked with implementing. I don't >>>>>>> want to reveal PI. >>>>>>> >>>>>>> *Web developers*: Developer ergonomics is the primary concern >>>>>>> motivating highlight inheritance. See >>>>>>> https://github.com/w3c/csswg-drafts/issues/2474 for the initial >>>>>>> spec discussion related to the behavior of ::selection. See >>>>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1490471 for >>>>>>> an example of a user seeing unexpected behavior without this feature. >>>>>>> >>>>>>> *Other signals*: >>>>>>> >>>>>>> Ergonomics >>>>>>> >>>>>>> None. >>>>>>> >>>>>>> >>>>>>> Activation >>>>>>> >>>>>>> No. This reflects the already active behavior for ::selection in >>>>>>> Firefox and the already used behavior for ::highlight, ::spelling and >>>>>>> ::grammar. >>>>>>> >>>>>>> >>>>>>> Security >>>>>>> >>>>>>> There are no security risks. >>>>>>> >>>>>>> >>>>>>> WebView application risks >>>>>>> >>>>>>> None >>>>>>> >>>>>>> >>>>>>> Debuggability >>>>>>> >>>>>>> Devtools supports highlight pseudos and correctly shows the >>>>>>> inheritance chain. >>>>>>> >>>>>>> >>>>>>> Will this feature be supported on all six Blink platforms (Windows, >>>>>>> Mac, Linux, Chrome OS, Android, and Android WebView)? Yes >>>>>>> >>>>>>> There are no cross-platform issues with implementation and no reason >>>>>>> to discriminate on platform. >>>>>>> >>>>>>> >>>>>>> Is this feature fully tested by web-platform-tests >>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >>>>>>> ? Yes >>>>>>> >>>>>>> >>>>>>> https://wpt.fyi/results/css/css-pseudo?label=experimental&label=master&aligned >>>>>>> highlight-cascade-* covers this functionality. There are additional WPT >>>>>>> that make use of the feature in >>>>>>> https://wpt.fyi/results/css/css-highlight-api?label=experimental&label=master&aligned >>>>>>> >>>>>>> >>>>>>> Flag name on chrome://flags experimental-web-platform-features >>>>>>> >>>>>>> Finch feature name HighlightInheritance >>>>>>> >>>>>>> Non-finch justification >>>>>>> >>>>>>> The feature was enabled as experimental way back in M111 and stayed >>>>>>> that way until M116 when it was switched back to test, and it is back on >>>>>>> experimental for M118. Developers have significant experience with the >>>>>>> feature enabled via experimental web platform features. There is no >>>>>>> value >>>>>>> to running a finch trial given the large amount of existing experience >>>>>>> with >>>>>>> the feature. >>>>>>> >>>>>>> >>>>>>> Requires code in //chrome? False >>>>>>> >>>>>>> Estimated milestones >>>>>>> Shipping on desktop 120 >>>>>>> DevTrial on desktop 118 >>>>>>> Shipping on Android 120 >>>>>>> DevTrial on Android 118 >>>>>>> Shipping on WebView 120 >>>>>>> >>>>>>> Anticipated spec changes None >>>>>>> >>>>>>> Link to entry on the Chrome Platform Status >>>>>>> https://chromestatus.com/feature/5090853643354112 >>>>>>> >>>>>>> Links to previous Intent discussions Ready for Trial: >>>>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/BbvI5VAguvk >>>>>>> >>>>>>> >>>>>>> This intent message was generated by Chrome Platform Status >>>>>>> <https://chromestatus.com/>. >>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "blink-dev" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to blink-dev+unsubscr...@chromium.org. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGsbWzQfdRQU81Cdm2phXD9f4wktm4f%2BReeYJaYVZKLrt_T4rg%40mail.gmail.com >>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGsbWzQfdRQU81Cdm2phXD9f4wktm4f%2BReeYJaYVZKLrt_T4rg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "blink-dev" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to blink-dev+unsubscr...@chromium.org. >>> To view this discussion on the web visit >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGsbWzQV-S4-w5nen9dWqeGRjSx_ietab3MzfF%2B-UdikH-8Hmw%40mail.gmail.com >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGsbWzQV-S4-w5nen9dWqeGRjSx_ietab3MzfF%2B-UdikH-8Hmw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "blink-dev" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to blink-dev+unsubscr...@chromium.org. >>> >>> To view this discussion on the web visit >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/b0b3fb6e-bc93-4823-a9e8-d3e7f8e4a388%40chromium.org >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/b0b3fb6e-bc93-4823-a9e8-d3e7f8e4a388%40chromium.org?utm_medium=email&utm_source=footer> >>> . >>> >>> -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGsbWzTmfXnXVMyZi4VycV%2BwE68sBXzZPo9pLZeNGMakNL5E1Q%40mail.gmail.com.