From: kangax on
On Nov 17, 5:33 pm, David Mark <dmark.cins...(a)gmail.com> wrote:
> On Nov 16, 2:09 am, RobG <rg...(a)iinet.net.au> wrote:
>
>
>
> > On Nov 16, 2:34 pm, David Mark <dmark.cins...(a)gmail.com> wrote:
>
> > > Out of curiosity about Microsoft's newfound understanding of
> > > attributes, I put together a set of tests.  Two sets, actually:-
>
> > >http://www.cinsoft.net/attributes.html
>
> > > One calls get/removeAttribute methods assuming they work consistently
> > > across all browsers (a common strategy).  Results are almost exactly
> > > as expected.  All green in modern standards-based browsers tested
> > > (e.g. Chrome, FF3.5.)  Mostly green in IE8 standards mode (yes,
> > > they've _still_ got some mistakes in there).  Put IE8 in
> > > "compatibility view" and all hell breaks loose (all but three tests
> > > fail).
>
> > If "compatible" means has the same number of failures, then yes, it's
> > compatible with my IE 6.
>
> > > Out of further curiosity, I added a second set of the same tests using
> > > wrapper functions and a feature test proposed here two years ago.  All
> > > is exactly the same, except that now IE8 compatibility mode passes all
> > > but one test (enctype).  I believe IE6/7 will pass all of them as
> > > there is a workaround in there for that attribute.
>
> > Nope, enctype still fails in IE 6. Will look into it further later.
>
> Turns out only for the default enctype.  The MSHTML parser ignores it
> as superfluous.  So that one is just a harmless irritation.  Several
> other mistakes in IE8 standards mode are not.

Those wrappers still fail in Opera 9.27 and 8.54 on Mac (7 and 29
failures respectively). Latest Blackberry (9500) has 23 failures. Are
those wrappers from "My Library"?

--
kangax
From: David Mark on


kangax wrote:
> On Nov 17, 5:33 pm, David Mark <dmark.cins...(a)gmail.com> wrote:
> > On Nov 16, 2:09 am, RobG <rg...(a)iinet.net.au> wrote:
> >
> >
> >
> > > On Nov 16, 2:34 pm, David Mark <dmark.cins...(a)gmail.com> wrote:
> >
> > > > Out of curiosity about Microsoft's newfound understanding of
> > > > attributes, I put together a set of tests.  Two sets, actually:-
> >
> > > >http://www.cinsoft.net/attributes.html
> >
> > > > One calls get/removeAttribute methods assuming they work consistently
> > > > across all browsers (a common strategy).  Results are almost exactly
> > > > as expected.  All green in modern standards-based browsers tested
> > > > (e.g. Chrome, FF3.5.)  Mostly green in IE8 standards mode (yes,
> > > > they've _still_ got some mistakes in there).  Put IE8 in
> > > > "compatibility view" and all hell breaks loose (all but three tests
> > > > fail).
> >
> > > If "compatible" means has the same number of failures, then yes, it's
> > > compatible with my IE 6.
> >
> > > > Out of further curiosity, I added a second set of the same tests using
> > > > wrapper functions and a feature test proposed here two years ago.  All
> > > > is exactly the same, except that now IE8 compatibility mode passes all
> > > > but one test (enctype).  I believe IE6/7 will pass all of them as
> > > > there is a workaround in there for that attribute.
> >
> > > Nope, enctype still fails in IE 6. Will look into it further later.
> >
> > Turns out only for the default enctype.  The MSHTML parser ignores it
> > as superfluous.  So that one is just a harmless irritation.  Several
> > other mistakes in IE8 standards mode are not.
>
> Those wrappers still fail in Opera 9.27 and 8.54 on Mac (7 and 29
> failures respectively). Latest Blackberry (9500) has 23 failures. Are
> those wrappers from "My Library"?

Post the results. The wrapper is just a call to get/set/
removeAttribute in quasi-standards-based browsers, so the first set
(without wrappers) should match the second (with). If not, perhaps
Opera's attribute methods are broken too (in some slightly different
way than IE).

One caveat, I did add a few lines to fix IE8 standards problems (MS
still hasn't fixed the problem completely).

And yes and no. They originated in My Library, but then I moved them
to Dojo and made a few improvements (including some new feature
testing). What is up there now is just as I left it.
From: David Mark on
On Nov 23, 7:35 pm, David Mark <dmark.cins...(a)gmail.com> wrote:
> kangax wrote:
> > On Nov 17, 5:33 pm, David Mark <dmark.cins...(a)gmail.com> wrote:
> > > On Nov 16, 2:09 am, RobG <rg...(a)iinet.net.au> wrote:
>
> > > > On Nov 16, 2:34 pm, David Mark <dmark.cins...(a)gmail.com> wrote:
>
> > > > > Out of curiosity about Microsoft's newfound understanding of
> > > > > attributes, I put together a set of tests.  Two sets, actually:-
>
> > > > >http://www.cinsoft.net/attributes.html
>
> > > > > One calls get/removeAttribute methods assuming they work consistently
> > > > > across all browsers (a common strategy).  Results are almost exactly
> > > > > as expected.  All green in modern standards-based browsers tested
> > > > > (e.g. Chrome, FF3.5.)  Mostly green in IE8 standards mode (yes,
> > > > > they've _still_ got some mistakes in there).  Put IE8 in
> > > > > "compatibility view" and all hell breaks loose (all but three tests
> > > > > fail).
>
> > > > If "compatible" means has the same number of failures, then yes, it's
> > > > compatible with my IE 6.
>
> > > > > Out of further curiosity, I added a second set of the same tests using
> > > > > wrapper functions and a feature test proposed here two years ago.  All
> > > > > is exactly the same, except that now IE8 compatibility mode passes all
> > > > > but one test (enctype).  I believe IE6/7 will pass all of them as
> > > > > there is a workaround in there for that attribute.
>
> > > > Nope, enctype still fails in IE 6. Will look into it further later.
>
> > > Turns out only for the default enctype.  The MSHTML parser ignores it
> > > as superfluous.  So that one is just a harmless irritation.  Several
> > > other mistakes in IE8 standards mode are not.
>
> > Those wrappers still fail in Opera 9.27 and 8.54 on Mac (7 and 29
> > failures respectively). Latest Blackberry (9500) has 23 failures. Are
> > those wrappers from "My Library"?
>
> Post the results.  The wrapper is just a call to get/set/
> removeAttribute in quasi-standards-based browsers, so the first set
> (without wrappers) should match the second (with).  If not, perhaps
> Opera's attribute methods are broken too (in some slightly different
> way than IE).
>
> One caveat, I did add a few lines to fix IE8 standards problems (MS
> still hasn't fixed the problem completely).
>
> And yes and no.  They originated in My Library, but then I moved them
> to Dojo and made a few improvements (including some new feature
> testing).  What is up there now is just as I left it.

Yes. Opera 9.27 has some broken attribute features (e.g. getAttribute
method). As expected, the two sets of tests have identical results.
I am sure these new quirks can be feature tested. The demo is getting
to be a bit of a mess with a couple of inferences (related to IE8
quirks) that need feature tests.
From: David Mark on
On Nov 23, 10:03 pm, David Mark <dmark.cins...(a)gmail.com> wrote:
> On Nov 23, 7:35 pm, David Mark <dmark.cins...(a)gmail.com> wrote:
>
>
>
> > kangax wrote:
> > > On Nov 17, 5:33 pm, David Mark <dmark.cins...(a)gmail.com> wrote:
> > > > On Nov 16, 2:09 am, RobG <rg...(a)iinet.net.au> wrote:
>
> > > > > On Nov 16, 2:34 pm, David Mark <dmark.cins...(a)gmail.com> wrote:
>
> > > > > > Out of curiosity about Microsoft's newfound understanding of
> > > > > > attributes, I put together a set of tests.  Two sets, actually:-
>
> > > > > >http://www.cinsoft.net/attributes.html
>
> > > > > > One calls get/removeAttribute methods assuming they work consistently
> > > > > > across all browsers (a common strategy).  Results are almost exactly
> > > > > > as expected.  All green in modern standards-based browsers tested
> > > > > > (e.g. Chrome, FF3.5.)  Mostly green in IE8 standards mode (yes,
> > > > > > they've _still_ got some mistakes in there).  Put IE8 in
> > > > > > "compatibility view" and all hell breaks loose (all but three tests
> > > > > > fail).
>
> > > > > If "compatible" means has the same number of failures, then yes, it's
> > > > > compatible with my IE 6.
>
> > > > > > Out of further curiosity, I added a second set of the same tests using
> > > > > > wrapper functions and a feature test proposed here two years ago.  All
> > > > > > is exactly the same, except that now IE8 compatibility mode passes all
> > > > > > but one test (enctype).  I believe IE6/7 will pass all of them as
> > > > > > there is a workaround in there for that attribute.
>
> > > > > Nope, enctype still fails in IE 6. Will look into it further later.
>
> > > > Turns out only for the default enctype.  The MSHTML parser ignores it
> > > > as superfluous.  So that one is just a harmless irritation.  Several
> > > > other mistakes in IE8 standards mode are not.
>
> > > Those wrappers still fail in Opera 9.27 and 8.54 on Mac (7 and 29
> > > failures respectively). Latest Blackberry (9500) has 23 failures. Are
> > > those wrappers from "My Library"?
>
> > Post the results.  The wrapper is just a call to get/set/
> > removeAttribute in quasi-standards-based browsers, so the first set
> > (without wrappers) should match the second (with).  If not, perhaps
> > Opera's attribute methods are broken too (in some slightly different
> > way than IE).
>
> > One caveat, I did add a few lines to fix IE8 standards problems (MS
> > still hasn't fixed the problem completely).
>
> > And yes and no.  They originated in My Library, but then I moved them
> > to Dojo and made a few improvements (including some new feature
> > testing).  What is up there now is just as I left it.
>
> Yes.  Opera 9.27 has some broken attribute features (e.g. getAttribute
> method).  As expected, the two sets of tests have identical results.
> I am sure these new quirks can be feature tested.  The demo is getting
> to be a bit of a mess with a couple of inferences (related to IE8
> quirks) that need feature tests.

It was almost a hole in one on 9.27.

There were two quirks in Opera's getAttribute. One was being feature
tested (cellSpanAttributesBad), but not caught as the feature test was
too narrow.

The other one was related to booleans (e.g. disabled) and was not a
bug (just an inconsistency), but the tests were too strict to let it
pass. I fixed that so that the results are consistent (new flag
added).

A bit messy and there are still a couple of inferences related to
IE8's quirks that need to be replaced with proper tests. Now I need
to transplant it back in to My Library.

One thing to keep in mind is that IE6/7 are broken beyond belief
without these wrappers. Other browsers (e.g. Opera 9.27) may be less
than 100% consistent, but still workable. It's the IE6/7 path (and
IE8 in compatibility mode) that has been ignored by the "major"
libraries (and most other scripts written in the last decade).

So, what about Opera 8.54? The results for that sound positively IE-
ish. Perhaps the net for the broken MSHTML DOM needs to be widened a
bit. Opera has been known to copy IE bugs (usually in quirks mode
though).

From: David Mark on
On Nov 23, 5:26 pm, kangax <kan...(a)gmail.com> wrote:
> On Nov 17, 5:33 pm, David Mark <dmark.cins...(a)gmail.com> wrote:
>
>
>
> > On Nov 16, 2:09 am, RobG <rg...(a)iinet.net.au> wrote:
>
> > > On Nov 16, 2:34 pm, David Mark <dmark.cins...(a)gmail.com> wrote:
>
> > > > Out of curiosity about Microsoft's newfound understanding of
> > > > attributes, I put together a set of tests.  Two sets, actually:-
>
> > > >http://www.cinsoft.net/attributes.html
>
> > > > One calls get/removeAttribute methods assuming they work consistently
> > > > across all browsers (a common strategy).  Results are almost exactly
> > > > as expected.  All green in modern standards-based browsers tested
> > > > (e.g. Chrome, FF3.5.)  Mostly green in IE8 standards mode (yes,
> > > > they've _still_ got some mistakes in there).  Put IE8 in
> > > > "compatibility view" and all hell breaks loose (all but three tests
> > > > fail).
>
> > > If "compatible" means has the same number of failures, then yes, it's
> > > compatible with my IE 6.
>
> > > > Out of further curiosity, I added a second set of the same tests using
> > > > wrapper functions and a feature test proposed here two years ago.  All
> > > > is exactly the same, except that now IE8 compatibility mode passes all
> > > > but one test (enctype).  I believe IE6/7 will pass all of them as
> > > > there is a workaround in there for that attribute.
>
> > > Nope, enctype still fails in IE 6. Will look into it further later.
>
> > Turns out only for the default enctype.  The MSHTML parser ignores it
> > as superfluous.  So that one is just a harmless irritation.  Several
> > other mistakes in IE8 standards mode are not.
>
> Those wrappers still fail in Opera 9.27 and 8.54 on Mac (7 and 29
> failures respectively). Latest Blackberry (9500) has 23 failures. Are
> those wrappers from "My Library"?
>

As for Blackberry. I imagine its DOM implementation is broken too.
Again, I assume the left and right results are the same. The former
uses no wrappers at all, calling the DOM methods directly. I'd be
very interested to see these results.

Thanks again!