- From: Dirk Schulze via GitHub <sysbot+gh@w3.org>
- Date: Thu, 08 Nov 2018 06:36:03 +0000
- To: public-svg-issues@w3.org
dirkschulze has just labeled an issue for https://github.com/w3c/svgwg as "Styling chapter": == how should display:contents affect SVG conditional processing attributes? == https://drafts.csswg.org/css-display/#unbox-svg The CSS Display spec says that attributes that affect layout or visual formatting should be ignored on SVG elements that are `display: contents`. Are SVG conditional processing attributes in this category? For example: ```svg <g systemLanguage="zz" style="display: contents"> <rect width="100" height="100"/> </g> ``` Should the rectangle be rendered since `systemLanguage` is an attribute that affects rendering? ```svg <switch> <g systemLanguage="zz" style="display: contents"> <rect width="100" height="100"/> </g> </switch> ``` Should the rectangle be rendered since `systemLanguage` is an attribute that affects rendering, even though it is the `<switch>` that is making the decision about which child to render? ```svg <switch> <g style="display: contents"> <rect systemLanguage="zz" width="100" height="100" /> </g> <circle cx="200" cy="200" r="100"/> </switch> ``` Should the `systemLanguage` affect the `<switch>`'s choice of which child to render? (Either both the `<rect>` and `<circle>` should render, or neither should, IMO.) --- I think my preference is to make conditional processing attributes not influenced by `display: contents`. For the `<switch>` case, it would otherwise be inconsistent with how `display: none` children are treated when selecting which child to render (i.e., the `<switch>` can select a `display: none` child if its conditional processing attributes evaluate to true). It also means we don't need to re-evaluate which child is being shown after we restyle elements (since a child could become `display: contents` dynamically). /cc @emilio @lilles See https://github.com/w3c/svgwg/issues/579
Received on Thursday, 8 November 2018 06:36:05 UTC