Re: [webkit-dev] Request For Position on CSS containment
Hi webkit-dev, We made a lot of progress regarding CSS containment [1]. Rob and I have finished the layout containment and size containment [2].\o/ And the patches of paint containment and style containment are ready for review now [3]. So we think now it's time to move on to content-visibility: (https://www.w3.org/TR/css-contain-2/#content-visibility) Since content-visibility depends on paint and style containment, we will do some specification research first, then prototype it based on Rob's patches. Thank you for your feedback! [1] https://bugs.webkit.org/show_bug.cgi?id=172026 [2] https://bugs.webkit.org/show_bug.cgi?id=223569, https://bugs.webkit.org/show_bug.cgi?id=223570 [3] https://bugs.webkit.org/show_bug.cgi?id=224742, https://bugs.webkit.org/show_bug.cgi?id=226458 Best, Rob and Cathie
Please rename the subject when you're going to discuss the work on a new feature. On Thu, Jun 24, 2021 at 9:44 AM cathiechen via webkit-dev < webkit-dev@lists.webkit.org> wrote:
We made a lot of progress regarding CSS containment [1]. Rob and I have finished the layout containment and size containment [2].\o/ And the patches of paint containment and style containment are ready for review now [3].
So we think now it's time to move on to content-visibility: (https://www.w3.org/TR/css-contain-2/#content-visibility)
That seems premature. Have we implemented all the perf optimizations for layout, size, & paint containment? I'd rather not start piling on more features before we get to a point where we're happy with the performance of these features. Since content-visibility depends on paint and style containment, we will do
some specification research first, then prototype it based on Rob's patches.
Does the research part also include making a judgement call as to whether it's a good idea at all? It's wholly unclear to me that content-visibility is a feature we'd like to implement in WebKit given its implications to the accessibility and other browser features. - R. Niwa
Hi Ryosuke,
On 25 Jun 2021, at 4:23 AM, Ryosuke Niwa <rniwa@webkit.org> wrote:
Please rename the subject when you're going to discuss the work on a new feature.
On Thu, Jun 24, 2021 at 9:44 AM cathiechen via webkit-dev <webkit-dev@lists.webkit.org> wrote: We made a lot of progress regarding CSS containment [1]. Rob and I have finished the layout containment and size containment [2].\o/ And the patches of paint containment and style containment are ready for review now [3].
So we think now it's time to move on to content-visibility: (https://www.w3.org/TR/css-contain-2/#content-visibility)
That seems premature. Have we implemented all the perf optimizations for layout, size, & paint containment? I'd rather not start piling on more features before we get to a point where we're happy with the performance of these features.
Thanks for the advice! Yeah, we kept working on the CSS containment performance, here is the summary (also sent to the previous thread) https://docs.google.com/document/d/166CsE0BqOGur1UyeMqxC7OSijeH90R1Pdck54rLg... <https://docs.google.com/document/d/166CsE0BqOGur1UyeMqxC7OSijeH90R1Pdck54rLgZNU/edit?usp=sharing>
Since content-visibility depends on paint and style containment, we will do some specification research first, then prototype it based on Rob's patches.
Does the research part also include making a judgement call as to whether it's a good idea at all? It's wholly unclear to me that content-visibility is a feature we'd like to implement in WebKit given its implications to the accessibility and other browser features.
Yeah, while working on the performance, we found CSS Contain improves performance inside the containment box, for instance, setting relayout boundary to stop dirty layout propagating to ancestor elements. And we think content-visibility would improve the performance from outside, for instance, skipping painting content that is offscreen. And we asked for help from chromium team, they provided us some very positive feedbacks from the developers.(Also list in the document) Regarding the accessibility feature, the values of content-visibility can decide whether or not the content is accessible. And there are over 80 cases in WPT to test the behaviour of content-visibility. Also we would like to analyse the performance in the future. Best, Cathie
Regarding accessibility, there’s a link in your Google doc that states: In Chromium 85-89, off-screen children within content-visibility: auto were marked as invisible. In particular, headings and landmark roles were not exposed to accessibility tools. In Chromium 90 this was updated so that they are exposed. Does WebKit have this issue, too? https://web.dev/content-visibility/#a-note-on-accessibility <https://web.dev/content-visibility/#a-note-on-accessibility> https://marcysutton.com/content-visibility-accessible-semantics <https://marcysutton.com/content-visibility-accessible-semantics>
On Dec 22, 2021, at 3:23 AM, cathiechen via webkit-dev <webkit-dev@lists.webkit.org> wrote:
Hi Ryosuke,
On 25 Jun 2021, at 4:23 AM, Ryosuke Niwa <rniwa@webkit.org <mailto:rniwa@webkit.org>> wrote:
Please rename the subject when you're going to discuss the work on a new feature.
On Thu, Jun 24, 2021 at 9:44 AM cathiechen via webkit-dev <webkit-dev@lists.webkit.org <mailto:webkit-dev@lists.webkit.org>> wrote: We made a lot of progress regarding CSS containment [1]. Rob and I have finished the layout containment and size containment [2].\o/ And the patches of paint containment and style containment are ready for review now [3].
So we think now it's time to move on to content-visibility: (https://www.w3.org/TR/css-contain-2/#content-visibility)
That seems premature. Have we implemented all the perf optimizations for layout, size, & paint containment? I'd rather not start piling on more features before we get to a point where we're happy with the performance of these features.
Thanks for the advice! Yeah, we kept working on the CSS containment performance, here is the summary (also sent to the previous thread) https://docs.google.com/document/d/166CsE0BqOGur1UyeMqxC7OSijeH90R1Pdck54rLg... <https://docs.google.com/document/d/166CsE0BqOGur1UyeMqxC7OSijeH90R1Pdck54rLgZNU/edit?usp=sharing>
Since content-visibility depends on paint and style containment, we will do some specification research first, then prototype it based on Rob's patches.
Does the research part also include making a judgement call as to whether it's a good idea at all? It's wholly unclear to me that content-visibility is a feature we'd like to implement in WebKit given its implications to the accessibility and other browser features.
Yeah, while working on the performance, we found CSS Contain improves performance inside the containment box, for instance, setting relayout boundary to stop dirty layout propagating to ancestor elements. And we think content-visibility would improve the performance from outside, for instance, skipping painting content that is offscreen. And we asked for help from chromium team, they provided us some very positive feedbacks from the developers.(Also list in the document)
Regarding the accessibility feature, the values of content-visibility can decide whether or not the content is accessible. And there are over 80 cases in WPT to test the behaviour of content-visibility. Also we would like to analyse the performance in the future.
Best, Cathie _______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-dev
Hi Tyler, Thanks for pointing this out!
On 23 Dec 2021, at 12:23 AM, Tyler Wilcock <tyler_w@apple.com> wrote:
Regarding accessibility, there’s a link in your Google doc that states:
In Chromium 85-89, off-screen children within content-visibility: auto were marked as invisible. In particular, headings and landmark roles were not exposed to accessibility tools. In Chromium 90 this was updated so that they are exposed.
Does WebKit have this issue, too?
Sorry, I can’t give you the answer right now. We currently haven’t started to implement the content-visibility: auto yet. Rob has implemented a prototype for content-visibility: hidden. I guess that’s a good start:) Do we have a WPT test for this scenario? This issue is the one we discuss about, right? https://github.com/w3c/csswg-drafts/issues/5857 <https://github.com/w3c/csswg-drafts/issues/5857> I guess in the future, we could try to follow up the discussion, and give an update here, when it’s done. Best, Cathie
Hello WebKit-dev, We've been working on CSS Containment performance for a while. Here is our summary of it, please take a look if you are interested. Thanks! https://docs.google.com/document/d/166CsE0BqOGur1UyeMqxC7OSijeH90R1Pdck54rLg... <https://docs.google.com/document/d/166CsE0BqOGur1UyeMqxC7OSijeH90R1Pdck54rLgZNU/edit?usp=sharing> Regarding the current state of CSS contain, the implement of layout, size, paint and style containment have been landed [1]. And the CSS contain runtime flag is enabled by default now [2]. \o/ [1] https://bugs.webkit.org/show_bug.cgi?id=172026 <https://bugs.webkit.org/show_bug.cgi?id=172026> [2] https://bugs.webkit.org/show_bug.cgi?id=234020 <https://bugs.webkit.org/show_bug.cgi?id=234020> Best, Rob and Cathie
participants (3)
-
cathiechen
-
Ryosuke Niwa
-
Tyler Wilcock