Re: [w3c/webcomponents] Alternative proposal for closed shadow DOM (#499)

> That would go back on implementer consensus. 

So this is non-negotiable?

> That was the position until last year and it basically meant that only Chrome would ever ship something resembling shadow DOM.

To clarify, are you saying that open shadow DOM -- which is widely acknowledged to be advantageous -- will not be implemented without closed shadow DOM, which variously has:

* advantages (summarising from above)
  - a 'stronger contract' than open
    + in reality, this means that 5-ish more lines of code are needed
    + the people that the workaround makes uncomfortable (overriding a DOM API in production) are the people most likely to already understand the risks of penetrating a shadow DOM and have accepted them
    + copy-paste-ers will notice only that they had to do one more search to make their code work
  - (can't find any others)
* disadvantages
  - workarounds for 'code injectors' (variously extensions, user scripts, automation/testing tools, accessibility tools and bookmarklets) will either not exist -- generally accepted as unintended/bad -- or will result in
    + proliferation of identically intentioned APIs across multiple specs (which all inherit the DOM API anyway)
    + inconsistency across APIs, since each spec has to design and incorperate its own
  - asymmetry of implicit understanding
    + component developers can easily make an uninformed choice of 'closed', causing problems for downstream developers (as opposed to eg. `Object.defineProperty` to shield `shadowRoot`)
    + application developers have to patch a DOM API to undo this
  - goes against what is actually being done on the web
    + introduction of shadow DOMs have seen widespread use of `shadowRoot`
    + there is noticably little developer interest in closed shadow DOM in the wider community
  - lots of work is being done to implement a feature which will be
    + mostly unnoticed by developers who it wasn't intended to affect, and indistinguishable for them from open shadow DOM
    + irritating for the few developers who can't Google around it
    + completely circumvented (code completely unused) when developers work around it.

Maybe this is already written in stone and I'm just pissing in the wind, but I really can't see why there is such strong intention to have this 'feature'.

---
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/499#issuecomment-219367439

Received on Monday, 16 May 2016 07:41:28 UTC