@kleinfreund @rauschma I don't think "light DOM slots" will ever be a thing, except as a compile-time authoring concern. Something is either a child element or a slotted element – it can't be both. That said, "light DOM components" can already do a lot with their children, which is kind of what "HTML web components" are designed to do.
Discussion
I don't want to dismiss the hard work that people are doing to make the web platform more cohesive. And of course competing interests and priorities will always make the web "lumpy": https://paul.kinlan.me/the-lumpy-web/
But still, as a web developer, it's exhausting. This site doesn't even cover @font-face, ARIA IDref, submit buttons in forms, focus libraries, browser extensions, styling… the list goes on and on. When you work with shadow DOM, you're opting into pain.
I *really* look forward to using shadow DOM in, like, ~3-5 years after all this stuff has been ironed out. In the meantime, its advocates are doing true heroics to harmonize it with the rest of the web platform. But it's really a slog, and it's hard for me to remember fondly all the effort I put into getting basic stuff to work across shadow boundaries
@nolan The thing I keep thinking about is that it's that much of a slog, and they're still trying to harmonize it with the rest of the platform, was it actually a good design in the first place? I worry about all the opportunity cost here, like could we have gotten features like JS Temporal or CSS if statements many years ago instead of only now. Maybe we could have upload and download progress events for `fetch` so that I don't constantly need to fall back to XMLHttpRequest.
@nolan The web is fantastic when it creates elegant new connections between different systems, sands down sharp corners on existing APIs, or enables completely new control of something I couldn't do before (e.g. Web XR).
Adding high level "user space" stuff just feels like so much misplaced effort in my opinion.
Oh man I almost forgot about:
- elementtiming
- ARIA semantics where the parent-child DOM relationship matters (e.g. list / list items)
- scoped custom element registries
I'm having flashbacks to all these battles. Really hard to say I miss them.
@nolan I’m only following these developments from a distance (with not much knowledge of the details) but people seem to really like “light-DOM-only” web components. So maybe using shadow DOM will become the exception(?) But maybe someone figures out how to make it a better fit for the web platform.