DEV Community

Discussion on: Web Components — the right way.

Collapse
 
jamescoyle profile image
James Coyle

You make some good points in an ideal world but webcomponents are still missing a key feature that would allow for progressive enhancement. We still can't extend any element other than a standard HTML element which is why we still wrap or replace the stock elements.

Ideally, if you wanted to create a custom select element, you would extend the stock select element to gain it's functionality and then define your own UI. Then, if the user was on a browser that didn't support webcomponents or had JS disabled they would be shown the stock select instead.

Collapse
 
equinusocio profile image
Mattia Astorino • Edited

They are discussing about how to extend native html elements (Please check the google fundamental link). There is already a living standard spec to extend html elements that is now under reconsideration to improve it. Nothing definitive, but since we are talking about a new technology.. it's acceptable.

About nojs browsers, no PWA will work if you disable js...

Collapse
 
jamescoyle profile image
James Coyle

Wasn't the 'is' attribute supposed to allow for nojs progressive enhancement? That's what I was thinking of anyway.

Thread Thread
 
equinusocio profile image
Mattia Astorino • Edited
  1. A customized built-in element, which is defined with an extends option. These types of custom elements have a local name equal to the value passed in their extends option, and their defined name is used as the value of the is attribute, which therefore must be a valid custom element name.

But this spec is now under reconsideration:

#662 - 509