4 ms·
Nice article. Surprised it does not mention the acid tests https://www.acidtests.org/ https://www.acidtests.org/
by pablobaz 7y ago
Nice article. Surprised it does not mention the acid tests https://www.acidtests.org/ https://www.acidtests.org/
- rjknight 7y agoI'm surprised you didn't notice the acid tests being mentioned repeatedly from about half-way through the article!
- methyl 7y agoInterestingly enough, it seems my Chrome 80 on Safari does not fully pass neither ACID2 nor ACID3 test.
- Andrew_nenakhov 7y agoFirefox 72 had just failed them both :-\ Chrome 79 passed Acid2, but scored 97/100 in acid3, just like firefox.
- glandium 7y agoACID3 is impossible to score 100/100 while respecting modern standards: https://news.ycombinator.com/item?id=15256890 https://news.ycombinator.com/item?id=15256890 ACID2 looks fine to me in Firefox 72, but then, it doesn't show a score, so...
- gsnedders 7y agoAcid2 fails in a strict sense if 1 image pixel != 1 device pixel != 1 CSS pixel. For Acid3 there's http://wpt.live/acid/acid3/test.html http://wpt.live/acid/acid3/test.html which reflects what browsers are actually targetting (and is what runs in everyone's CI system): see https://github.com/web-platform-tests/wpt/commits/master/acid/acid3/test.html https://github.com/web-platform-tests/wpt/commits/master/aci... for the history.
- Andrew_nenakhov 7y agoI was running ACID2 on a retina display and it is very distorted around the eyes in Firefox. Chrome did render it ok.
- GlitchMr 7y agoAcid1 and Acid2 are kinda legacy. Acid1 is so old that IE6 passes it. Acid2 was mentioned in an article. Acid3 is kinda... controversial. Its tests were kinda nonsensical and hardly useful. Some of things it asked for (in particular about SVG fonts) were implemented minimally, just to pass the tests. A lot of Acid3 tests involved checking the error code for weird edge cases specifically, stuff like testing whether `document.createElementNS(null, "d:iv")` throws `NamespaceError` (browsers these days throw `InvalidCharacterError`). This isn't really useful for web developers, because actual websites won't test for edge cases like this. It's to the point where Servo (a web engine written in Rust) outright asks the user to report a bug in Servo if unpaired surrogates in DOM are used on a page that isn't Acid3. So far all the bug reports were for Acid3.
- tinus_hn 7y ago> A lot of Acid3 tests involved checking the error code for weird edge cases specifically If the browsers implement these specification details correctly you don’t have to have all these workarounds that make web development incredibly tedious and unpredictable. That’s the point. Of course it’s impossible to predict outright which things are going to be used and which things aren’t. Otherwise you could just not create a specification for the useless parts.
- GlitchMr 7y agoNot really. A lot of DOM tests involve try/catch, and checking whether the exceptions are precisely right. Web applications tend to not intentionally throw exceptions. Acid3 also tested some other things like SVG fonts. SVG fonts specification didn't make any sense, browsers were against implementing an under-defined specification not designed to interact with HTML and Acid3 test authors likely realized this, because a lot of tests were like: a web browser can do this or this or this, because we have no idea what the specification requires. You really don't want a standard like this in a web browser. Web browsers implemented bare minimum sufficient for Acid3, but literally nothing else. WOFF won over SVG fonts in the end as it was a better specification, but Acid3 insisted on SVG fonts. Case in point about issues with SVG fonts: what should `<iframe>` in an SVG font do? The specification won't tell you. Some other tests also feel weird. For instance, test 86 is literally checking whether `new Date().setMilliseconds()` returns `NaN`. I mean, that doesn't seem very useful to me, why would anyone pass no arguments to a setter intentionally? Official ECMAScript Conformance Test Suite would be a better place for this test. What I think is fine in Acid3 is CSS selector tests, the rest is honestly kinda pointless. I have the same issue with Acid2, the CSS tests in it were fine, but Acid2 test also decided to include an SGML comments test for who knows what reason. Web browser vendors were against this test, but had to support it anyway. SGML comment test broke real world web sites without providing any real value. Thankfully, this test is now gone from Acid2. I hope Acid4 won't happen or if it will, it will ONLY have CSS tests and won't test anything else. Although, it likely won't (thankfully) due to The Web Standards Project's closure.