On Wed, 08 Apr 2015 14:59:34 +0200, Kyle Simpson <get...@gmail.com> wrote:
A lot of the "untestable" bugs have been around for a really, really
long time, and are probably never going away. In fact, as we all know,
as soon as a bug is around long enough and in enough browsers and enough
people are working around that bug, it becomes a permanent "feature" of
the web.
Yes. And we both think it's a bad situation. Let's work to avoid new bugs
when adding new features, by writing tests, and considering feature
testability when designing new features (this is being done already). Old
bugs would be good to fix, too, but it is not without risk since Web pages
might use the differences for browser sniffing or otherwise rely on them.
So to shrug off the concerns driving this thread as "bugs can be fixed"
is either disingenuous or (at best) ignorant of the way the web really
works.
We have different perspectives for sure.
Sorry to be so blunt, but it's frustrating that our discussion would be
derailed by rabbit trail stuff like that. The point is not whether this
clipboard API has bugs or that canvas API doesn't or whatever.
Just because some examples discussed for illustration purposes are bug
related doesn't mean that they're all bug related.
I didn't say that. <link rel> is an example already brought up, and I've
proposed a fix. I've asked for other examples.
There **are** untestable features, and this is an unhealthy pattern for
the growth/maturity of the web platform.
For example:
1. font-smoothing
2. canvas anti-aliasing behavior (some of it is FT'able, but not all of
it)
3. clamping of timers
4. preflight/prefetching/prerendering
5. various behaviors with CSS transforms (like when browsers have to
optimize a scaling/translating behavior and that causes visual artifacts
-- not a bug because they refuse to change it for perf reasons)
6. CSS word hyphenation quirks
7. ...
Thanks. Can you elaborate on these, why you think it makes sense to
feature-test them? Do you know of existing pages that would benefit from
being able to feature-test these (that currently use UA sniffing or so
instead)?
The point I'm making is there will always be features the browsers
implement that won't have a nice clean API namespace or property to
check for. And many or all of those will be things developers would like
to determine if the feature is present or not to make different
decisions about what and how to serve.
Philosophically, you may disagree that devs *should* want to test for
such things, but that doesn't change the fact that they *do*. And right
now, they do even worse stuff like parsing UA strings and looking
features up in huge cached results tables.
Consider just how huge an impact stuff like "caniuse" data is having
right now, given that its data is being baked into build-process tools
like CSS preprocessors, JS transpilers, etc. Tens of millions of sites
are implicitly relying not on real feature tests but on (imperfect)
cached test data from manual tests, and then inference matching purely
through UA parsing voodoo.
I don't disagree here. I just don't come to the conclusion that we should
have an API to test everything under the sun. I don't mind changing or
adding things to help feature-test things that are not currently testable
in compliant implementations.
--
Simon Pieters
Opera Software