"one for all" is definitely possible - the Browsers
A couple of weeks ago I wrote an article questioning whether it would be possible to create a single template that handles the vast majority of browsers and allows Data Collection to deliver the best experience each browser can deliver (read Is “one for all” even possible).
I am pleased to announce, after a number of weeks of hard work that the answer is “YES”.
So what has happened over the last few weeks that allowed me to come to this answer?
The steps so far
I have not yet reached the end of my journey, however, I thought it might be a good idea to allow you to catch up. I have started/completed a number of tasks including:
- A review of different browsers on the market (or previously on the market) identifying the capabilities they provide
- Locate and install a number of browsers and emulators into a Test environment
- Build a small Data collection survey to allow testing
- Start building a solution
Browsers
I started with the currently installable browsers (Internet Explorer, Firefox, Opera, Safari, Chrome) Then I tried older versions of IE. Lastly I obtained some emulators (Blackberry, Sony Ericsson, Nokia), finally I installed a copy of aDesigner for testing JAWS screen reader compatibility.
aDesigner an aSide
If you have not encountered aDesigner before and you are seriously interested in web accessibility you need to look at it now (aDesigner is available here). aDesigner was built by IBM but it has been donated to the Accessibility Tools Framework (ACTF). Not only does aDesigner provide clear information about the general level of accessibility of a website (based on its markup) it will also render the website from the perspective of “low vision“ showing how those with poor eyesight will see the site. Furthermore, if that was not enough, in addition to testing websites it can also test ODF (Open Document Format) files, Flash content and general GUI accessibility of any application.
3 Classifications of Browsers
Having reviewed a multitude of browser capabilities I ended up with three simple classficiations. These are based on the capabilities of the browser and will affect the way in which the template will be designed. The basis of the categorisation is the fact that there are, currently, primarily, two platforms that have to be handled:
- Desktop Browsers (PC, Mac and others)
- Mobile Browsers (smartphone, basic phone, portable devices)
Against these two basic platforms there are a number of capabilities that may or may not be used:
- HTML
- CSS
- HTML 5
- CSS 3
- JavaScript
All of the browsers support HTML although some only have limited support of CSS. Only a few have support for HTML 5 and CSS 3 (as I wrote this Microsoft announced that this list will expand to include IE 9 – review by the Register.com). Lastly there is JavaScript. This is more complex as browsers that naturally support JavaScript can be “crippled” by corporations that disable its use. The following graphic shows how these different elements interplay with each other.
From this I defined three classifications of Browser as follows:
Basic Browsers OpenWare browser, Basic (old) Mobile browsers, very early versions of IE and Netscape (Full HTML coverage, limited CSS coverage, little or no JavaScript coverage)
Simple Browsers IE, Netscape, RIM, Nokia browser (Full HTML/CSS coverage, no HTML 5/CSS 3 coverage, some JavaScript Coverage)
Rich Browsers Chrome, Firefox, Safari, Sony Ericsson (Full HTML/CSS and HTML 5/CSS 3 coverage, Full JavaScript Coverage)


