Re: Defining a constructor for Element and friends

Ryosuke Niwa <[email protected]>
Newsgroups gmane.comp.web.dom.general,gmane.org.w3c.webapps
Message-ID <[email protected]>
On Jan 13, 2015, at 11:31 AM, Boris Zbarsky <[email protected]> wrote:

> On 1/13/15 1:33 PM, Ryosuke Niwa wrote:
>> Shouldn't we throw in this case because the concert type of "somename" is HTMLUnknownElement?
> 
> Oh, hmm.
> 
> Yes, I guess so.  That's very non-obvious to an author.
> 
> Even less obvious because for some tag names using the HTMLElement constructor is in fact correct.
> 
> The end result here is really something that ends up all self-consistent and preserving our invariants and the obvious reaction to it will be "WAT?".  Not least because the actual interface used by various HTML elements is pretty random.
> 
> Want a <basefont>?  HTMLElement.  Want a <bgsound>?  HTMLUnknownElement.  Want a <rb>?  HTMLUnknownElement.  Want a <big>?  HTMLElement…

Indeed the developer ergonomics here is terrible :(

>> I think if we threw an exception on every attempt to create an element with a name without "-" (as they're HTMLUnknownElement anyway)
> 
> I'm not sure I follow.  How do you propose an <s> be constructed via constructor, say?  What about <address>?

Sorry, I meant that only non-standard (i.e. unknown) HTML elements.  If we're disallowing upgrades as we've been arguing, then we should probably disallow HTMLUnknownElements altogether regardless of whether they contain "-" in their names or not.

- R. Niwa
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.