There is a lot of talk at the moment about the best way forward to control the presentation of pages. CSS3 could still be a long time in the making and designers are itching for new ways to take control of their presentation due to the shortfalls of CSS2.
An increasing amount of designers are turning to JavaScript and the likes of jQuery for the answer. Don’t get me wrong I think jQuery is an incredibly powerful tool but these options all have one major flaw; HTML and CSS are not blocked by users but JavaScript is blocked by an ever increasing number of people. JavaScript should be about user behaviour and the presentation should be left in the safer hands of CSS.
FireFox is up to roughly 20% of the market and rising quite fast. NoScript is one of the most downloaded add-ons for a browser ever. I am one of those who have been using NoScript for its safety for a number of years. My problem is an increasing amount of sites are broken or un-navigational because the presentation, or even worse the navigation, have been created in JavaScript with no thought to the impact of the users with JavaScript turned off. Yes they should know better and yes it is usually easy to create the alternatives but the simple truth is by giving JavaScript more control over the presentation CSS should be doing it is causing more and more issues.
Most problems could be solved by allowing CSS to handle some variables and math formulas and maybe even modify DOM. With the use of basic math you could have an amazing amount of control over presentation without the worry of the browser not rendering your fine work.
The CSS work group seem to be saying that CSS is meant to be simple so DOM manipulation and maths should not factor into it. This I find weird when we have pseudo-classes like :nth-child in CSS3 which you can give a formula like :nth-child(3n+1) – The syntax is :nth-child(an+b), where you replace a and b by numbers of your choice. For instance, :nth-child(3n+1) selects the 1st, 4th, 7th etc. child. So there you go, no maths for CSS3… hmm…
We are currently in a state of flux and it is one that worries me because we seem to be on the precipice of a change in the wrong direction. I would like more control over the presentation but I would like it controlled by the languages that should be handling them. We should not run of the risk of the presentation being further blocked or require even more degrading op top of the CSS degrading for older browsers. Do we really want to start going down a route where we are degrading the CSS for older browsers and then degrading the JS for those with JS turned off?
Network with Simon on LinkedIn ~ Twitter ~ Facebook ~ freelancer homepage.