Re: [csswg-drafts] [css-shadow-parts-1] Naming of ::theme (#1695)

I have a related issue with the theme naming.

Consider someone making a control that wants to act like a built-in control, and expose its parts as pseudo-elements, like e.g. the nonstandard ``::-webkit-progress-bar` / `::-webkit-progress-value`.

If you add

```css
::-webkit-progress-bar { background: red; }
```

this will change all `<progress>` elements, including those inside of shadow roots. Right?

But if you did

```css
my-progress::part(bar) { background: red; }
```

this would not change `<my-progress>` elements inside shadow roots. Right? Instead you have to do

```css
my-progress::theme(bar) { background: red; }
```

It seems strange to me that we'd use the name `::theme()`, or even `::part-deep()`, for something that matches the normal expected platform behavior for built-in elements. It's not really related to theming, is it? It's just about actually styling the part, instead of getting stopped unexpectedly at boundaries.

I apologize if some of my logic is incorrect here (e.g., maybe `::-webkit-progress-bar` styling also stops at shadow boundaries?). Let me know if so.

/cc @tkent-google @fergald

-- 
GitHub Notification of comment by domenic
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/1695#issuecomment-499997214 using your GitHub account

Received on Friday, 7 June 2019 18:46:07 UTC