- From: CSS Meeting Bot via GitHub <sysbot+gh@w3.org>
- Date: Thu, 06 Jun 2019 18:37:17 +0000
- To: public-fxtf-archive@w3.org
The CSS Working Group just discussed `disabling masks/clip paths when display:none`. <details><summary>The full IRC log of that discussion</summary> <TabAtkins> Topic: disabling masks/clip paths when display:none<br> <astearns> github: https://github.com/w3c/fxtf-drafts/issues/245<br> <TabAtkins> AmeliaBR: I don't expect a resolution here. SVG call discussed it, we decided we needed detailed testing for browser interop<br> <TabAtkins> AmeliaBR: What browsers are doing doesn't match long-standing SVG text tho<br> <TabAtkins> AmeliaBR: this is about SVG elements that are never rendered: <*gradient>, <pattern>, <symbol>, etc<br> <TabAtkins> AmeliaBR: In SVG1, these all had an opaque paragraph that said 'display doesn't apply to these elements, no matter what you say it won't be rendered, and nobody what you say they'll always b eusable"<br> <TabAtkins> AmeliaBR: For SVG2, I was working on trying to make <use>-element shadow DOM make more sense<br> <TabAtkins> AmeliaBR: To make <symbol> not work directly, but work if you render it in which case 'display' does apply<br> <TabAtkins> AmeliaBR: Figured I could replace that prose with a UA stylesheet using !important to mean authors can't change 'display'.<br> <hober> q+<br> <TabAtkins> AmeliaBR: So say "display:none; except for <symbol> that is a direct child of a <use> shadow tree"<br> <TabAtkins> AmeliaBR: But turns out that in browsers, display:none *does* do something<br> <TabAtkins> AmeliaBR: In most browsers, if you set <mask style=display:none>, it has no effect on elements using it as a mask<br> <TabAtkins> AmeliaBR: This isn't in specs but happnes i nmultiple browsers.<br> <astearns> ack dbaron<br> <Zakim> dbaron, you wanted to comment on ancestors being display:none<br> <TabAtkins> dbaron: Interesting is whether the element has display:None *and* whether ancestor has it<br> <TabAtkins> dbaron: Tied to "is the thing that makes these work the presence of their DOM node, or the presence of boxes they create"<br> <TabAtkins> dbaron: For many browsers, these live in the box tree, and using them links to the box tree, and display:none means no boxes are generated and they fail<br> <TabAtkins> dbaron: So question is if that's what we want to do<br> <TabAtkins> dbaron: So in general display:none and ancestor display:none are not distinguishable<br> <TabAtkins> dbaron: So using a non-none !important value doesn't work, as it doesn't solve the ancestor problem<br> <astearns> ack hober<br> <TabAtkins> hober: Do we need to special-case these at all? In HTML <style> defaults to display:none, but you can display:block it to render it.<br> <TabAtkins> hober: So who cares?<br> <TabAtkins> dbaron: I think at this point that's not backwards compatible<br> <TabAtkins> chris: Used to be that you couldn't display <title> no matter what you did. But now you can.<br> <TabAtkins> AmeliaBR: I don't know how much will break, I didn't know that browsers were doing it anyway.<br> <TabAtkins> AmeliaBR: I suppose it could be useful sometimes to disable a clip-path by setting one thing on the <clipPath> rather than changing all the uses...<br> <TabAtkins> AmeliaBR: Practical case it breaks. Lots of inline SVGs using a gradient, so you have an inline SVG somewhere that defines those gradients. You don't want it to draw, so can you tell that SVG display:none?<br> <TabAtkins> AmeliaBR: Some browsers you can, some you can't, because of what dbaron mentioned earlier.<br> <TabAtkins> AmeliaBR: So instead you throw a pile of styles at it to make it visually hidden but not display:none<br> <TabAtkins> emilio: Is part of the reason it depends on the box tree-- we have a special thing for SVG that says "this frame is non-display" that doesn't do anything on its own<br> <TabAtkins> emilio: What that gets you is that a lot of elements don't generate a box at all when they're invalid markup - not in an SVG parent or whatever.<br> <TabAtkins> emilio: You need to make all those checks in two places now<br> <TabAtkins> AmeliaBR: So if anyone wants to help us build up that interop-testing table, that would be very helpful.<br> <TabAtkins> astearns: So I think you can take that back to the SVGWG with our notion that it's probably not worth special-casing, and maybe impossible.<br> <dbaron> Is there going to be some attempt to drive towards interop?<br> </details> -- GitHub Notification of comment by css-meeting-bot Please view or discuss this issue at https://github.com/w3c/fxtf-drafts/issues/245#issuecomment-499616118 using your GitHub account
Received on Thursday, 6 June 2019 18:37:19 UTC