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

First off, terms such as *idiots* shouldn't be used lightly per our [Code of Ethics and Professional Conduct](https://www.w3.org/Consortium/cepc/).  The term is discriminatory towards people with intellectual disabilities. See campaigns like http://www.r-word.org.

Now, [encapsulation](https://en.wikipedia.org/wiki/Encapsulation_(computer_programming)) is the pinnacle of modern day programming.  The problem here isn't so much that some developers would poke into shadow trees of various components accidentally or purposefully.  It's that component authors can't have any reasonable expectation that users of their components wouldn't do so.

Why is this bad?  Because those components would need to be updated in the future.  And when they do get updated, all those uses of older versions of components that poked into their shadow trees would break.

Look no further than [shadow piercing combinators](http://www.w3.org/2015/04/24-webapps-minutes.html#item07), which was introduced as a convenience mechanism for developers to pierce through shadow boundaries to style elements.  At the end, Blink removed this feature from the engine because authors abused it.

Look no further than the fact we can't even add [`Node.prototype.rootNode`](https://github.com/whatwg/dom/issues/241) or [`Event.prototype.deepPath`](https://github.com/whatwg/dom/issues/242) due to Web compatibility.  This **WILL** happen to your components once enough people start using them.

---
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-218716055

Received on Thursday, 12 May 2016 10:14:34 UTC