Safari Passes the Acid2 Test
TigerX writes "The Mac web browser Safari has become the first browser to pass the Acid2 test. Acid2 is a CSS/HTML test suite put out by the Web Standards Project (WASP). Developer David Hyatt had been working on the project for the past few weeks. Details can be found at his blog. The patched Safari is not yet avaliable for public consumption. It is unknown when the patches will appear in a public version of Safari."
unlike slashdot
*ducks*
No Norm, those are your safety glasses; I'll wear my own thanks...
Which does point out the problem with tests like Acid2, which really don't resemble any code in the wild that anyone has ever used. What you end up with is browsers that are brilliant at rendering completely pathological corner cases, but only at the cost of changing some other well-thought-out-but-not-standardised. behaviour.
Now, I admit that this is purely hypothetical, but surely a better guide to browser usability is how well it renders the morass of dodgy XML/HTML that gets sent to it every single day.
Optimise for corner cases, and it possible that all you'll get are really well rendered corner cases.
Athletic Scholarships to universities make as much sense as academic scholarships to sports teams.
No, the test was designed to use code that many developers would use and many would use incorrectly. There are details on how a browser should handle bad code - and most fall short of the standards. That's one of the reasons why you have browser "hacks" and why many developers end up with bad habits.
In other words, don't be so forgiving with bad code. It hurts the world of web development when bad code becomes a de facto "standard."
From the Acid2 site:
Acid2 is a test page for web browsers published by The Web Standards Project (WaSP). It has been written to help browser vendors make sure their products correctly support features that web designers would like to use. These features are part of existing standards but haven't been interoperably supported by major browsers. Acid2 tries to change this by challenging browsers to render Acid2 correctly before shipping.
Acid2 is a complex web page. It uses features that are not in common use yet, because of lack of support, and it crams many tests into one page. The aim has been to make it simple for developers and users to check if a browser passes the test. If it does, the smiley face on the left will appear. If something is wrong, the face will be distorted and/or shown partly in red.
The purpose of this document is to explain how Acid2 works. The markup behind Acid2 is peculiar in that it attempts, on one single page, to test many different features. We do not envision or recommend that normal Web pages should be written this way, but it is appropriate for a test page. At first sight, the source code is hard to understand, but the guided tour offered in this document will explain it in some detail. The guide assumes a technical understanding of HTML, CSS and PNG.
The test was designed to check the browser implementations of the newer CSS standards. ,all-be-it and extremly complex example of which made to test the browsers and how well they implement the standard. ,khtml being the thing on which webcore is based)
Basicaly the point being not in obscure code , but in rendering normal code properly
Web designers/developers will use the code when it is avaliable in their arsenal.
As of now , the newest version of webcore is the only rendering engine that can do it so congratulations to apple(and ofcourse the khtml team
The only things certain in war are Propaganda and Death. You can never be sure which is which though
The term "acid test" dates back to the freaking gold rush days when they would use nitric acid to test for gold.
It was just some schmoe who put together a patch for Safari.
Yes, the same "schmoe" who happens to be the development lead for the Safari project. Seeing as how he works for Apple, it would most certainly be Apple who did this.
I'll turn into a supernova and burn up everything. Well I'll turn into a black little hole and you'll turn into string.
Apple (specifically, Dave Hyatt) did all the work related to this specific subtopic of "browser development". KDE can have the glory for writing a world-class web rendering engine from scratch, but within the scope of this article it's all Hyatt.
I don't know which Opera you use but mine doesn't render the test correctly: http://www.hli.be/media/acid2opera8.PNG
Ahh grasshopper, you are learning the zen of microsoft.
If an O/S works in the forest but no one is around to see, will it still crash for Bill?
Transparent PNGs -- The eyes are encoded as transparent PNGs.
The object element -- The eyes of the face are attached to an object element. Being able to use object (which can have alternative content) is one of the oldest requests from web designers.
Absolute, relative and fixed positioning -- Being able to position elements accurately is important for advanced page layouts.
Box model -- The original Acid test focused on the CSS box model. Acid2 continues in this fine tradition by testing 'height', 'width', 'max-width', 'min-width', 'max-height' and 'min-height'.
CSS tables -- There is nothing wrong with table layouts. It is a powerful layout model which makes sense on bigger screens. However, the table markup is troublesome as it ties the content to these screens. Therefore, being able to specify table layouts in CSS is important.
Margins -- CSS defines accurate algorithms for how margins around elements should be calculated.
Generated content -- The ability to add decorations and annotations to Web pages without modifying the markup has long been requested by authors.
CSS parsing -- Acid2 includes a number of illegal CSS statements that should be ignored by a compliant browser.
Paint order -- We test that overlapping content is painted in the right order. This is not a feature in itself, but a requirement for other features to work correctly.
Line heights -- The Acid2 test checks a few key parts of the CSS inline box model, upon which any standards-compliant Web page depends.
Hovering effects -- One of the elements in the face changes color when you hover over it. Which one?
It won't, Mozilla devs are far behind schedule and have quite a lot of important bugs to fix with Gecko 1.8 (rendering engine for Firefox 1.1).
Sadly, Acid2 won't be high priority before Gecko 1.9, which means that firefox won't be fully CSS2 compliant before at least version 1.2.
"The way we can tell it's C# instead of Haskell is because it's nine lines instead of two." -- wadler
No, they won't. Why don't you read what the KDE developers themselves found before assuming that Apple, a publically traded corporation not exactly known for its humility and openness, is working hand in hand with the original authors?
Acid2 isn't meant to be valid.
CSS parsers are designed to degrade when they come across things they don't recognise; that's what it's testing.
"Elmo knows where you live!" - The Simpsons
Nope, not quite. You can't compile Safari, but you can compile WebKit, which is Safari's rendering engine. Drop in the new WebKit, and Safari has those changes. :)
- oZ
// i am here.
Quite apart from the merits of the Acid2 test, its use of rendering a smiley face both (a) to be the test itself and (b) to show the quality of the test result ... is clever!
Most tests create an abstract "score" such as "85% compliant" which can be rendered by a graphic, such as a pie chart, but which is fundamentally different from the test itself. This abstraction process is extra work both for the researcher and for the reader. There is also the danger that it can be misleading. Edward Tufte has written on this at length in "Visual Explanations" and other books.
To put the test & the results together in a meaningful, intuitive package, as Acid2 seems to have done, is just great!
--- Attorneys Assisting Citizen-Soldiers & Families -
Had you bothered to read the blog, you'd have seen that he already published the patches there:
5 _04.html#008042
http://weblogs.mozillazine.org/hyatt/archives/200
Check out DRM-free movies at http://www.bside.com
Apple feeds their improvements back to KHTML after the Safari version they appear in is public.
Although it doesn't seem to be very useful.
> Will the patches appear in Konqueror (KHTML)?
Zack Rusin just blogged about this.
From his latest blog entry:
"Do you have any idea how hard it is to be merging between two totally different trees when one of them doesn't have any history? That's the situation KDE is in. We created the khtml-cvs list for Apple, they got CVS accounts for KDE CVS. What did we get? We get periodical code bombs in the form of them releasing WebCore. Many of us wanted to even sign NDA's with Apple to at least get access to the history of their internal vcs and be able to be merging the changes incrementally, the way they can right now. Nothing came out of it. They do the very, very minimum required by LGPL."
Go read the whole post. Very informative, and kind of sad.
The roots of education are bitter, but the fruit is sweet.
--Aristotle