Opera 9.0 Fully Passes ACID2 Test
Rytis writes "Opera has just become the second browser after Safari to be able to pass completely the famous ACID2 test. Mark Wilton-Jones is running a little article on the history of the Opera and ACID tests. Of course, it includes a screenshot of Opera 9 showing the nice happy face saying "Hello world!"."
Actually, Konqueror passed second. Some might say this is less of an achievment since the fixes that allowed Safari to pass could be more easily ported into the Konqueror codebase, but I still think the OSS project that passed Acid2 first should probably get more respect on /. ;)
Info here.
Great that they pass the ACID test, but the real-world is just not perfect or by-the-book. They need to be able to handle what really happens, too. Example, my workplace Exchange web interface- Safari misses parts of the page, FireFox renders it fine. ACID test or no, I like the one that works in all situations.
What's more interesting, will it pass ACID3? It's easy to tweak the engine untill it passes a single known test. Historicaly, Opera had (and still has?) problems with both JavaScript and CSS. I must admit though, that the rendering in Opera 8 (pre ACID2) is much better than Mozilla's.
FTA:
... overflow: hidden; /* hides scrollbars on viewport, see 11.1.1:3 */ ... }"
"Konqueror and iCab almost pass (and claim to pass), but they both fail to apply one of the styles required by the test, and as a result they display a scrollbar even though they shouldn't (the Acid 2 guide neglects to mention this style, but see the source code for the test itself):
html {
"Max, come over here. French-Canadian bean soup. I want to pay. Let them leave me alone." - Dutch Schultz
Two sides to this: (1) conformance for developers (makes our lives easier) (2) compatibility for consumers (they don't care about making our lives easier)
--
graphicallyspeaking
graphically speaking
A big well done to the Opera team. Safari passed the test in November last year, and hopefully Firefox will pass soon as well. Increased standards compliace is a Good Thing(tm) for users and webmasters alike. If the minority browsers continue to push standards (which the tech-savvy webmasters follow) it will push IE into improving its own rendering engine. Although even their unreleased version seems to be a bit behind the times...
From TFA: It is somewhat worrying that IE 6 renders Acid 2 very similarly to Opera 3.6, and the hyped IE 7 renders it very similarly to Opera 4.
'Somewhat worrying' indeed. I know people (of the pretty-damn-computer-literate variety) that won't switch from IE6 because it "works fine for them". I'm sure they know about the vulnerabilities [now that Symantec says so, it must be official!], the rendering issues and speed*, but they are sticking to their guns. So the only way people like this will have their experience enhanced is by teams like Mozilla and Opera pushing the browser envelope and hoping IE take interest. Either that or some X factor that makes the alternative browser a 'killer app', rather than IE, which is an app killer. (I couldn't resist, sorry!)
Well done again to Opera. Webmasters everywhere are silently saying a big 'thank you'.
*Note: I am aware that some will say that IE 6 loads quicker/renders quicker than FF. I have found the two of comparable speed for light pages, and FF slightly faster for 'heavier' pages. Opera is faster than both of them. Draw your own conclusions, and install all three (or two if your run a non-Windows OS). I found an old demo disc with IE 3 recently, and will be trying that out.
If all you have is a grenade, pretty soon every problem looks like a foxhole -- MightyYar
... they show IE screenshots, but don't show how close/far away Netscape and Mozilla and Firefox are from passing.
Firefox is good. The plugins extend the browser hugely.
But I'm happy with Opera, be it for the faster responce I get on the same machine as I have Firefox installed on, the ability not to search for plug ins for whatever feature I need, 'it just works'
I just find Opera is faster at implementing standards, is more reliable with IE geared sites (don't like the fact, but I have to be pragmatic and deal with it as promoting interoperability is not what pays my bills), is more innovative (has important new features first and has them 'out of the box') and makes a good testing ground for my projects, and is all together very nice. And now it's free (as in beer).
Firefox is good. Opera is good too. Different priorities for different users, I don't have access to source code or the ability to contribute in the same way, but for me I'm fine with that. Both are far superior to IE's features, security and map for an interoperable internet in the future. Nuff said.
If you have RTA, you would know that Konqueror claims to pass, however it fails to aply a final style-sheet.
I am happy to see that Internet Explorer 7 passes the ACID2 test somewhat better now. It is actually possible to see the resemblance of a happy face now. Good job, Microsoft!
Full Tilt
Opera has just become the second browser after Safari...
Second browser after Safari? Which was the first after Safari to do it? Oh, you mean the second browser, after Safari...It's amazing what commas can do. Learn to use them.
This guy's the limit!
According to WaSP (the people who wrote the Acid2 test), Safari passed first, followed by iCab and Konqueror. and Safari was the first browser to have a public release that rendered it.
That makes Opera the 4th browser to render Acid2 correctly.
This page has a bit of info on it, http://dean.edwards.name/weblog/2005/04/acid2-sp/
RTFA and you'll see this. "Opera 9 (get the weekly build) now passes the Acid 2 test, making it the second browser to do so. And yes, I can count. Safari passed first, and Opera is second. Konqueror and iCab almost pass (and claim to pass), but they both fail to apply one of the styles required by the test..."
Is that a coincidence?
Take the ACID2 test...
Example, my workplace Exchange web interface- Safari misses parts of the page, FireFox renders it fine. ACID test or no, I like the one that works in all situations.
There are a lot of crappy pages out there. If a page doesn't make it through the HTML validator why should anyone expect a browser to render it? Are your pages at work valid? What's the point of standards-compliant rendering engines if they all allow exceptions to the standard to be rendered?
A lot of times Safari won't render big chunks of web pages because of malformed markup. Dave Hyatt (rightly, I believe) doesn't want to spend lots of coding effort dealing with error recovery when parsing sloppy web pages. Browsers like MSIE and Netscape (pre-Mozilla) are too permissive and have allowed people to get away with downright bad HTML.
That said, the Safari Compatibility Hit List was recently created, to either fix Safari compatibility problems or to encourage sites to fix their markup.
Can opera handle third party cookies properly yet? A little more important than styles rendering in my opinion.
It also makes Opera the first publicly available web browser that renders the Acid2 page correctly under the Microsoft Windows operating system. This is important if you don't want to have to re-buy your PC (in switching to Mac OS X, which runs only on Apple hardware) or your peripherals (in switching to Linux, where SANE still doesn't support my flatbed scanner). Or is Konqueror for Cygwin/X considered stable yet?
Firefox comes pretty close to passing the test, but not quite. Its performance falls somewhere between Opera 7.5 and 8.0, but sadly I haven't the means to post my own screenshot. However, curious users can go ahead and take the test themselves right here: http://webstandards.org/act/acid2/test.html
Also, It would appear that Opera 9 has just one thing wrong - the nose. It's not supposed to be blue, it's supposed to be black, as per the sample rendering here: http://webstandards.org/act/acid2/reference.html
Mark Wilton-Jones is running a little article on the history of the Opera and ACID test
;-)
There's a more useful history about it here (in reverse chronological order), describing what exactly the standard compliance problems were, and how they fixed them, starting with Opera 8.00.
And go to the Opera Desktop Team blog to download the actual build that works with this. However, note that this build should be treated like a Firefox nightly, and there may be some pretty serious rendering regressions, doing currently more damage to the layout engine than good from following the Acid2 test.
Beware: In C++, your friends can see your privates!
i know a guy who passed the acid test back in college... twice!
In a discussion about the Acid2 test, you claim that Safari isn't free software:
But the frontend code isn't very relevant to this discussion. Safari passes Acid2 if and only if WebKit passes Acid2. Or do you claim that Apple maintains a private WebKit tree with patches that don't get released to the public and that one or more of the private patches is required for WebKit to pass Acid2?It's the :hover event. If you hover the nose with the mouse, the nose turns blue.
The nose changes color when you mouseover it. Even in the mess that is Firefox's rendering of the page hovering your mouse over the face causes the nose to change colour from black to blue.
I guess that's something they really should specify in the reference diagram, but it's still a pass for Opera 9.
Animated gif illustrating the rollover effect.
Only in the corporate world [does the dollar matter above all].
For one thing, browser developers need to eat.
More importantly, the corporate world pulls the strings of the government in too many highly developed countries. If Microsoft gets to a certain level of power over the United States government, then Microsoft could make a new "security" (that is, anti-fair-use) feature attractive to publishers in the next version of IE, make the feature exclusive using patent law, anti-circumvention law, or something else, and then con Congress into requiring that feature in web browsers distributed to the public. Remember the proposed CBDTPA and Microsoft's application for a patent on operating system support for the "trusted" computing that would have been required under the CBDTPA?
Since you don't know how to google, you can download the source like this:n k WebKit
svn checkout svn://anonsvn.opensource.apple.com/svn/webkit/tru
you can also grab the latest nightly build of Safari here: http://nightly.webkit.org/
(look at the icon and download it if you don't believe me)
http://webkit.opendarwin.org/ has more info.
The war with islam is a war on the beast
The war on terror is a war for peace
So the test is verifying conformance not only with treatment of valid CSS, but also correct treatment of invalid CSS, which is very important given that a significant part of compatibility problems between current web-browsers is caused by different behavior in the face of errors - whether they ignore it, stop parsing, try to render it anyway etc.
Then maybe you should stop making websites, because people like you are the problem.
They're "only a guideline" in that the FBI won't knock on your door if you don't follow the standards. And oh yeah, a lot of browsers will accept your sloppy coding and "render it fine." However, if you want a world where all browsers render all content in the same way, that can't be accomplished by the developing team of any browser. That can only be accomplished by developing and following standards. So, you blame the browser when they don't follow them, and you blame the web developer when he doesn't follow them.
I'm fine with browsers who want to go the extra mile and have non-standard code render correctly, as long as they don't sacrifice proper rendering of the standard code to do it. That doesn't excuse you coding incorrectly, though.
Warning: Opinions known to be heavily biased.
awww, lynx doesn't pass the test :(
I'm not a programmer by any means, and I hardly know anything about html, which is why i'm asking this question I guess. Why is it so hard to make a browser that is compliant to standards? And is there an advantage to making a browser that doesn't comply? I've always wondered this.
ACID2 has nothing to do with w3c standards. ACID2 is a test of "proper behavior" when the CSS is completely invalid. It's "important" since most web lackeys can't write correct code... so browsers need a way to display improper code in a "proper" way -- that's what ACID2 is about.
Personally, I think the correct rendering of the ACID2 test is a blank page, or maybe an error message that says something like, "This is not a web page."
My other car is first.
"If you write a letter in badly broken English, do you expect others to be able to read it and fully comprehend it?"
A lot of people actually DO expect that.
> It has absolutely nothing to do with testing broken css rendering at all.
h ttp%3A%2F%2Fwww.webstandards.org%2Fact%2Facid2%2Ft est.html%23top&usermedium=all
From the ACID2 site: "Note: some 827 people (rough estimate, contents may have settled during shipping) have written to point out that the CSS used in the test is invalid. This is deliberate, as a means of exposing the ability of user agents to handle invalid CSS properly."
Sorry, handling broken CSS properly is not using the stylesheet. Anything else is gravy.
Anyway, try the CSS validator yourself. ACID2 ain't valid CSS:
http://jigsaw.w3.org/css-validator/validator?uri=
My other car is first.
I just came form the CeBit, where dozens of proud Microsoft representants were showing Windwows Vista, Office 2007 and of course the IE 7 ("We've got these 'tabs' now!" - yes, they said that).
I convinced one of them to open the ACID2 test in the IE7 (Google was blocked and he told me to use MSN Search, but I fired up Seekport). It was the worst rendering of the ACID2 I've ever seen. The entire screen was red, except for a few lines and dots here and there, and scrollbar in the nothing way over to the right.
Of course, the Microsoftie was quick to say, it's all only beta...
Well, it's great that you do all that work to consider your visitors. What I was referring to was your comment that following standards isn't really that important, it's just a guideline. That train of thought is part of the problem.
Think of a world where every browser renders everything in the standard correctly. Suddenly, your job is easier. In order to make sure that your web page renders correctly for the visitors using IE, Firefox, Safari, Opera, Konqueror, whatever, you don't need to actually test it with each one of those browsers. You just need to make sure your site follows the standards, and the rest "just works". If you skip out on things because "they're dumb," well, you may think you're right, but why do you expect browser developers to share your opinion?
You'll see 12 ridiculous errorsDepends on your definition of ridiculous. You wouldn't expect c code that doesn't have syntax exactly right to compile, so why do you expect html syntax that isn't exactly right to render correctly?
from things like > characters whose position it disagrees with
I didn't find that. I found error #3. It's not complaining about the position of the character, it's complaining that you placed that tag inside your unordered list, but not within a list item tag. I checked the source code and you have:
<ul id="utabs">
<a href="?page1"><<</a>
If it's part of the unordered list, it should be inside a <li> tag. If you don't want for that to appear the same as the other list items, you should give it a class attribute and handle it in your css (there are other correct ways of handling it too, if you don't like that for some reason).
That and a childish remark about my html tag which was funny for the 1.3 seconds I spent writing the top line...
It wasn't your remark that it complained about. It complained about your type. That's not how you specify 4.01. From a W3C page, there's this example, using SGML to do what you want (for strict 4.01).:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
Heck...you should be fine just skipping that altogether. Close your html tag, and don't put the type thing.
errors that don't tell me anything useful or constructive at all
The validator doesn't tell you how to fix it, just that it found something wrong. However,
a wikipedia url I pasted, which the validator decided to parse and rate
For that error, the validator told you exactly what was wrong...in bold. "The most common cause of this error is unencoded ampersands in URLs". I've actually noticed that in other places in your html code for that page, stuff that I expected the validator to complain about, but it didn't.
In html, if you want to have a "<" or ">" that is not part of a tag, you use a code. you type in "<" for < and ">" for >. If you want to type "&", you type "&" Replace the & in that url, and it'll pass. You should replace the <'s I mentioned in error #3 with the correct codes too, even if the validator doesn't complain about it.
I'm not trying to be a bastard about it. I hope my comments help you understand the validator better, and see that it's not so useless as you've come to believe. It's great that you've been putting effort to make sure your visitors get the best experience they can on your site, and I hope you'll keep doing so.
Warning: Opinions known to be heavily biased.
Well done for Opera passing the ACID2 test, although it's no longer a useful test for browser standards adherance. The best test was how versions of each browser released BEFORE the ACID2 test rendered it, so this race for "ACID2 Adherence" is useless. Who passes first isn't important, as they're only fixing a tiny subset of the entire standard. It no longer shows who is more standards compliant.
as an analogy, if you surveyed 100 employees of Google and found they were being paid less than 100 employees of Microsoft, and Google countered by giving those 100 employees a raise, it wouldn't change the original issue. The ACID2 test is simply a "survey" of web standards.
being vague is almost as cool as doing that other thing...
Once we include the fact that the CSS standard explicitly includes specs for handling invalid CSS we're on to something... Yes the CSS is invalid, but the w3c states how to handle it in those cases, displaying anything else is not according to spec.
It's just such a complex problem to tuckle that it seems to me (as a sideline spectactor) to be stupid to block the entire Firefox train just for it. They are working on it.
Then why in hell do you expect it out of a rendering engine???
Several reasons.
First of all, it's very hard to write a language that's powerful enough to be useful for interesting real-world problems, but still strict enough to make 'well formed' versus 'badly formed' a simple binary decision. Second, and more important, a language spec not only contains a syntax definition -- the rules that say how statements should be written -- it also defines the semantics of the language: the rules that say what a given statement means.
Take C's famous:
x = 3;
x = x++ * x--;
for instance. It's well-formed code, but the semantics are undefined. Officially, x can contain any value after that snippet executes, and it can legally contain a different value every time the snippet executes. BNF (the language used to write syntax defnitions) isn't powerful enough to define that as a syntax error while leaving "x = y++ * z--;" alone, because BNF doesn't have any way to identify specific variables. OTOH, mandating a specific result in the semantic definition imposes all sorts of subtle order-of-execution constraints, which create all sorts of problems for any programmer who wants to write a compiler.
In the world of HTML semantics, there was the big "is a paragraph a container, or just something that sits between blocks of text (like a break)?" debate back in the mid-90s. Choosing the 'container' option made CSS possible, but it broke the (then) standard rule that <P> was semantically equal to <BR><BR>.
On top of that, HTML is a structural language, not a layout language. There's no universal 'standard' that says the bullet points in a list have to be indented, or that paragraphs should have a blank line between them. Those are formatting conventions that graphical rendering engines have more or less agreed upon, but which aural web browsers (for instance) can't render at all.
Bottom line, an HTML document is not and was never intended to be handcuffed to one specific page rendering. There are an infinite number of equally valid renderings for any HTML document, so declaring one 'right' and another 'wrong' is a tricky business indeed. Plus, there are about ten different, legal, W3C-approved versions of HTML, based on at least three different syntactic and/or semantic models. <P>text</P> is valid HTML-3.2, for instance, but invalid XHTML-anything, because in XHTML, all tag identifiers MUST be lowercase.
Under those conditions, a browser that chokes on pages that don't conform to one specific set of syntax rules, one specific semantic model, and one specific set of rendering conventions would be roughly useless.
Only a few parts are missing: https://bugzilla.mozilla.org/show_bug.cgi?id=acid2
Firefox 2.0 should render it perfectly.
On the contrary. In HTML, error handling is not defined at all. So different browsers do different things when you, say, forget to close your opened H1 elements or forget to put a TR element around you table cells. As such code will get written, and is put on the web when it looks OK in the current market leader, all other browsers have to reverse engineer the error handling in the dominant browsers of all possible errors.
If instead the HTML spec would have clearly explained what should happen when elements appear in places where they shouldn't appear, this problem would hardly exist. This lesson was learned by the CSS spec writers (they tell exactly how to parse the CSS file, whatever you put in it) and the XML spec writers (they tell to show a big honking error message whenever something is wrong with the file).
If you don't like having choices made for you, you should start making your own. - Neal Stephenson