- From: Tomek Wytrębowicz <notifications@github.com>
- Date: Mon, 05 Dec 2016 14:27:04 -0800
- To: w3c/webcomponents <webcomponents@noreply.github.com>
- Message-ID: <w3c/webcomponents/issues/509/264998062@github.com>
> The other question becomes when do we do `<my-button>` and when do we do `<button is="my-button">`?
(mostly as already mentioned above, like in [Eric's post](https://github.com/w3c/webcomponents/issues/509#issuecomment-230780607))
As the author of `my-button` you prepare it to be
- `<button is="my-button">`/`<template is="my-template">`/... - when
- you need element's specific parsing context (`template`, `table`, `script`, `meta`,... dozens of others) ,
- you need all native accessibility features,
- you need all element-/parent-element-specific behavior without re-implementing it by your own (form serialization etc.),
- you would like existing dev/SEO/automation/a11y/... HTML tools to understand that this will be `button`/`template`/... (by reading just HTML, w/o running JS in runtime)
- you would like to use native/user-agent styles for `button`,
- you would like to share your own/CSS framework styles for `button`
- you need graceful fallback, in case you:
- lazy-load element definition,
- you will not provide element definition for some reason,
- the element definition will fail due to any reason,
- express it clearly (via just HTML usage) to consumers of your `my-button` that they could expect the behavior of native element,
- `<my-button>` - when
- you don't need any of above,
- your element does not correspond to any native element other that `div`, `span`, etc.
I probably missed few other reasons, bu I think it's quite enough to express value of `is`.
--
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-264998062
Received on Monday, 5 December 2016 22:33:41 UTC