Hacker News new | ask | show | jobs
by drc0 2707 days ago
care to explain why?
1 comments

If you're asking specifically why the test isn't being maintained, I can somewhat speak to that.

The first Acid test was a relatively simple test that could visually demonstrate if browsers implemented CSS. When IE became the dominant browser, Microsoft essentially stopped all development on IE. At the time, IE had a very broken implementation of CSS (although, it should be noted, IE6 was the best implementation of CSS when it came out, as everybody else was just as bad). The Acid2 test was created in large measure specifically to goad IE into improving its standard compliance (mostly on CSS). As a result of the publicity of the Acid2 test, the other browsers fixed their engines to pass Acid2, which put pressure on IE to fix their engine.

Since it had been effective in pushing browsers to implement the CSS2 standard correctly, the author turned to creating Acid3 to push browsers to implement more technologies. Whereas Acid1 and Acid2 were largely about CSS layout, Acid3 focuses more on testing JS API implementations. Acid3 was heavily criticized for letting browsers score well just by having a very thin, minimal surface implementation of the feature instead of testing thorough correctness, as well as for being very opinionated in pushing browsers to implement specific technologies (SVG fonts being the big one).

By the time Acid3 came out, there was already a change in the development of web browsers. Microsoft was once again participating in the standards compliance process and trying to drive their browser to modern compliance, so all of the major browser vendors were very active in discussion about implementation. Also, the W3C changed its specification process to rely more heavily on having a thorough compliance testsuite that had two passing independent implementations before a standard could be considered finalized. The CSS2.1 testsuite wasn't complete at the time these tests were developed, but has now come out, with almost 10,000 individual tests in them, far more thorough than any of the Acid tests could claim to be.

Since the Acid tests no longer had value in being the most comprehensive tests of their underlying functionality, nor in compelling browser developers to be competitive in standards support, their developer stopped working on the project. Indeed, since Acid3 fails at even being a comprehensive test for what it tests, its author publicly stated that he isn't interested in updating it when specifications update.

Do you know what changed regarding 23, 25, and 35, and why it was at the time considered correct to pass them, but now considered correct to fail them?
I gave the links in https://news.ycombinator.com/item?id=18942546 . Essentially, the exception being thrown changed in 23 and 25, and 35 was actually incorrect to begin with, but no one realized it until browsers started implementing Shadow DOM.
You can see details by loading the test page and then clicking on the 'A' of 'Acid3'.
That's not super helpful, for example 25 just says "wrong exception". The original commenter seemed to know exactly why these 3 specific tests were failing, I'm also curious what specific specs changed that are no longer true.