- From: BronislavKlucka <notifications@github.com>
- Date: Sun, 14 May 2017 06:09:25 -0700
- To: w3c/webcomponents <webcomponents@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3c/webcomponents/issues/640/301311858@github.com>
Hi,
you are missing the point, /closed/ mode is not wrongly introduced
because you cannot mess with the internals, it was created precisely for
this purpose: so you cannot mess with the internals. You are looking at
this issue with very narrow perspective of very few use cases,
completely ignoring the pain of web apps developers they have been
dealing with for decades: the global DOM space, where everything could
affect everything.
The common way, how desktop apps are developed is that you have/buy RAD
with e.g. 20 components and through out the years you
write/purchase/download hundreds of others and the beauty is, that those
are self contained black boxes that always works together regardless of
any kind of combination of any number of component from any number of
developers (exceptions being possible class naming collisions and unique
resources access).
The second beauty of this simply is the fact, that developers who are
using those components are informed "you can touch this, this is fixed
and you cannot rely on that, that is internal and can change with every
minor release". If you chose to somehow rely on internals and it breaks,
it's your fault, not authors.
If you ever tried to combine even 2 web/js component libraries together?
pain... and then upgrade one... Yes /closed/ mode is something new and
strange but something web platforms needs to become fully fledged
application run time (yes, we could somehow do this before... you can
walk to Rome, but I assume air plain or car is much better solution).
You are arguing that
"
This all dies when your documents are full of opaque |<main-content>|s
and |<autocomplete-input>|s and mine are full of |<article-body>|s and
|<filter-dropdown>|s. Or worse, 'empty' |<div>|s.
"
but you are effectively describing the issue you/we had for decades:
"opaque 'empty' |<div>|s", applications build by divs and spans, filled
by another ||divs and spans generated via XMLHTTPRequest... same diff
for you (no officially described semantics what so ever), huge
difference for those who write/maintain such projects.
Instead of refusing several years of discussions, the way to solve this
is come up with set of attributes that would be useful to
expose/describe, the same way WAI-ARIA works to describe authored
controls. Do you want to be informed about the fact that control is
editable?
"
Suppose a library wanted to provide an easy way to attach keyboard
shortcuts to a page, except when the user is entering text into an input
(|<input>|, |<textarea>| |<* contenteditable="true">|, etc.). This
library will function incorrectly (ie. interpret input-generating
keypresses as keyboard shortcuts) for any pages containing an input
inside a closed shadow DOM.
"
let's introduce editable attribute, that would be default on controls
mentioned above (unless readonly/disabled) and can be used on other
controls. This is the way how it worked before (e.g. input extensions)
and how it could work again. If you have experience with this, if you
have some numbers of those attributes in mind, offer them.
Solution we have now is not perfect, but we should work on it, not just
simply say "it has few issues, so forget about it all"
--
Bronislav Klučka
--
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/640#issuecomment-301311858
Received on Sunday, 14 May 2017 13:09:58 UTC