[Bug 18669] Switch from is= to <tag if a decision has been reached among implementers

https://www.w3.org/Bugs/Public/show_bug.cgi?id=18669

--- Comment #38 from Daniel Buchner <danieljb2@gmail.com> ---
- What this solves -

* Provides for subset of accessibility issues that fit specially crafted usage
assumptions with short-term relevance - which can also be solved via Brian
Kardell's proposal in Comment 29, of optional, source-included fallback
content.


- Where it falls down -

* Forces two interfaces on developers that fork due to a hard prohibition of a
single feature, that may or may not even apply.

* Legacy UAs do not allow access to Shadow DOM and other things that are the
probable reason developers would even want to extend native elements, thus the
likelihood that <input type="text" is="x-super-input" /> will show up in legacy
UAs is slim - it's much more likely you will see this: <x-supertext> { DEFAULT
CONTENT INCLUDES AN <INPUT> } </x-supertext>

* If linked documents are parsed, this whole issue goes away in the
medium-to-long term as Web Component implementation proliferates, leaving us
with a fractured, sub-optimal API, and years and years of fist-shaking over
what was decided back in the ol' days (36 months ago)

* Polyfills become much harder

* Devs are required to always think in two modes, extend vs non-extend, which
has significant thought and code-writing overhead (hmm...do I need to
querySelector for select[is="x-foo"], or just x-foo?)

* Raises the fundamental barrier to entry for coders new to the web platform
and its interface

* Turns source viewing into a fun game of "Where's Web Component Waldo?"

* Doesn't for one second prevent the far better solution of optionally
including fallback content within the tag itself - this will be used a lot when
developers take stock of their options and square them with code-reality.

* Much of the concern is organically avoided by developers who will self-select
use of decorators for cases where is="" would have them do <select is="x-foo">

* Decorators can, at some point, include transient method/accessor hooks while
active on an element - another option that would render is="" obsolete.

---

I feel this hybrid proposal is unnecessary, based on faulty assumptions of the
rate of native-element-inheriting tag use in legacy UAs, and ill-concieved,
based on the steady feedback over the past few months from developers both
inside and outside Mozilla. In my opinion, and the opinion of developers who
have/will use this feature, this is the wrong course of action.

A petition for compromise based on a reality-driven assessment of likely rates
of developer usage/use-cases:

Remove the soon-to-be-useless prohibition on extending native elements from #2,
the true custom tag syntax.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Tuesday, 15 January 2013 00:41:51 UTC