August 10, 2007
Jeff Croft wrote an article addressing the myth that a redesign will not touch the HTML (or xHTML, whatever) if we use web standards. He argues that adding some presentational classes to the HTML doesn't hurt anyone and that the benefits of using a CSS framework, like the brilliant Blueprint, which may require classes, like span-4, in your HTML, far outweigh the pride of having a completely semantic HTML document.
I agree with Jeff about this fact, that sometimes one has to be pragmatic and that even though it is a dream we strive for - to not have to touch the HTML - current limitations in the tools we have available to use, such as the box model, prevent us from ever having complete separation between content and presentation. Fortunately we do have access to a tool which completely removes content from presentation, and markup - databases.
I strongly believe that database-driven websites (websites that make use of a content-management system of some kind, such as Wordpress or Expression Engine, which is used here) is where we should be looking to separate content from design. As much as we want it to, HTML will never be a great container of information because although the elements do describe the content they content (field names in a database does the same thing and is much more flexible), it will still affect the presentation of the page.
HTML is linear, whereas a database allows random access to all the information in our website. I feel it's time to embrace HTML as part of the 'presentation' group and accept that for true content separation we must look toward other tools at our disposal, like databases. For really, without CSS, HTML is really the only thing that will describe the presentation of the page, and this is the reason why we can't use this argument - that HTML will not allow true seperation of content from presentation - as a argument to support table-based design. Without CSS, the HTML must still be able to stand up on its own. When read by a screen reader, HTML must still stand up on its own. Just accept the fact that HTML can't divorce presentation and content.
Front-end architecture, sorry for the term, should all be about the user-experience (no matter which device or client is used to access the content) and this experience usually revolves around the way things look - if this weren't true then we wouldn't need designers, only developers. Let HTML and CSS be used as the tools for front-end architecture, we have other tools for data control and distribution - Databases, APIs, RSS Feeds and XML.
I have been involved with computers since I was a very small child and started dabbling in web design when I was about 8 or 9 (after moving to NZ and getting a new pc, pre-outfitted with EditPlus.) 7 years later and here I am a freelance graphic artist and web developer.
3 comments so far, join in!
05.42 pmAugust 10, 2007
Really nice post, Ludwig! I totally agree that the database should be the One True Place for your content to live, fully separated from any extraneous information.
Just to be clear, though—my view (and I think yours, too), is definitely that we should *try* to keep our presentation information in CSS as much as possible, but at the same time we should understand that it’s not always 100% possible and be okay with that.
:)
06.18 pmAugust 10, 2007
Thanks Jeff :) Thanks for the clarification, that’s what I meant.
Although HTML may not be able to completely seperate the content from presentation it’s still important to respect an uphold the standards we’ve done so far however we must realise that sometimes it’s important to be pragmatic and realise that Blueprint may save you hours of work and since it’s not going to hurt anything apart from the “integrity” of the document and you, as a developer’s, pride then it should be okay to use
span-4.02.46 amFebruary 19, 2008
I totally agree, Ludwig. The content should be managed from the server and kept in a database rather than being uploading from local web site editors such as FrontPage and Dreamweaver. Working with a basic site design, it becomes easy to add, edit and delete pages, and to create pages in different languages.