WICG / webcomponents

Web Components specifications

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Spring 2023 "F2F"

Westbrook opened this issue Β· comments

It's been quite a while now, but it seems like it would be a good idea for us to gather and discuss some of the really exciting proposals and specs that have been coming up or coming together in support of new functionality in the world of web components.

In concert with the WCCG, I'd like to propose we work toward making something happen the first half of April 2023. For out part, having the discussion is the most important part of the event, but we'd be interested in your thoughts on live vs virtual vs hybrid sessions as well.

Happy to take suggestions on Agenda content below:

  • the WCCG has an early list of topics that I'll share in a comment below, and would be highly interested in sponsoring some pre-breakout conversations around them to ensure the highest level of productivity at the F2F itself.
  • there's been past conversation around making F2Fs quarterly that would be great to get into the agenda as well

I've created this poll to gather the availability of interested parties through the month of April: https://www.when2meet.com/?18702051-ib5Wi

As we'll be virtual there is room for spreading the conversation out over more than one day, but please try to mark availabilities of at least 90 minutes each so we can find sizable chunks of time to get as deep into the various APIs we'd like to target as possible.

I hope we're all back from the holiday, new years, and layoff season and can look forward to our spring schedules. For the most productive meeting, I think we'd love to see implementors like @mfreed7 @annevk @rniwa @emilio and more there. Is there any interest?

I would be happy to attend. If it's virtual it'd have to accommodate UTC+1 for me. I'm interested in:

  • Specific accessibility pain points and general roadmap planning around accessibility-focused features.
  • Web Components pain points in general.

I would love it if as homework we could all look through the existing Custom Elements and Shadow DOM issues (see links at https://github.com/WICG/webcomponents#readme) and nominate one-or-two for discussion at the F2F to see if we can make some progress on those as well.

@annevk glad your interested in attending. I agree with those two points my self. One more that's top of mind for me:

  • Consider how every feature interacts with declarative shadow DOM, especially a11y

And for homework, I know we've lightly tried to do some of this before, and at some points we've had nice presentations prepared, and tighter agendas worked out. I wonder if it would be helpful to have a pre-meeting a few weeks before to go through issues and find the issues to nominate and estimate their time boxes?

I'd be happy to make some time for a pre-meeting.

Consider how every feature interacts with declarative shadow DOM, especially a11y

I'm biased. This should be the main topic and yet it connects well to the points from @annevk.

Completion for Declarative Shadow DOM seems like the main pain point because it's too close, but not there yet. As mentioned, a11y capabilities are part of this discussion.

I'm looking forward to discussing it with this group.

I'm happy to attend, as long as it's virtual. Travel is tougher than it used to be.

+1 to pre-work including topics to discuss. I'd add:

  • scoped custom element registries

@xiaochengh

πŸ‘‹ I am interested and will attend, perhaps one or more others from Igalia may as well depending on a few things

For topics, we might find the Web Components Community Groups report from 2022 a good starting point.

When presenting this content at TPAC we focused primarily on some APIs needed for browser parity, that have happily made some really great progress as far as implementation. FACE (Form-Associated Custom Elements), Constructable Style Sheets, CSS Modules, and Imperative slots have all seem massive progress in the intervening months, there may no longer be further discussion needed in these areas....

As part of the report, the community group saw a great need for closure/alignment on specifications for Cross-root Aria, Scoped Registries, and Declarative Shadow DOM. DSD looks like it's ready to go, the team at WebKit has been putting some great work into it and it's on by default in their Tech Preview 162. Scoped Registries and Cross-root Aria have more work required. Speaking not as the WCCG chair, but for Adobe, my employer, these two specs are of high interest and import to products/features that are shipping to users today and new products/features that will be rolling out in the coming years, if that's of any use in putting extra fuel on the fire.

  • A specification for Cross-root Aria has been making the rounds in the AOM Working Group and has been well received by implementors of various engines in that context. It would be great to drive this forward, find any remaining holes in the idea, and push for official spec text/implementation agreement.
  • For Scoped Registries, Chrome has issued an Intent to Prototype. As that moves forward, it would be good to make sure we're officially in agreement around final open questions on the specification.

Beyond those, the various API covered in the WCCG report are all sourced from actual consumers of the web components APIs, so it may be useful to find time in a F2F to work towards closing the various "open questions" sections there in. In particular, if there are "dissenting opinions" there in that can be represented by specific implementors, it would be great to ensure that we've made time before/during/after the session to ensure those positions are fully captured and shared with the broader community.

I could try to attend, I think I'd prefer remote meeting.
One possible topic would be selection + shadow DOM, https://github.com/mfreed7/shadow-dom-selection
That is a good proposal, but there might be still issues in some related APIs, like how copy-paste should work etc.

Happy to attend, interested in Declarative Shadow DOM and all a11y issues as well. Beyond cross-root ARIA, there is also the intersection of ElementInternals and ARIAMixin which is quite interesting: whatwg/html#8544 (comment)

Would be up for attending as well, but might have to be remote depending on location of the F2F.

Interested

Meeting in April sounds good to me. Is it gong to be in-person? If so, where are we thinking?

I'm interested as well, but would likely prefer to attend virtually.

Given the number of people who want to attend only virtually, I wonder if we want to hold a pure virtual meeting so that we can optimize just for that experience and don't even worry about finding a location.

Unless, some people really want to see each other face-to-face and maybe they happen to be close to each other?

I'm interested as well, but would likely prefer to attend virtually.

Seems like the majority people are interested in attending virtually, so while it can be interesting working out a hybrid event, let's meet virtually this time and help have everyone on the same footing as we discuss the important topics for which we'll be gathering.

I've created this poll to gather the availability of interested parties through the month of April: https://www.when2meet.com/?18702051-ib5Wi

As we'll be virtual there is room for spreading the conversation out over more than one day, but please try to mark availabilities of at least 90 minutes each so we can find sizable chunks of time to get as deep into the various APIs we'd like to target as possible.

Does it make sense to try and find at least find 3-4 times we can get a quorum together for 90 or more minutes that we can gather and dig in?

We've got 10 responses to https://www.when2meet.com/?18702051-ib5Wi for the about 15 or so respondents to this issue to date. If you or someone you know wants to take part in these sessions, please get them to share times they are available, or they'll be stuck working what's best for the group. It would be great if we could wrap scheduling up by the 1st of March. As of right now the days that look the best are:

  1. Monday, April 17th, 12pm - 4pm ET
  2. Tuesday, April 18th, 12pm - 4pm ET
  3. Wednesday, April 12th, 1pm - 4pm ET
  4. Thursday, April 13th, 1pm - 4pm ET
  5. Monday, April 3rd, 12pm - 2pm ET
  6. Tuesday, April 4th, 12pm - 2pm ET

How are we feeling on multiple sessions to ensure we have enough time for everything?

Tuesday, April 16th, 12pm - 4pm ET

@Westbrook April 16th is a Sunday. Did you mean Tuesday, April 18th?

Perhaps we can have sessions on Monday, April 17th and Thursday, April 20th or Friday, April 21st? That would allow everyone to attend at least one of the sessions.

@Westbrook April 16th is a Sunday. Did you mean Tuesday, April 18th?

Sorry updated.

I suggest

  • Monday, April 17th 12pm to 4pm ET.
  • Thursday, April 20th 12pm to 4pm ET.

@rniwa agreed!

I'm not sure if there's a more official calendar than that of the Web Components CG, so I've added those events there:

  • Monday, April 17th 12pm to 4pm ET (link)
  • Thursday, April 20th 12pm to 4pm ET (link)

I added the handful of people to the event on this thread who's contact info I already have, and would be pleased to do the same with the rest of you. The meetings are in a Google Calendar, so they always get associated to a Meet video call, happy to try to set up something else if that would preferable, but please let me know ASAP if some effort needs to be put into finding an alternate call strategy.

Preparation

This leaves us with about 4 weeks until the sessions, and a lot of great topics to discuss. Here's a list of all the points from above (call me out if I've missed any):

  • scoped custom element registries @mfreed7
  • Specific accessibility pain points and general roadmap planning around accessibility-focused features. @annevk
    • Cross root aria
    • Other current proposals
  • ElementInternals and ARIA Mixin @nolanlawson
  • Consider how every feature interacts with declarative shadow DOM, especially a11y @justinfagnani
  • Selection API @smaug----
  • Web Components pain points in general. @annevk
  • declarative APIs (components, templates, data stores) @sashafirsov
  • Shadow DOM issues (here and here) @annevk
  • Custom Element issues (here and here) @annevk

We could also draw further discussion from the WCCG' 2022 report.

It would be most productive if we could get some "topic owners" (I've listed roughly who originally proposed the topic above) that could at least introduce the subject for discussion or possibly even gather some people for a pre-F2F-F2F/email threads so as to grease the skids of recent development and possible decisions. Thoughts?

Thanks @Westbrook! I have a couple other topics if there's interest:

  • Mutation callbacks for node tree changes to children.
  • DOM parts API https://github.com/rniwa/webcomponents/blob/add-dom-parts-proposal/proposals/DOM-Parts.md. In particular focusing on these three things and building a v1 if there's rough agreement:
    • APIs for creating parts.
    • { node, parts } = node.cloneWithParts({ deep, parts }) (note that this is generic).
    • A name that doesn't conflict with shadow parts. Perhaps node segments?
  • Declarative custom elements. (Might overlap with @sashafirsov's topic.)
  • FACE submit buttons.
  • FACE labels.

I am definitely interested in DOM parts API!

scoped custom element registries @mfreed7

I'll be talking about this topic, as I'm prototyping it in Blink.

@annevk does "Mutation callbacks for node tree changes to children" relate to the issues in "Children changed callback" or is there other background you could share on that subject?

@xiaochengh based on your work so far, are specific questions remaining to dig into or if there's a different shape this part of the sessions should take.

Do people have thoughts on how much time we should roughly appoint to each topic, based on open questions, existing proposals, etc.? Seems like it would be useful to start shaping a schedule for the two days, and confirming if any pre-meetings would be needed to ensure discussions as a group are productive to moving these specs forward.

I think some of the topics, especially DOM Parts and Declarative Custom Elements, are quite large. Should we do some agenda setting within those topics to try to use the time we allot to them?

I would propose one more topic too:

  • Declarative adoptedStyleSheets - how to render them, preserving semantics, with declarative shadow DOM.

Alright, here's a proposal for two day agenda. Let me know if you'd want some topics to be moved around.

Day1: Monday, April 17th 12pm to 4pm ET

Day 2: Thursday, April 20th 12pm to 4pm ET

@xiaochengh based on your work so far, are specific questions remaining to dig into or if there's a different shape this part of the sessions should take.

The basic shape should remain the same.

I'd like to bring up #969, which is currently blocking me from landing a minimally usable prototype. If time allows, I would also like to see if we can resolve any of the older blockers #907, #914, #923

To me, Cross-Root ARIA, ARIA Mixin, and ElementInternals are all kind of munged together. I would prefer to address all 3 topics at once.

@nolanlawson : You mean you want one time block for all 3?

Sure, like maybe the first 3 sessions on Day 2 could all be related to this topic. E.g. we could start with a level-setting presentation about the current "state of the union" for solving both 1) cross-shadow ARIA references, and 2) default ARIA semantics for shadow hosts. I'd be happy to put together some slides on that.

Alternatively, if folks want to cover them separately, then I'm not opposed to that.

Updated the agenda accordingly.

To help folks prepare, can the agenda items have links to relevant issues and explainers?

@rniwa , I would create some stories on declarative template, declarative web application stack as part of requirements for DCE
meanwhile, can you, please provide the link to DCE POC in Declarative Templating & Custom Elements ?

Or better to make the WICG tickets first?
https://github.com/EPA-WG/custom-element/blob/main/README.md

I would be interested in attending (virtual). It would be nice to put a face to people I've been seeing around the community for the past few months πŸ‘‹, as well see what the general direction of WC.

My background is working on translating a BEM based framework to Web Components with just native code (no transcompile). It's probably a few months from production, but so far, I got mostly all the Material Design components + mini render framework at <65KB min-gzip in my current project. I feel like I've been in the trenches for the last few months so could provide some relevant feedback.

From a dev perspective, my points of interest are accessibility (ARIA), performance, and pains related to bottom-up construction of elements without using outside render frameworks.

Functionally complete declarative templating #997 is WICG proposal and would be part of Declarative Custom Element presentation.

Reminder that we've got two session for this scheduled for the week after next, see proposed schedule here: #978 (comment)

Calendar info is I added the handful of people to the event on this thread who's contact info I already have, and would be pleased to do the same with the rest of you. The meetings are in a Google Calendar, so they always get associated to a Meet video call, happy to try to set up something else if that would preferable, but please let me know ASAP if some effort needs to be put into finding an alternate call strategy.:

I'm not sure if there's a more official calendar than that of the Web Components CG, so I've added those events there:

  • Monday, April 17th 12pm to 4pm ET (link)
  • Thursday, April 20th 12pm to 4pm ET (link)

Not many days left till we're all together, but if any in advance convos would be productive, please share them here so people can join in as they are available. See yall in a couple of weeks!

is it possible i could join this too? even if just to observe

i do a lot of oss work in the WC space, have crossed paths with a few of you already over the years. so its all super relevant to me. would love to take part and become more involved

same. I'd love to be able to attend just to listen in

These meeting are currently on the Web Component Community Groups shared Google Calendar as public events, I'm not sure of a way for them not to be without paying for a Google Meet account. Does anyone have qualms against more developer/consumer attendees in the sessions?

Separately, while I currently own these events, due to a family emergency I will no longer be able to attend next week. Is there someone whom I could transfer ownership of these events to that will be in attendance both days and does mind "minding the door" to ensure that people are able to join. We'd not gotten all the way to a moderator/chair and/or note taker for the event, but it would be good to get some volunteers in this area, too. Possibly the same person, but by no means a requirement.

I would like to attend along with @justinfagnani , representing the web components team at Google.

@Westbrook I can help mind the door.

I see the events have Google Meet meetings on them. If I create the meeting we get unlimited hours too.

We should probably get a list of potential note takers so we can rotate. Maybe we can make two comments here and people can πŸ‘ if they can take notes on that day.

Re: chair. In the past we've sometimes had a W3C chair, like Chaals. I can't remember if we've kept that in more recent meetings. @annevk is there something specific we should do there?

Who can help take notes on the 17th?

React with a πŸ‘ if you can!

Who can help take notes on the 20th?

React with a πŸ‘ if you can!

50min: DOM parts API. In particular focusing on these three things and building a v1 if there's rough agreement @rniwa:

  • APIs for creating parts.
  • { node, parts } = node.cloneWithParts({ deep, parts }) (note that this is generic).
  • A name that doesn't conflict with shadow parts. Perhaps node segments?

For the discussion of the DOM Parts API, some folks have been working on an augmented proposal that takes SSR into account:

https://github.com/tbondwilkinson/dom-parts#readme

(Also some open issues about this updated proposal.) Perhaps we could spend the 50 minutes discussing this general idea?

If it'll help, I'd like to give a short (5min) overview of the additional DOM Parts ideas and what's motivating them. I can make a few slides for it.

@Westbrook I think I'm the owner of the two gcal events now, and the associated Meet meetings, so I think we're all set there. I'll make sure another Googler or two is an owner/cohost so they can adjust settings and admit people if neccessary.

Other logistics questions:

  • Where should we take live notes? I've see Google Docs, Evernote, and I think an IRC bot in the past. I don't know what the current favored platform is.
  • Should we also have a live chat? Google Meet has one built in, though it's not the most full-featured chat. We could also do Matrix. Or not have one (or use Meet's chat for very small things, but greatly prefer live conversation).
  • Recordings: I think we've usually not recorded these meetings due to preferences from individuals and employers. Just confirming that I don't think we'll even need to raise the question at the meeting.
  • Chair: checking again, do we need one?
  • Recordings: I think we've usually not recorded these meetings due to preferences from individuals and employers. Just confirming that I don't think we'll even need to raise the question at the meeting.

Yeah, please don't record the video/audio.

@rniwa can you add this as an issue under "Declarative adoptedStylesheets": #939?

I would like to attend (virtually), i am interested in Custom Elements, Shadow DOM and Scoped Custom Element Registries.

I'd also like to attend virtually. I don't know why I never got any communication on this. It doesn't seem like anyone from FAST or perhaps even from Microsoft was made aware of this event. Both myself (architecture and technical advisor on FAST) and @chrisdholt (representing Microsoft) would like to attend. I have opened up my schedule to participate on both days. @Westbrook or @justinfagnani Can you assist please?

Update: Westbrook reached out and got me the info. Looks like there were a combination of things that happened leading to the missing information. All is sorted. Thanks!

Hey everyone... I think there was a little snafu with the calendar events and when @Westbrook transferred ownership of them to me they by default went to my personal calendar. So I think they might not have been listed at the links Westbrook posted above for a while. Apologies!

I transferred them back to the WCCG calendar, though there are now two events (I presume Westbrook created some new ones while I was sleeping in Pacific time). They have the same Meet link, so that's not a problem. If I invited you specifically to an event, you're still there.

To surface them again, some links:

See you there!

edit: and I had to make the effects public too, which is now done.

We're having a separate F2F meeting to discuss DOM parts in more depth. Please refer to #999 for scheduling & agenda of that meeting.

@annevk how do you want to run "Web Components pain points in general" tomorrow?

25 min isn't much time, I'd imagine we only have enough time to list some things?

WC pain points to discuss:

  • multithreading, ability to do heavy lifting with detached DOM and return back to main thread the promise with DOM.
  • pure function in ES as tool for multithreading legitimate even in main JS thread
  • upgrade XSLT to 3.0+, one of reason of current XSLT abandoning is the limited functionality
  • support multiple default namespaces on HTML level. Needed for high-order web components where the tags can be defined by namespace adjustments. This is non-invasive declarative way of tags mapping which is not (yet?) covered by local/global registries

We'll have a separate F2F to discuss cross-root ARIA. For scheduling and agenda, please see #1005.

Here is the link to the notes doc: https://docs.google.com/document/d/1XWp4ndl5bthoxhnqR9Ly1SYvYcmXw1eTrappoMXsuH4/edit?usp=sharing

I've locked down edit-ability on the public link. If you want to change something in there, let me know and I can add you as an editor.

I added an issue to schedule the "Styling and Theming" breakout: #1006

Shoot. I wrote here something about lazy loading component, moved it there. Oops!