MS Office is a great analogy. Users often add complex tables to Word documents which should have been created in Excel. Similarly, people will use Excel for some simple documents. While it may not be particular efficient or effective, it got the job done.

]]>By: itmiticăhttps://www.sitepoint.com/css3-vertical-accordion-using-target-selector/#comment-83403
Mon, 20 Feb 2012 17:16:43 +0000http://www.sitepoint.com/?p=51072#comment-83403… or maybe something like jQuery will become accessible enough so that scripting will be guiding proud and effortlessly every novice’s page, letting CSS be what it supposed to be :)

The way I see it, smarter scripting, not wrong and dizzy CSS, is what web needs. Web technologies aren’t mature yet exactly because javascript is used for CSS and CSS tries to do scripted jobs.

Every web technology involved, be it HTML, CSS or JavaScript, needs to recognize its proper place and do *that* job, better and better. If an operating system were to evolve like web does, we would be using PowerPoint for spreadsheet calculations, since it can be more easily manipulated into presentation.

]]>By: Craig Bucklerhttps://www.sitepoint.com/css3-vertical-accordion-using-target-selector/#comment-83402
Mon, 20 Feb 2012 16:16:24 +0000http://www.sitepoint.com/?p=51072#comment-83402Even basic HTML without CSS or JavaScript can effectively hide or show content simply by scrolling the page to the correct place. Admittedly, it’s not quite the same but there are other HTML features that could be considered programmatic, e.g. form reset buttons, file select dialogs, and many of the HTML5 form fields.

As the web evolves, we’re certain to have less reliance on scripting because regularly-required features will be implemented directly into HTML or CSS. Perhaps that’s not always progress, but I prefer that to the stagnation we experienced in the first half of the last decade.

My point is that there are many ways to do it, but just a few are the proper ones.

The difference I see here is the difference between how a link looks like and how a link acts like.

It’s not the animation I’m questioning here, it’s the fact that stuff is being manipulated, hidden, revealed by CSS.

When you make a click, and then actions such as hidden or reveal happen, that’s not presentation, that’s programatic behaviour to me.

Finally, I have nothing against making the web accessible to those that want to be part of it. But loose views on the way things are done are the ones that kept table layouts in play so many many years.

]]>By: Craig Bucklerhttps://www.sitepoint.com/css3-vertical-accordion-using-target-selector/#comment-83400
Sun, 19 Feb 2012 13:04:59 +0000http://www.sitepoint.com/?p=51072#comment-83400Why is it programmatic behavior? We can obviously argue ad-infinitum about that, but I don’t see any major differences between this and link hover/active states. Only the styling is changed; it’s not possible to implement CSS3 programmatic actions in such as stopping the animation part way through or reacting to other user actions.

Designers may abuse CSS3 but they’ll also abuse JavaScript (which is worse). There is no black and white distinction between content, presentation and behavior; the lines have always been blurred and developers won’t necessarily adopt the best choice.

You’re concerned novice developers can now implement effects which previously required good JavaScript coding skills. That’s always been the situation as IT and the web evolve. I used Java applets to implement rollover effects in the mid-90s — it was horrible, but I could have argued the same point you’re making today. I’m afraid Pandora’s box is already open; you may not consider it progress, but few people will continue to code JavaScript animations when better effects can be achieved with a line or two of CSS.

This part of CSS, 3 or whatever, helps substite the lack of javascript skills for some web developers.

Maybe you’re right, previously, the lack of serious CSS implementations lead to the use of javascript instead. However, now it’s not the time to turn tables and to abuse CSS the same way javascript was.

Before CSS3 came and started to “help” designers to quickly solve (in a wrong way) different needs, there was a time when CSS was about finally getting out of the tables layout zone and tackle the biggest issues CSS had from the start.

But now CSS solves programatic behaviour better than presentational issues and yet the basics are pretty much the same ancient solutions. And I mean layouts, box models etcetera.

]]>By: Craig Bucklerhttps://www.sitepoint.com/css3-vertical-accordion-using-target-selector/#comment-83398
Sun, 19 Feb 2012 10:42:18 +0000http://www.sitepoint.com/?p=51072#comment-83398As mentioned, the selectivizr shim IS JavaScript which allows this to work in IE6, 7 and 8. Besides, telling users to upgrade is no more ridiculous than telling them to enable JavaScript (admittedly, that affects fewer people, but some users can’t do it). And there’s nothing to stop you using this as a basis for further scripted enhancements so it works with and without scripting.

But why do you consider (presentational) animation to be “programmatic behavior”? If that’s the case, shouldn’t link hover effects also be scripted? The only reason animation’s been scripted until now is because there was no other alternative. That’s no longer the case and newer effects such as CSS3 transformations couldn’t easily be achieved using JavaScript anyway.

I can understand why you’re uncomfortable with it — I was too. But technologies and techniques change. There are situations when scripted animation will be required, e.g. canvas/SVG manipulation, intercepting incomplete animations, etc. But, for simple effects, CSS3 is far quicker to implement and will always run faster.

True… or false? Only amateur scripted versions would suffer from this, right? If you really want, you can implement that behavior.

One I don’t agree that is the right one, though. If I understand correctly, then you see as mandatory TOCs of fragments for each page. Where as now you rely on the occasional tabs or accordions for in-page forward/back navigation games.

CSS3: “I can do it now!” OK, CSS3, we believe you, but, are you better at it, or are you just the new kid on the block?

And I’m sure many-a-many other beautiful yet unusable and unreliable stuff can be made by CSS3. Yet the user (and the client) need not to hear or feel about you struggling, as a developer.

{
One thing that caught my attention: sending messages like “tell them to upgrade” to your visitors often borderlines ridicule ;)

How would you like if someone said: “I’m sorry, you need to upgrade your car to the newest spoilers to take that road” ?! How could vain stuff prevent my free traveling !? On the internet or otherwise ?!
}

A solutions is not a solution if it relies on the users being understanding to the “needs” a web developer has. Right?

So, once again, in the name of progressive enhancement done right, javascript is the tool for this. A few trendy unorthodox implementations in CSS3 will never be able to eliminate the need for a scripting language in web. So why bother? Trends like these will only be able to surface two headed monsters that can speak two ways but none is articulate enough to make sense completely.

Everyone and their mother should avoid aggressive-in-a-bad-way UXs Playing around so called new technologies (immature implementations, by their real name) doesn’t excuse anyone from properly understanding the working standards in building web interfaces: basic to complex.

“God help those that don’t have” doesn’t equal progressive enhancement nor graceful degradation the way CSS3 tries to interferes with programmatic behavior. It equals to: “I think I can give you only this now, I’m not sure. Now be on your way now and don’t bother me anymore!”.

]]>By: Craig Bucklerhttps://www.sitepoint.com/css3-vertical-accordion-using-target-selector/#comment-83395
Sat, 18 Feb 2012 18:09:08 +0000http://www.sitepoint.com/?p=51072#comment-83395Unfortunately not. You can’t animate between non-measurement values such as ‘auto’. Technically, there’s no reason why the browser couldn’t implement it so it may appear at some point.
]]>