Please note that you may have been redirected (you might like to make a note of the URL in the address bar of your browser and update accordingly) This is a permanent archvie but is no longer actively maintained. Please visit http://joshuaink.com for the latest updates.

Is XHTML and CSS easy? Follow up

Tuesday October 18, 2005

From all the comments received on the question Is XHTML and CSS easy? the overall impression I come away with is that I am preaching to the converted here anyway. With only the odd exception, most agree that in principal they are both easy languages to grasp but the bigger picture is somewhat more complex.

A lot of you also drew upon an analogy I like; that being that anyone can slap paint on a canvas but it takes a skilled hand to turn out something like the Mona Lisa.

As web standards become more common place, though, the standard seems to be falling. I see, far too often, paragraphs and bold tags combined, posing as a heading. Line break tags taking the place of proper list items. I am sure you know what I am talking about.

Where is this shoddy behaviour coming from? Content management systems mostly I imagine. People with little or no HTML knowledge publishing to the web.

Don’t get me wrong, everyone does and should have the absolute right to publish on the web as they see fit but when it comes to business, at all levels, it worries me that there is no-one within correcting these mistakes on a regular basis. Or that no-one has even set the standard within that business in the first place. All these little mistakes building up over time on a sizable site and you are going to end up with a right royal mess on your hands; the idea of web standards being future proof and easy to update is null and void.

Very recently I read a comment somewhere suggesting that the back end developers should do their bit first and then get the CSS designerfront end developer in; who need know nothing of the back end… No! No! No! I found myself shouting at the screen, get the front end developer in at the very beginning of the process if you are serious about how your UI will turn out.

I am certainly not holding myself, or this site, up as the high ideals of web standards but I will stand up and say: I really do care about good CSS and XHTML and probably devote more time to it than is practical to make a good profit from projects.

I dunno, maybe I just have wind but my gut feeling is that eventually with, of course, a few exceptions the bottom is going to fall out of the specialist CSS and XHTML writing market and I wonder if what we will be left with will be any better than the nested table nightmares of old. Maybe I should just retool and move on.

  1. Matt Robin

    1606 days ago

    I could have gone into greater depth in my former reply (previous article)...but hey – you didn’t define what xhtml/css was easy in relation to….and I didn’t want it to trun in to one of my LONG replies for you to maybe chime in at the end with something like ”...easy in relation brain surgery!” :o

    I see what you’re getting at though John…the Web Standards community is growing at such a rate (which is a good thing) that the bubble could burst in terms of quality (which is a bad thing).

    Now…what can we re-tool you as? hmmm….
  2. trovster

    1606 days ago

    If the backend developer produces semantic valid HTML, then I don’t see any reason in bringing in the CSS developer later. Ideal they’d all be there to start off with, to bring both minds to the part?©, but if the HTML is good enough, then the CSS designer should be able to apply the design given.

    The only downside is that maybe the CSS designer needs a few more “hooks” to apply their masterpiece, I suppose this is where them joining would help, but it’s not the end of the world.

    Best situation a developer who can design/css/html/backend… do they exist? Yes, but too few and far between, it seems to me at least.
  3. Matt Robin

    1606 days ago

    ....And by ‘trun’ I do mean ‘turn’!
    (Delete this comment as you see fit)
  4. John Oxton

    1606 days ago

    If the backend developer produces semantic valid HTML, then I don’t see any reason in bringing in the CSS developer later

    Bad choice of words on my part, I should have written front end developer.
  5. Ryan

    1606 days ago

    I have to agree with the commenter. The trick is separating the business logic from the presentation. The (x)html and css produced should be entirely up to the designer. Ruby on Rails does a good job of supporting (advocating) this.
  6. Stuart Frisby

    1606 days ago

    The problem in my eyes is the extent to which the two roles are separated. Yes, they are distinct and different jobs but it’s like, if you will forgive me, A horse trainer introducing his steed to the jockey on the day of the race.

    I want to be able to sit down with the code monkey sorting out the back-end and tell him what I need, he needs to know what I plan to do and vise versa, can’t we just all get along?
  7. kevadamson

    1606 days ago

    Is XHTML and CSS easy? Yes.
    Is quality XHTML that combines new visual ideas and concepts with quality, intelligent CSS easy? No.

    As for ‘which way round to do stuff’, each to their own, but :

    1. concepts, mood boards, reseach, diagrams etc.

    2. visuals for key pages.

    3. site build, css styling, template build, browser checks, dummy content (break for a cup of tea) ...

    then …

    4. in comes the programmer to make things all dynamic – content managment systems, database driven stuff. Yu know, all php and asp stuff.

    “You don’t do your electrics, plumbing, and arrange your furniture and hang your paintings before you have built your house now do you.” Me – 2005
  8. Ben

    1606 days ago

    bq. Very recently I read a comment somewhere suggesting that the back end developers should do their bit first and then...

    Sounds utopian. And perhaps something that we can dream of. The immediate flaws I see are as follows:
    * HTML does not have a sufficiently large semantic vocabulary to completely separate the CSS developer from a plethora of custom (although still hopefully semantic) class names.
    * CSS itself (in both spec. and implementation) is not yet powerful/flexible enough to eliminate presentational hooks.

    Now, XHTML2 is capable of eliminating some of that. Every time you use a heading you implicitly create a block. From what I can figure out so far, some sites would probably end up with more mark-up using XHTML2 than they do currently. But it would all have semantic value, providing hooks for style as well. In theory, that would remove the need to co-ordinate with the HTML guy to say ‚Äòwe need to add a wrapper div here, here and here’.

    CSS3 then gives the ability to style virtual wrapper elements as required (syntax is ‚Äòaddress::outside { ... }’).

    So, maybe at some point it will be possible to make the roles of ‚ÄòCSS designer’ and ‚ÄòMark-Up Designer’ separate.

    I should stress, of course, that I’m not advocating that the roles should be separated, just commenting that it could, in future. For me personally not working on both would be much less fun...
  9. James

    1606 days ago

    I’m quite new to all this and I have to say that I find XHTML and CSS way easier than previous working methods. I used to be guilty of diving straight into the code and marking things up in a way that made no logical sense, but made things look the way I wanted them to, until I did the browser tests and discovered they didn’t, went back to the CSS or the code and started tweaking and made things worse. It probably has more to do with working within a clear document structure and aiming for semantic markup, but it seems to me there are far fewer teething problems with doing things this way.
  10. Matt Robin

    1606 days ago

    John: I’m doing the back-end bits in textpattern (err, or just the plugins and shit right now) first before I do the css (even though I’ve already been doing the layouts and general designs aside at the same time)...so…is that wrong then?
    Seems quite logical to me….I want to know that the mechanics of a site work before I start pimping it with graphics.

    I could design a lovely site…put it altogther and stick it online…but then if I add a new cms to it (one that I’ve never used before in my life)...it will all get horribly messed-up as I realise that most of it doesn’t match the design and the two should be a fusion.

    hmmm…
  11. Anthony

    1606 days ago

    First I hold my hand up to being extremely guilty recently of the paragraph-bold-heading sin.

    I know it’s wrong wrong wrong, but it’s just easier with my current half arsed theme in Wordpress…

    I’m a lazy bastard, and I am sure to have angered the Web Standards Gods – but I will make my peace with them by offereing some sort of ritual sacrafice. (Choclate Cake?)

    Anyway, in my experience if you build up a nice looking, standards based XHTML and CSS design, and then give it to a developer – they’ll look at it, not see a jungle of their warm, familiar tables and feel very uncomfortable.

    I’ve lost count of the times I’ve told developers all they need to do to get the correct formatting and padding is to put the text in a !

    What you get given back using that method is generally just a thick bowl of soup.

    Developers think they are brilliant at HTML (notice the lack of X), and it is far beneath their ‘superior’ skills. Most also complain that they simply don’t get CSS.

    In a perfect world the developers at both ends of the site need to work together in unison.

    Like a train with two engines (front and back) pulling and pushing content laden trucks up a steep hill…

    or something…
  12. Jolo

    1606 days ago

    Here’s a minor point: One-is-to-many

    Everyone from a web develpment team (be it front-end / back-end developer) as well as the design dept. should be influenced by at least one person from any dept. who knows deeply web-standards and CSS/XHTML, in this case, there will be a line of transfer of what benefits that web-standards can bring to their commercial and personal projects.
  13. Poncho

    1605 days ago

    Quoting Trovster:
    “Ideal they’d all be there to start off with, to bring both minds to the part?©, but if the HTML is good enough, then the CSS designer should be able to apply the design given.”

    I agree that there should be an immediate dialogue between the back-end and front-end developers as soon as a project has begun. In a lot of cases I’ve seen, the designers and developers have worked at different times and used different styles of markup (ie. designers using lists while developers use paragraphs with breaks, or worse, loads of crappy tables).

    Ideally, the visuals should be done after the site plan/flow charts or whatever, and the developer would be given example pages of how to output data tables and the like. Of course, the developer would need to be kept up-to-date on the design to make sure there are not any problems looming.

    The last few jobs I’ve worked on, I’ve been ‘lone-wolfing’ it, doing the back-end PHP stuff as well as the front-end xhtml, css & javascript.

    I always build any page templates & css needed before I start any back-end stuff, usually referenced through php so that if any template absolutely NEEDS changed, it can be done in one place. Another benefit of this is that you can still tweak the templates & css afterwards.

    Just my 2p :-)

    Cheers;
    Poncho
  14. Amrit Hallan

    1605 days ago

    I don’t think XHTML and CSS is diffcult, I think it is just lots of work defining all those DIVs and classes. But the upside is that CSS gives you lots of power to design beautiful websites, for example, this one which wouldn’t have been easy otherwise. The learning curve sure is steep, but this is a positive development for people who love learning new, better things. The best thing is, XHTML and CSS lets you keep content separate from design. This way you can immediately change the entire look of your website.
  15. Michael Schuerig

    1605 days ago

    I’m looking at XHTML/CSS from a (web) application development perspective. There, my impression is that things are much more complicated than they should be. CSS, in particular, was apparently only driven by the needs of page designers. When I compare the means offered by CSS to what layout managers bring to the task in rich client applications, it brings me to tears—tears of anger.

    Yes, it is is possible to create web-based applications. There are gazillions of them. But, can anyone tell me why it is necessary to recreate, say, drop down menus with totally impoverished means? It feels only slightly worse than programming a turing machine directly. Adding insult to injury, the underlying OS is fully capable of all those things simulate with much effort in web apps.

    (X)HTML is guilty of ignorance, too. Can anyone tell me why a SELECT element without any OPTIONs doesn’t validate? Yes, this might be bad on plain, static page. In a web application with some client-side scripting there are very good reasons to have just such empty SELECTs.

    So, summing up, XHTML/CSS make a lot of tasks much more difficult than the ever should have been.
  16. Ben Jackson

    1605 days ago

    “I agree that there should be an immediate dialogue between the back-end and front-end developers as soon as a project has begun.”

    I couldn’t agree more. I’ve seen too many projects where a developer created an interface that a designer then had to “skin” and which, even with a fair amount of intervention, still ended up looking and working like crap.

    The set of skills necessary to understand SQL, server-side programming and business logic are completely different from those necessary to build simple, intuitive interfaces that help, rather than confuse, the poor saps who end up having to use these sites.

    Developers are not UI designers. That’s not their job. Their job is to take a specification that includes the information their code will receive, the rules for processing that information, and the format of the output, and make it work. Asking them to “build a dummy” of a form, or a confirmation page, or anything that will interact with human beings is akin asking your accountant to design your invoice (or, even more scary, asking your graphic designer to file your taxes).
  17. parrfolio

    1605 days ago

    I could see people using Dreamweaver 8 in wysiwyg mode producing shardy sites and calling them standard compliant!

    BTW, when I tab from form input field to field I am shot up top to your logo. (xp/ff)
  18. Cody Lindley

    1605 days ago

    Just because 1+1=2 is a simple math equation does not mean that math is easy. Html & Css is as complex as anything else. It’s as complex as we make it. I know a lot of children who can add 1+1 and get 2. I can’t imagine this equates to them being able to understand calculus. I also know a lot of very smart programmers who want nothing to do with the complexities of html & css in the real world (browsers). So, in theory Css & Html can be viewed as simple (so can 1+1=2), but in practice the actually implementation can be very complex (calculus).
  19. Mohodin Rageh

    1604 days ago

    when “the specialist CSS and XHTML writing market” dries out as put it John, what we will be left with will be loads and loads of XHTM/CSS websites which, on the surface, look good but do not validate at all. In other words, care for valiadation will go out of the window if it has not already to some extent.

    Why-spend-so-much-of-my-time-for-mere-validation-if-it’s-works type of mentality will become commonplace. Then John retool and move on. In the mean time, stick around.
  20. Johan B

    1604 days ago

    I think the standars aren’t easy. Not to everyone. To solve this I suggest the W3C should create double standards that the browsers should support.

    For pure xhtml strict (1.0/1.1/later) there should be rules that you have to follow. When the rules are broken the browsers should complain (all browsers), and possible not show the page. This would make a lot of things easier for developers.

    For non-professional people who doesn’t want to learn all about standards there should be a “html easy” or “html mini” they could use. Browsers should be recommended to allow a lot of errors (almost like they do today with html) and still show the page.

    Creators of content management system could also build better tools that worked in one of two modes, each supporting either xhtml strict or html easy.

    I know there is little hope that the browser makers will fix all problems but most already have switching between quirks mode and standards mode. And some differ when given xml or html. It should be easy for W3C to say that xhtml documents need a special doctype, a special mime-type or a combinaton, and without this the document SHOULD be regarded as some kind of html easy. We could call it xhtml easy but that doesn’t really sound good to me, it is most probably broken xml.
  21. Daryl Sawatzky

    1604 days ago

    I kind of know what your commenter spoke of when he(she) said that the backend developers NEED to get on the ball. By “backend” I mean the tools that will convert content into (X)HTML and publish it for the frontend developer. In my own site I make sure that the code I write by hand is xhtml correct. My templates, css, static content, everything is correct. The content that changes on a weekly basis however, is too volumnous(?) to edit by hand every week. I tend to let the html translators do whatever they like with my source .doc files, and I just correct the files where they actually break my CSS. I often do see p and bold tags where there should be an h tag (and p/br/end p for empty paragraphs), but I don’t have time to scour documents that will only be up for a few days anyways. I really wish that there were good free tools for the Mac that could translate MSWord .doc files to standard xhtml for me.