w3c / webcomponents-cg

Web Components community group
https://w3c.github.io/webcomponents-cg/
188 stars 11 forks source link

TPAC Bi-Weekly Preparation Sessions #98

Open Westbrook opened 1 month ago

Westbrook commented 1 month ago

Starting the 18th or 19th of July, the Web Components Community Group will be hosting bi-weekly (one every two weeks) session for our preparation of 2024's "Web Components Spec/API status" report to the implementors gathered at TPAC. We'll keep this issue open while we continue meeting on a regular basis.

Join in the conversation!

Westbrook commented 1 month ago

Session no. 1 happened on 19 July at 11:30am ET.

Notes are available here.

Action Items

Westbrook commented 1 month ago

Join us for the next session by sharing your availability, here.

Westbrook commented 1 month ago

TPAC Prep no. 2 is in the books! Thanks everyone for joining. 🙇🏼

Take a look at the notes here.

Action Items:

Chat hidden within... You 11:32 AM https://docs.google.com/document/d/1jOz2Mu8y49j81WPE7__sHkyoUQey6X09JNiYmEh4b1I/edit keep Pinned You 11:38 AM https://github.com/dequelabs/axe-core/issues/4259 Michael Warren 11:42 AM can someone add my name to the notes doc please? company vpn is being weird about google docs i think...it wont let me save anything You 11:42 AM You were _never_ here 😉 Michael Warren 11:42 AM i mean i do have the notes doc in an incognito tab....lol Michael Warren 11:54 AM first process-y thoughts about that is that its a MESS :) i would love to NOT have WPTs be so circular if we can get there haha Michael Warren 11:55 AM Process proposal issue: https://github.com/w3c/webcomponents-cg/issues/99 You 11:59 AM https://github.com/webcomponents-cg/community-protocols/ Justin Fagnani 12:00 PM https://github.com/webcomponents/ Jesse Jurman 12:00 PM Can I have the links to the other two repos? Owen Buckley 12:00 PM killed by google :grimace: You 12:01 PM https://github.com/w3c/webcomponents-cg https://github.com/WICG/webcomponents Michael Warren 12:01 PM https://github.com/webcomponents/ https://github.com/webcomponents-cg/community-protocols/ Keith Cirkel 12:01 PM Gotta bounce to an actual work meeting. Thanks! Dave Rupert 12:02 PM - w3c/webcomponents-cg is where you put ideas - WICG/webcomponents is where you put ideas that you want domenic to shit on. Michael Warren 12:03 PM 😆 You 12:17 PM Case in point on location of conversation: https://ruby.social/@konnorrogers/112888090163513738 Owen Buckley 12:18 PM our internal project board could have checkboxes for the open items needed, like needs use cases / WPTs / reference implementation? like our old report with all open specs, but tracked as issues? Owen Buckley 12:19 PM issues can have an assignee :D or lack of owner can help signal a need for that ownership Dave Rupert 12:21 PM - explainer template - issue proposal template Owen Buckley 12:23 PM idea starts as a discussion, then becomes an explainer? Owen Buckley 12:28 PM i can fix it Owen Buckley 12:31 PM will do! Dave Rupert 12:31 PM - open-styleable - scoped registries - theming (outside of open-styleable) - referencetarget - popover inside shadowroot etc... - cross-root aria
thescientist13 commented 4 weeks ago

So I am not super well versed on the current status of all of these, but I pulled the full list of items from our 2022 report which was when we last had a full list of these and tried to apply my understanding of current status to each of them, with some liberty taken to also try and use this as latest and greatest "state of" reference.

On going

Spec Status Link WCCG Notes (at the time)
Children changed callback ⚠️ WICG/webcomponents#809 Uncertain
Composed Selection ⚙️ WICG/webcomponents#79 Partial consensus, divergent partial implementations
Cross-root ARIA ⚙️ WICG/aom#169 / WICG/aom#107 / WICG/webcomponents#917 / WICG/webcomponents#916 / https://github.com/WICG/webcomponents/blob/gh-pages/proposals/reference-target-explainer.md Uncertain
CSS Module Scripts 🔧 WICG/webcomponents#759, https://github.com/tc39/ecma262/pull/3057 Some implementation
CSS Properties and values inside shadow root ⚠️
Custom Attributes ▶️ https://github.com/w3c/webcomponents-cg/discussions/31#discussioncomment-3163644 Not addressed
Declarative CSS Modules ⚙️ WICG/webcomponents#939, see Edge team research Not Addressed
Declarative custom elements ⚙️ https://github.com/WICG/webcomponents/blob/gh-pages/proposals/Declarative-Custom-Elements-Strawman.md Not addressed
DOM Parts 💡 https://github.com/WICG/webcomponents/blob/gh-pages/proposals/DOM-Parts.md Uncertain
HTML modules ▶️ WICG/webcomponents#645 Partial consensus, no implementations
Lazy custom element definitions ⚠️ WICG/webcomponents#782 Uncertain
Open styling of shadow roots 💡 WICG/webcomponents#909 Not addressed
Scoped Element Registries ⚙️ WICG/webcomponents#716 Consensus
Styling children of slotted content
Theming ▶️ WICG/webcomponents#864 Uncertain

❓ - Not sure, please help me give it a more accurate status 🔧 - under review in appropriate spec'ing body :shipit: - Shipped x-browser ⚙️ - On our radar / active ▶️ - Let's pull this over and put it on our radar ⚠️ - Uncertain 💡 - Just an idea 🪦 - Abandoned

My thought was that anything with statuses ⚙️ , 💡 , ⚠️, or ▶️ we could maybe pull over into an issue / discussion per the workflow we're considering in https://github.com/w3c/webcomponents-cg/issues/99?

Shipped

Spec Status Link WCCG Notes (at the time)
Constructable Stylesheets & adoptedStyleSheets :shipit: WICG/webcomponents#468 Some implementation
Custom CSS State :shipit: https://html.spec.whatwg.org/multipage/custom-elements.html#custom-state-pseudo-class
Declarative Shadow DOM :shipit: whatwg/dom#831 Partial consensus, some implementation
Form-Associated Custom Elements :shipit: WICG/webcomponents#187 Some implementation
Imperative Slot Assignment :shipit: whatwg/html#3534 Partial Implementation
Westbrook commented 3 weeks ago

@thescientist13 with so many things covered in this table it may be more productive to start a Discussion where each of the APIs could be individual responses that then can have their own threads each? I've definitely got some updates on various things, but don't know how to share that data based on this structure.

thescientist13 commented 3 weeks ago

My hope was that we could use the list as a basic cutline of things that should get pulled over into their own discussions. For example, Declarative Shadow DOM is shipped / baseline, right? If so, then we don't have to pull that one over.

Otherwise, sure I could create a single discussion for each item and we can use a thread per item to see if each item should be turned into its own discussion / issue.

Let's chat on the next TPAC session if we have a minute. 👍

Westbrook commented 3 weeks ago

Session no. 3

Notes: https://docs.google.com/document/d/1jOz2Mu8y49j81WPE7__sHkyoUQey6X09JNiYmEh4b1I/edit

Action items

Held over

Chat history within... You 11:32 AM https://docs.google.com/document/d/1jOz2Mu8y49j81WPE7__sHkyoUQey6X09JNiYmEh4b1I/edit keep Pinned Owen Buckley 11:40 AM adde a small item to the agenda coming out of our last meeting, not urgent though Owen Buckley 11:43 AM added another one that might be more relevant to TPAC Keith Cirkel 11:44 AM Have we filed bugs with the respective browsers with these? Keith Cirkel 11:48 AM brb Owen Buckley 11:55 AM https://github.com/WICG/webcomponents/issues/1065 Michael Warren 11:58 AM can someone please add my name to the notes, on my work machine again and it wont let me add thanks! Justin Fagnani 12:02 PM In the interest of time... I personally wouldn't bring it up Owen Buckley 12:06 PM yeah, ideally pushes for baseline topics should ideally focus on things that aren't outright being objected to already (IMO) and we're more just asking for consideration / time Owen Buckley 12:22 PM past list of TPAC topics we could pull over into github discussion if we want (i don't know the current status of them all, and some I think have been achieved by now?) https://github.com/w3c/webcomponents-cg/issues/98#issuecomment-2278727510 either one top level discussion to sort through them all if cutlining would take too long, or cutline first and pull over. happy to help if desired You 12:23 PM Owen, as seen in https://github.com/w3c/webcomponents-cg/discussions/31 you can start a single discussion that includes thread around each API to achieve "current status" before diving into specific conversations around each, later. Jesse Jurman 12:31 PM Sorry, have to bounce for work, great meeting all!
thescientist13 commented 2 weeks ago

Here's a link to an issue I just made re: our orgs and repos - https://github.com/w3c/webcomponents-cg/issues/100

Westbrook commented 1 week ago

Session no .4

Really great conversation about what we want to bring to the TPAC breakouts that have been proposed by Ryosuke. See the notes here.

Action Items:

Held over:

thescientist13 commented 4 days ago

Had some time to make a basic CSS Modules Script demo, including sharing CSS between light and shadow DOM contexts and put together a draft comment to suggest a slight tweak to the goal of the TPAC CSS Modules Breakout session. Not sure if I need to evangelize as much as I am here or just get right to the point, but figured it wouldn't hurt. ☺️

Let me know your thoughts and I can post there, or we can review first at our next planning session

Just wanted to get some thoughts on this session's description and goal

Session to discuss CSS modules and how they work with declarative shadow DOM: https://github.com/WICG/webcomponents/blob/gh-pages/proposals/css-modules-v1-explainer.md

Concrete proposal for CSS Module MVP

To my knowledge, CSS Module Scripts are already accepted as a web standard, building on top of Import Attributes and already implemented in Chrome, and having positive positions from both Webkit and Firefox.

I was wondering if this session could have two goals?

  1. Get implementor consensus on getting CSS Module Scripts (including Import Attributes) to the next available browser's baseline commitment
  2. With remaining time, explore the role CSS Module Scripts in Declarative Shadow DOM (or any other relevant topics)

I think advancing CSS Module Scripts would be an extremely valuable addition to the platform across all browsers, as managing CSS otherwise is often a pain point, often requiring some sort of build tooling to inline CSS into <style> tags within the <template> of the Shadow Root or some other form of scripting to "adopt" <link> tags into the <template>.

With CSS Module Scripts, at least for first party code, developers would have a standards compatible way to not only import CSS into their Web Components, but also to share styles across the Shadow and Shadow DOM.

I made a little demo repo you can check out if it helps, hosted here, which basically showcases a custom element importing a global "theme.css" in addition to its own component styles, highlighting the style sharing opportunities between light and shadow DOM.

import themeSheet from './theme.css' with { type: 'css' };
import componentSheet from './component.css' with { type: 'css' };

const template = document.createElement('template');

template.innerHTML = `
  <h2>This should be blue and centered (theme.css)</h2>
  <h3>This should be red and centered (component.css)</h3>
`;

export default class SomeComponent extends HTMLElement {

  connectedCallback() {
    if (!this.shadowRoot) {
      this.attachShadow({ mode: 'open' });
      this.shadowRoot.appendChild(template.content.cloneNode(true));
    }

    this.shadowRoot.adoptedStyleSheets = [themeSheet, componentSheet ];
  }
}

customElements.define('some-component', SomeComponent);

Hope this can be a consideration all browser vendors! ✌️