Forum Moderators: open
At the end of the day you should look at stats from your area to determine which browsers are still in common use. If your projected audience is 'hardcore' computer users who are more likely to upgrade then you can probably get away with dropping IE5. On the other hand...
Throughout the process, Lynx is consulted on any html changes, and everything is constantly checked without images or scripting.
Before the Opera fans go off on me, it's just not stable enough to use as a testbed. Support for various css properties changes from build to build. A property will work one way in v.6, differently in v.7, back again in v.8 and different, still, in v.8.5. That's not good enough for development work.
cheers,
gary
IE 6.x, 7 beta
Firefox 1.x
Opera 8.x
Netscape 7,x, 8,x
I'd rather help the cause asking users to move forward to newer releases. IE 5.x I'd rather not support any longer.
Firefox
Opera
IE6
As for beta testers, their using betas, if websites don't look right, they know why.
To test in all three use Firefox with "IE View" and "Opera View" extensions, saves a lot of time.
As for the rest of the browsers, just make sure you run your pages through the W3C validator and you shouldn't have to many problems. At this point your time would be better spent creating content than testing in obscure browsers.
There are various rendering engines, but in general you'll want to test with Gecko, KHTML, Presto, and Trident.
I use Firefox for Gecko.
Can't get any decent access to Safari browser for KHTML.
Opera (of course) for Presto.
Internet Explorer (of course) for Trident.
IE6 is not too different from IE5 but if you're running a business with a lot of traffic and a decent share of people using legacy browsers or older versions of legacy browsers like IE you'll want to test them out as well.
For fun I sometimes test my site with Opera as far back as 2.12 but (being serious again) if you get it working 7+ you should be good to go.
The Gecko rendering engine is usually pretty good (Gecko and Presto are hard to compare in many cases if you're trying to tell which is better). You should design for the latest version of Gecko as people are very good about updating their browsers. You will want to test for bugs on your site with Gecko 1.7 though unless you're willing to bend over backwards with a bit of serverside UA conditional code it's not really worth it.
The KHTML is ~NOT~ like Gecko and that will even throw off a lot of serverside coding. It has a lot of bugs and should be your second concern after Internet Explorer about screwups. While I don't hear much complaining about it I've found KHTML to not support lots of things (that even Trident does) but it's still years ahead of Trident right now.
When you are testing your site which browsers you first and which browser you lastly check with will depend on the same factors.
Is your site personal and you're trying to learn good coding practices or are you getting paid and trying to maximize usability on legacy browsers?
If you're trying to code correctly test with both Gecko and Presto at the same time. As long as your code validates and you're decent at coding you should not have to worry about much.
If you can test with KHTML rendering engine then it would be the time to do so as your third browser.
IE is a synch to clean up (and you WILL have to clean it up). Throw in some conditional comments that link a stylesheet (IECCSS - Internet Explorer Conditional Comments Style Sheet) and adjust IE's rendering until it matches the other engines. Keep in mind you can detect any specific version of IE so you could (if you really wanted to) have an IECCSS for every single minor version of IE ever to ensure they all work and simultaneously ensure your fixes for IE 5.0 (if say you cared about that version) would not effect 5.5 or 6.0.
If you're working for someone you'll want to do a quick validation and quickly work within Firefox. You'd then switch over to IE once your layout is complete and edit your IECCSS. You'd probably be much more restricted in time so you'd have to assume KHTML and Presto will hold their own (and in most instances they will) as IE and Firefox have the greatest shares of the market.
John
Perhaps another thought to throw in is whether your audience will all be using Desktops. Do you want your web page to give a satisfactory viewing experience in a PDA? A Palm TX has a 320 x 480 resolution: do you want to give its users a good web page experience. If the world picks up the Microsoft Origami project, when it comes out, does that suggest you should be catering to the 800 x 480 resolution crowd.
Some examples,
"<hx>" tags looks different in FF1.5 compared to IE6 and Opera8.x with a defined "text-size". FF1.5 gives some extra padding that the other two don't. By defining a "line-height" that is slightly larger than the "text-size" you can make sure the text looks the same in all your browsers. "text-size" is a gray area. This leaves the browser programmer to decide how large the container for the text should be. Don't leave the decision up to some programmer, define the container size yourself.
If your going to use padding, do it inside an area with a defined width or height.
wrong -> <div style="width:100px;padding-left:10px">text</div>
right -> <div style="width:100px"><div style="padding-left:10px">text</div></div>
IE6 will pad the 100px container 10px to the left.
Opera and FF will pad 10px left inside the 100px container.
You can see how the "wrong" example isn't specific. It says to create a container and add padding. It doesn't say whether to pad inside or outside the created container. This means that where the padding is applied is left up to the people who coded the browser. The "right" example leaves no doubt that the padding belongs inside the container.
Throughout the process, Lynx is consulted on any html changes, and everything is constantly checked without images or scripting.
Most of the suggestions here have omitted Lynx, and that's a shame.
Testing against Lynx is a good sanity check. What will search engines see? What will disabled persons, or tools used by disabled persons see? Is your site reasonably coherent and navigable with a text-only browser, or is a jumbled, incomprehensible mess? Or worse, nothing at all?
[webmasterworld.com...]
If you have this knowledge under your belt, you will have many fewer surprises as you test in the various browsers.
Also, I like to test in Opera's "small screen" mode to get an idea what the site might do on a PDA or advanced mobile phone.
Can't get any decent access to Safari browser for KHTML.
There are several free online Safari page testers [google.com], and even if you don't have access to a Mac, it's relatively simple to set up a dual-boot [google.com] linux/Windows system so you can test in another browser that uses the KHTML rendering engine [google.com].
The KHTML is ~NOT~ like Gecko and that will even throw off a lot of serverside coding.
Jab, this must not mean what it looks like it means. Server-side code is not executed in the client...
If your going to use padding, do it inside an area with a defined width or height.wrong -> <div style="width:100px;padding-left:10px">text</div>
right -> <div style="width:100px"><div style="padding-left:10px">text</div></div>IE6 will pad the 100px container 10px to the left.
Opera and FF will pad 10px left inside the 100px container.You can see how the "wrong" example isn't specific. It says to create a container and add padding. It doesn't say whether to pad inside or outside the created container. This means that where the padding is applied is left up to the people who coded the browser. The "right" example leaves no doubt that the padding belongs inside the container.
Hoo boy. Twist, this post is seriously misinformed. I don't want to take the thread too off-topic, but it might be useful to have a read through the css forum library [webmasterworld.com].
There are two things that can contribute to the problem you're describing:
For the first, the problem will absolutely disappear if you simply force your pages into standards mode by using a full doctype [google.com]. Once you do this, all modern browsers--except the IE 5 Win series--add padding and borders to the declared width of an element.
For the second, the CSS [w3.org], HTML [w3.org] and XHTML [w3.org] specs leave the amount of padding and margins on elements such as h1, p, ul, ol, li etc up to the user agent, so you're right there is built-in inconsistency in how elements are rendered. Fortunately, there is a very simple solution--
Simply add the following to the beginning of your stylesheet:
* { /* Set all padding and margins to zero! */ padding:0; margin:0; }
Then define the padding and margins for the various elements yourself. This takes a bit of time, but having done it once, you can re-use it as your default stylesheet on every subsequent project. This simple (though slightly tedious) task resolves about 90% + of non-quirks/standards rendering problems when testing.
This leads me to the comment I wanted to make in this thread--and to reiterate Twist's perfectly correct recommendation:
The best way to make sure your site is working cross browser is to learn what causes the browsers to have problems in the first place.
This is exactly right. The more rendering decisions you take out of the hands of user agents, the less testing you need to do. If:
...then the amount of testing you need to do in the first place will be surprisingly small.
-b
Which browsers should I use to test my Web pages?
You didn't mention what you want to test. Until now people have concentrated on visual appearance, but remember that many "readers" of websites are the search engine bots. Browsing your site with a text browser gives a good idea of your site through the eyes of a bot. You can use lynx, or elinks. The latter supports basic color and table rendering.
Before the Opera fans go off on me, it's just not stable enough to use as a testbed. Support for various css properties changes from build to build. A property will work one way in v.6, differently in v.7, back again in v.8 and different, still, in v.8.5. That's not good enough for development work.
well said, that's what made me stop everything but ultra basic opera support. For a browser with a real world market share approaching 0.5%, making developers spend that much effort just isn't acceptable.
I don't know the current status of KHTML versus applewebkit/safari, but I do know that khtml is now the first non-mac browser to pass acid2 css test. So I think a lot of the css engine was brought back into the konqueror/khtml project. So I'd guess testing on kde+konqueror will give you a reasonably accurate safari test, as long as you use kde 3.5 or greater.
My current attitude is if it works with ie 5, 5.5, and 6, including quirks fixes, and if it works on gecko and khtml, then any difference opera displays at that point is an opera problem, not my problem.
[edited by: 2by4 at 8:58 pm (utc) on Mar. 13, 2006]
Hoo boy. Twist, this post is seriously misinformed.
bedlam -
all modern browsers--except the IE 5 Win series--add padding and borders to the width of an element whether that element is explicitly declared or not.
So, what your saying is that,
<div style="width:100px"><div style="padding-left:10px">text</div></div>
would could stop potential cross-browser compatibility issues with IE5 and possibly others. This qualifies as seriously misinformed information?
bedlam -
padding and margins on elements such as h1, p, ul, ol, li etc up to the user agent, so you're right there is built-in inconsistency in how elements are rendered.
twist -
This leaves the browser programmer to decide how large the container for the text should be.
Seriously misinformed?
Since this is the second time recently I've seen you post pretty solid stuff in a thread and be jumped on, I'd trust your views if I were you, they work.
Normally I don't post in html etc, this one just caught my eye.
I chose to ignore whether it's 'correct' or not, and go for practicality.
Exactly. I'm not going to bother to memorize continually changing standards and how each evolving browser interprets them.
This can only be interpreted one way,
<div style="width:100px"><div style="padding-left:10px">text</div></div>
This has two possible interpretations,
<div style="width:100px;padding-left:10px">text</div>
I don't need the css handbook to tell me which one of the two I am going to use, common sense dictates that.
That's for commercial css, that's how I do it on almost all commercial sites, and let me tell you, when I load one of my sites for the first time in a browser I never tested them on, say Konqueror 3.5, and display is not just almost perfect, it's perfect, I have exactly zero doubts about the methods I use.
Opera would be the exception to that, but even then the stuff almost always works perfectly in opera too.
But I don't want to pull this thread off-topic, just wanted to point out that your methods are solid, whether talking about flash or css.
I'm looking forward to buy a Mac just to test pages with IE 5.x for Mac and the newer Safari browser.
Just remember IE 5.x for Mac uses a totally different engine than IE for the PC.
Firefox 1.0 & 1.5
(NB: Firefox is also my "Daily Driver" - So I have a bias to test it here first.)
IE 6
Opera 8.5
Konqueror, for a KHTML browser. Konqueror is the open source KHTML browser. If K don't bust your page, probably nothing will. Biggest problem here is you need a *nix box with KDE for it. Konqeuror kinda sucks, but it'll give you a rough idea of what Safari is doing without having to invest in a Mac. Find some random old beater box and install some *nix distro with KDE, or download Knoppix, burn it to CD, and run it "Live" without having to install it on anything.
As for Lynx:
Used to use it, and it IS good for looking at your pages and seeing what the search engines see, but I've dropped it recently in favor of Opera, which allows you to enter "Author Mode" and emulate a text browser. (And there are a number of options on how you emulate a text only browser, you can even remove tables).
For fun, Opera even has a mode that looks at the web like an 8 bit computer (40 columns 4ever!)
Opera annoys me on a number of levels, as a surfer, but it has a pretty fierce built in toolkit for development.
Currently:
IE 5.0, 5.5, 6.0
Firefox 1.5 (firefox has had such stable css support I stopped worrying about supporting older versions)
Quick look in Opera 8.5 and 9
Konqueror 3.5
Lynx, just because it's the original text mode browser. Why emulate when lynx yoursite.com is only a few keystrokes away?
Elinks and Links2, look cool, and execute javascript, some anyway.
w3m, my favorite, always interesting to see what the site looks like with w3m.
You'd be surprised what kinds of errors you see right away using text mode browsers, that's how I almost always check out an seo question, open the site in lynx, and there's all the spam, for all to see. w3m helps detect very subtle scripting and login errors that would not be apparent in gui browsers.
If I want to be really thorough, for a site with a non-tech savy demographic, or a site that attracts users of old macs, I'll test in netscape 4x too.
Fantabulous in checking out how your page looks on various computers, colors, and resolutions.