Re: [w3c/webcomponents] The is="" attribute is confusing? Maybe we should encourage only ES6 class-based extension. (#509)

> I'm still wondering whether it is a good idea to soup up the template API to do more work vs. allowing dedicated elements to do it?

I think you should stop using `template` or decide to never extend it natively in any of **your** projects.

Same goes for buttons, forms, maps, tables, and every other example previously described multiple times in intent and problems caused by not having an `is` like mechanism.

It's clear you don't want `is` to happen but it looks like you are also not capable to propose concrete alternatives that work like a native extend would, or like Custom Elements worked until now, and for the last 2+ years.

Yes, you don't need to do that, and it's very good for you because you don't have to use it or to wait for it to happen everywhere: lucky you, I'm almost envious!

So, thank you for your contribution to this discussion, but please stop telling us we're all doing it wrong and it's possible without `is`, because we all agreed on the fact it's not perfect but so isn't the entirety of the HTML specification, and that's legacy we don't want to break, but also the only legacy we can use to improve the current Web as a platform.

That legacy worked well so far but it's going to be stuck forever if we cannot enhance it, do you understand this **is** a problem in both the short and long term?

As alternative, we have 3rd parts frameworks that circumvent Web limits, meaning in my opinion that the Web, as platform, failed to keep it up, encouraging every possible sort of hack on JS side (developers will do that if necessary, it already happened in the past) instead of gracefully enhancing itself like it has done for many years, adding special elements or attributes when needed (imagine a conversation like "_we don't need draggable attribute_" or "_we don't need checked and disabled_")

HTML Elements are different, and these have a meaning in certain context that cannot be simply replaced by regular `HTMLElement`.

It's like being in ECMAScript 3 era where everyone hacked native constructors prototypes because it wasn't possible, and it took forever to make it possible, to simply extend `Array` or `String` and others.

The current Custom Elements have the same limitation but not everything, metaphorically speaking, is an `Object` with a generic `object` role.

As summary: we should stop wasting time saying there are no use cases for `is` or nobody uses it, because evidence demonstrated the contrary. We can agree to disagree then and, hopefully, move on.

For future reference, these are all the **non** `HTMLElement` classes you think nobody should be able to natively extend. You said you care about the future of this platform? Then you should care about what's being discussed in here as "_leaast ugly but working option we have to move forward_".

```
HTMLAllCollection
HTMLCollection
HTMLFormControlsCollection
HTMLOptionsCollection
HTMLAnchorElement
HTMLAppletElement
HTMLAreaElement
HTMLAttachmentElement
HTMLAudioElement
HTMLBRElement
HTMLBaseElement
HTMLBodyElement
HTMLButtonElement
HTMLCanvasElement
HTMLContentElement
HTMLDListElement
HTMLDataElement
HTMLDataListElement
HTMLDetailsElement
HTMLDialogElement
HTMLDirectoryElement
HTMLDivElement
HTMLDocument
HTMLElement
HTMLEmbedElement
HTMLFieldSetElement
HTMLFontElement
HTMLFormElement
HTMLFrameElement
HTMLFrameSetElement
HTMLHRElement
HTMLHeadElement
HTMLHeadingElement
HTMLHtmlElement
HTMLIFrameElement
HTMLImageElement
HTMLInputElement
HTMLKeygenElement
HTMLLIElement
HTMLLabelElement
HTMLLegendElement
HTMLLinkElement
HTMLMapElement
HTMLMarqueeElement
HTMLMediaElement
HTMLMenuElement
HTMLMenuItemElement
HTMLMetaElement
HTMLMeterElement
HTMLModElement
HTMLOListElement
HTMLObjectElement
HTMLOptGroupElement
HTMLOptionElement
HTMLOutputElement
HTMLParagraphElement
HTMLParamElement
HTMLPictureElement
HTMLPreElement
HTMLProgressElement
HTMLQuoteElement
HTMLScriptElement
HTMLSelectElement
HTMLShadowElement
HTMLSlotElement
HTMLSourceElement
HTMLSpanElement
HTMLStyleElement
HTMLTableCaptionElement
HTMLTableCellElement
HTMLTableColElement
HTMLTableElement
HTMLTableRowElement
HTMLTableSectionElement
HTMLTemplateElement
HTMLTextAreaElement
HTMLTimeElement
HTMLTitleElement
HTMLTrackElement
HTMLUListElement
HTMLUnknownElement
HTMLVideoElement
Attr
Audio
CDATASection
CharacterData
Comment
Document
DocumentFragment
DocumentType
Element
Image
Option
ProcessingInstruction
ShadowRoot
Text
XMLDocument
```

Thanks for your collaboration.



-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3c/webcomponents/issues/509#issuecomment-259267305

Received on Tuesday, 8 November 2016 21:37:53 UTC