W3C home > Mailing lists > Public > public-webapps@w3.org > April to June 2015

[Bug 28547] New: Remove the support for inherting from builtin subclasses of HTMLElement and SVGElement

From: <bugzilla@jessica.w3.org>
Date: Wed, 22 Apr 2015 23:54:56 +0000
To: public-webapps@w3.org
Message-ID: <bug-28547-2927@http.www.w3.org/Bugs/Public/>
https://www.w3.org/Bugs/Public/show_bug.cgi?id=28547

            Bug ID: 28547
           Summary: Remove the support for inherting from builtin
                    subclasses of HTMLElement and SVGElement
           Product: WebAppsWG
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Component Model
          Assignee: dglazkov@chromium.org
          Reporter: rniwa@webkit.org
        QA Contact: public-webapps-bugzilla@w3.org
                CC: mike@w3.org, public-webapps@w3.org

See https://wiki.whatwg.org/wiki/Custom_Elements#Subclassing_existing_elements

Subclassing existing elements is hard as implementation-wise identity is both
object-based and name / namespace based. Therefore subclassing an existing
element (currently) requires that the name / namespace does not change. See
also DOM: element constructors.

A hack was invented to make this work: <button is="my-button">. That hack is
not well liked leaving us two options:

We leave this for now and work on this in parallel while stabilizing a smaller
subset of custom elements.
We block on this and delay even more.
(Assuming that not all implementers are suddenly going to be okay with this
hack.)

However, without this hack accessibility for trivial components is harder as
more things have to be done by hand.

Another use case had emerged for the "is" hack: piggy-backing on parser
behaviors. For example, extending <template> for data binding or as a way to
specify shadow trees in HTML.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Received on Wednesday, 22 April 2015 23:54:58 UTC

This archive was generated by hypermail 2.3.1 : Friday, 27 October 2017 07:27:31 UTC