- From: Pete Otaqui <notifications@github.com>
- Date: Thu, 27 Oct 2016 05:36:22 -0700
- To: w3c/webcomponents <webcomponents@noreply.github.com>
- Message-ID: <w3c/webcomponents/issues/509/256628730@github.com>
I would really like to have the ability to use the unreproducible features of native elements in custom ones. I don't really mind if that's through inheritance or some other "mixin" approach. Beyond even accessibility, which to me seems to be the biggest reason to want this, there are things like `<datalist>` which (in browsers that support it, _hint hint_) will produce a dropdown menu that overflows the browser window. Clearly no (sane) web dev is going to attempt to rebuild that from the ground up. I would love to be able to extend `<datalist>` to have custom matching routines, for example. Of course, I'd also love it if the native element was in Webkit in the first place ;) The problem with `<datalist>` is that it's really not extensible. The existing implementations aren't fabulous - but they are _so close_, and could be made amazing with just a few extra touches. The same thing applies with the venerable `<select>` too - especially on mobile platforms. There are interactions there that are simply not possible with a purely custom element - and not even possible (or at least straightforward) with custom elements that wrap / utilise the native ones inside. The fact that we web devs can't simply use those powerful native capabilities without recreating them from scratch, or hacking around with composing them, is a real shame for the web. As I said, I'd be fine with mixins instead of inheritance - has any effort been put into specifying that? Would it mean I could still get all the unreproducible behaviours, of let's say a `<select>` tag, and add my own implementation pieces? -- 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-256628730
Received on Thursday, 27 October 2016 12:36:54 UTC