March 2009
    Apr »

Dog Food, CMS Accessibility and a Nice Surprise

You’ve been avoiding the main streets for a long, long while
The truth that I’m seeking is in your missing file
What’s your position, baby, what’s going on?
Why is the light in your eyes nearly gone?

Following on from the wonderfully entertaining “CMS Vendor Meme” (a.k.a. the “CMS Celebrity Deathmatch“), I’d like to drill slightly deeper into Item #9 – Dog Food. For the uninitiated, “Eating your own dogfood” means that the vendor uses their own software to run their own site. All of them do, according to the responses to the Vendor Meme so far, although not always on the very latest version.

So, do the vendors’ sites, written on technology which is sold as fully accessible and built by experts (at least, one hopes the vendor has experts), actually produce markup that validates? I guess the first question one has to ask is does it matter if a site is accessible. And the answer: Oh yes. For many many reasons which I’m not going to go into here. I understand that W3C validation Accessibility, but that is another discussion for another time too. Validation is still an important part.

XXXHTML by Rob Cottingham

XXXHTML by Rob Cottingham

I know that it isn’t always easy to make complex site that validate. Where I work, sites should always validate when they’re launched – it is part of the User Acceptance Criteria. However, we are guilty of back-sliding when sites are in support /maintenance mode, and editors break things when abusing Rich Text Editors. Shock, horror – there are still a lot of CMS products that allow editors to enter broken markup.

WordPress do a pretty good job. This blog validates at the time of writing, no thanks to me. Admittedly, I did have to fix the FeedBurner RSS link which left the closing slash from the img tag, but that wasn’t WordPress’s fault.

I digress. I thought I’d test the home pages of a few major commercial Web CMS vendors – those listed as Enterprise or Upper Tier in the latest CMS Watch Web CMS Report. I tested the vendor home page, which may not be CMS related at all, especially for the big boys. The results are tabulated below. The numbers below were generated on 18 March between 21:00 and 23:00 GMT using the W3C HTML Validator. I didn’t check the CSS or Feeds, just the markup. Both encoding and doctype were left on “Detect Automatically”. I didn’t look into the details of the errors. The ones with a large number of errors might actually only be a few errors that are repeated, or have knock-on effects.

Vendor URL Checked Detected DOCTYPE Number of Errors (2009/03/18)
EMC Documentum XHTML 1.0 Transitional 121
IBM XHTML 1.0 Strict 0
Autonomy Interwoven XHTML 1.0 Transitional 254
OpenText XHTML 1.0 Transitional 205
Oracle HTML 4.0 Transitional 39
Vignette XHTML 1.0 Transitional 39
CoreMedia HTML 4.01 Transitional 49
Day HTML 4.01 Strict 2
Fatwire HTML 4.01 Transitional 1
Alterian Mediasurface XHTML 1.0 Strict 41
Percussion XHTML 1.0 Transitional 4
SDL Tridion XHTML 1.0 Strict 41
Microsoft XHTML 1.0 Transitional 177

The nice surprise mentioned in the title is IBM. Big Blue really does care about standards, and maybe Java is going to safe place should the SUN deal materialise. Hats off to Fatwire, Day and Percussion who get really close and clearly try to ensure the markup is good. The other 9 out of 13, however, don’t look so promising.

So, what am I saying? I am not for a second implying that the products that do badly in the above are “not accessible”. I just think the question we always see in an CMS Selection RFP is incorrect. Asking about an accessible editing interface (which comes out of the box) makes sense. Asking about an accessible front end (which is different for every implementation) makes no sense at all.

So, instead, the question on the RFP should be “Does your CMS allow the developer full control over the markup. If not, please specify where?” Now, it is highly unlikely that any product can answer an unequivocal “yes” to this. For example, every .NET based product mandates that a FORM tag containing the VIEWSTATE exists. However, this does not cause a problem.

But as we add products into the solution, we hit more restrictions. Portals are notoriosuly bad at giving control. I promised myself I wouldn’t rant about Portals for Public Facing Sites here, so I won’t. Many AJAX libraries (e.g. some JavaServer Faces implementations and ASP.NET AJAX nee ATLAS) give you very little control at all. JavaScript libraries are normally pretty good.

I believe the problem in most of the examples in the table above could be rooted in one of:

  • The technology makes valid markup impossible – I think this could probably be worked around in many cases. But sometimes you simply can’t get around the bad markup you’re given.
  • Nobody knew it mattered – Ignorance isn’t an excuse any more.
  • Someone decided it wasn’t important – this doesn’t need further comment. Give them some concrete shoes and send them for a swim.
  • There isn’t time and/or budget to ensure it validates – in some cases it is more expensive to create a validating, progressively enhanced site. However, in many cases I believe it is cheaper to do it properly.
  • The front end team lacked the skill - This I can believe. Hopefully this improves with time. Many server side developers aren’t any good at client side work. I know I fall into this camp. When I was coding, CSS didn’t exist, HTML still had TABLES in it and the BLINK tag was cool. I’m not allowed anywhere near the front end code where I work. We have professionals for that.
  • Showing off with fancy client side technologies - There are far too many sites that use Flash/AIR/Silverlight for no good reason, without providing an accessible fallback. Now this won’t affect the W3C validation, but it annoys the hell out of me. Use these technologies where they are needed, not for the sake of it.

I’m sure there are other reasons I’ve missed out, and I’d love to hear about them. I believe the responsibility for convincing management of the importance of doing things properly lies with us, the technologists. And if they seem not to care too much about accessibility, play the Increased Revenue cards (SEO, multi-device target market, maintainable code, integration with as yet unknown services, working on IE8 and other future browsers, etc) instead.

And once again, nice one IBM for winning the Home Page test. I apologise for my behaviour in some meetings in the past about the markup from WebSphere Portal. But let’s not get complacent – it would be nice if you could make the deeper pages in the site validate too.

UPDATE: Does anyone have the energy to publish a similar test for the mid-range and Open Source vendors? I might do it in a week or three if no-one else does it first.

  • Facebook
  • Google Bookmarks
  • Digg
  • LinkedIn
  • StumbleUpon
  • Technorati

39 comments to Dog Food, CMS Accessibility and a Nice Surprise

  • I think you should probably add as #1 reason:
    * Nobody said this was a #1 requirement for the site

    Getting the code to pass the validator really isn’t rocket science. Most of these vendors do many, many things that are much more complicated in their products, and even manage to do some of those things flawlessly.

    I wouldn’t beat up the vendors about their sites not passing the validator. (And I’m in no position to, either, since the CMS Watch site fails miserably. In our defense, we analyze technology, we don’t build it).

    At any rate, it’s more important to know what the errors are and if they’re caused by the CMS. Common problems from your small sample are the analytics JS trackers (“just copy & paste this code to your page” and they give you non-compliant HTML) and URLs incorrectly encoded, and a lot of pretty basic templating mistakes. We can rule those out.

    That leaves two important things to look for:

    * Code generated by the CMS that won’t validate.

    With a “straightforward” CMS, this can get you into trouble as soon as it generates a menu (and incorrectly nests elements, etcetera), since those will be generated by the system in a way that’s almost impossible to change. With the more “developer platform”-like systems, this is mostly the responsibility of the template coders, but you may still run into problems with smaller chunks — i.e., the internal links — which have to be generated by the CMS.

    * Code generated by the editor that won’t validate.

    It can be very easy to generate malformed HTML with the editor embedded in the CMS (whether the vendor built it themselves, or, more commonly, used FCK or Tiny etc.). This is often due to configuration of the editor and the pipelines used to pull content up (for editing), then clean up and save again. If you want real accessibility, the editor will also have to enforce rules on users (i.e., add the alt and title tags!).

    This one sounds like its easier to check — especially if a well-known editor like FCK or Tiny is slotted in, which you’d expect you could find out about quite easily what they’re like. In practice, however, because after you save, the editor will clean up the rich text, then maybe another component (i.e., Tidy), then it might get escaped for storing in a DB, there’s character encodings to consider (which can be different in interface, front-end, DB, etcetera)… it can be a mess.

    These two are pretty hard to verify from looking at the vendor’s site alone. You really have to do extensive testing to see if you could get your design into the CMS without breaking validation, and then see if you can actually keep creating valid code from content, as well.

    Still, they should have it high on their list of priorities to set an example themselves. It gives the impression that they don’t really take their customers seriously, as if they’re saying “Hah. Who’s ever going to check the code?”.

  • Thanks for the heads-up.

    That low-down ampersand ;) just recently got in un-encoded – it’s fixed now. Btw.. the doctype on is HTML 4.01 Strict.

  • Escenic _almost_ made it: The front page validates as XHTML 1.0 Transitional (, but there is one small error on standard pages (JavaScript “type” missing,

    Note: As Escenic’s presentation layer is implemented in JSP according to customer requirments, it’s up to each customer (and/or implementation partner) to make sure the JSPs generate correct code, whether it XHTML, RSS, PDF, or other formats.

  • Andrew Massey

    With the imminent arrival of IE8 CMS vendors are in for a bumpy ride (if the implementors are going to run their sites in IE8 standards mode). Why? Well, IE8 has a MUCH stricter policy for closing poorly formatted elements (i.e. those that are closed properly). In my experience, at the point of content entry, the level of HTML competency is very limited, basically the rule is “copy and paste it from the word document will you”.

    This IS going to hurt.

  • I’d just like to mention Alerian Immediacy validates fine

    With Immeiacy as long as the templates validate then you can be 99.9% sure your site will also validate.

  • Nice info! ive started to work on finding a good editor that is accessible and can generate good accessible content and such. Your post was good reading.

    (If your intersested in folloing my work ive restarted my blog and are posing some about it. )

  • For those that are interested, Kas Thomas has just performed a Loadability test on many vendors using YSlow –

  • As a vendor, it’s an interesting dilemma. For every customer request of “does it produce/enforce valid markup?” there are just as many requests for “can it generate the old/legacy/custom markup that only our systems require?”

    The cost/benefit of adopting best practices in design, compliance, and markup is something vendors have to be cautious about. At Percussion, we started with a “everything is pure XML/xHTML” approach back in 1999 and have more or less constantly been forced by market demand to be more lenient.

    The reality is the Web is a constantly changing place. The real test of a CMS is not whether it generates good markup, but whether it can generate ANY markup with equal amount of effort. When we redid our corporate Website, we actually put in a few examples of non-compliant stuff just to showcase that it was easy to do too.

  • OpenText WebSolutions built with OTWSCMS (formerly RedDot CMS) has….. 1 error.
    A missing alt tag (bad editor, bad!)
    But beside that? Looks fine, I agree, it is about the implementation :)
    Areeba did a good job here*

    OpenText Website is unfortunately not built on RedDot OR Vignette (coincidence or do we have to wait for those two to sort out where they stand?)

    *I admit: Which is why I decided to work for them now.

  • Hi,

    Very nice and interesting post about W3C Validation Services and standards for the big boys. I was amazed that such reputable websites did not validate their code yet. I guess because they have very large websites ?

    W3C Validation Services will increase your website loading speed, search engines crawling speed, and website indexing rate.

    Very Nice Post, thanks for sharing

  • Hey are using WordPress for your blog platform? I’m new to the blog world but I’m trying to get started and set up my own. Do you need any coding expertise to make your own blog? Any help would be really appreciated!

  • We stumbled over here coming from a different web page and thought I should check
    things out. I like what I see so now i am following you.
    Look forward to looking at your web page for a second

  • Hello There. I found your blog using msn. This is an extremely smartly written article. I will make sure to bookmark it and return to learn extra of your useful info. Thank you for the post. I will definitely return.

  • Howdy! I realize this is sort of off-topic however I had
    to ask. Does running a well-established blog like yours take a lot of work?
    I’m brand new to blogging however I do write in my journal on a daily
    basis. I’d like to start a blog so I can share my personal experience and thoughts online.
    Please let me know if you have any kind of
    suggestions or tips for brand new aspiring bloggers. Thankyou!

  • Does your blog have a contact page? I’m having a tough
    time locating it but, I’d like to shoot you an email. I’ve got some creative ideas for your blog you
    might be interested in hearing. Either way, great
    website and I look forward to seeing it improve over time.

  • You made some good points there. I checked on the web for additional information about the issue and found most
    individuals will go along with your views on this website.

    Also visit my page :: instafxtips

  • I was suggested this web site by way of my cousin.
    I am now not positive whether this put up is written by him as nobody else know such unique approximately my
    problem. You’re wonderful! Thank you!

  • Hi there mates, how is the whole thing, and what you want to say regarding this article,
    in my view its truly remarkable designed for me.

  • I am curious to find out what blog system you’re using?

    I’m experiencing some small security problems with
    my latest blog and I would like to find something more secure.

    Do you have any recommendations?

    Review my website; Football

  • Hi, constantly i used to check webpage posts here in the early hours
    in the daylight, for the reason that i enjoy to learn more and more.

  • Everyone loves what you guys tend to be up too. This kind of clever work and coverage!
    Keep up the amazing works guys I’ve added you guys to our blogroll.

  • Let’s see if we can share some light on this Law and winning the
    Lottery. you pull into a gas station and when you go inside to pay you think today might be the day I actually
    win. The growing jackpot of the Euro – Million lotto has made
    it impossible to resist; residents to participating countries usually flock to
    Euro Millions lotto tickets sellers to get their Euro
    Millions lottery Tickets whenever there is a draw and no one can blame them for trying their luck.
    If you happen to lose a jackpot winning ticket worth millions of dollars, whoever has possession of the lottery ticket can
    redeem your cash prize. And your typical lottery keeps half of the money they collect, so that is two and a half million dollars that they would keep
    in this example.

  • a

    I don’t even know how I stopped up right here, hhowever
    I thought this put up was once great. I don’t recognise who you might bbe bbut certainly you are going to a famous blogger if
    you happen to aren’t already. Cheers!

  • Tons of website internet sites among this fraud on line internet websites will also request for your fiscal institution specifics don’t ever give them your specifics as these is
    not whatsoever protected place in your situation to present your very own tips.
    While much has been written on its influence on contemporary living,
    it is impossible for you to overestimate its impact on modern thought.
    Different options available under the Network Authentication menu are open,
    shared, WEP, WPA, WPA2, WPA-PSK, WPA2-PSK, etc.

    Feel free to visit my homepage :: code psn gratuit (Roseanne)

  • Good day! This post couldn’t bbe written any better!
    Reading through this post reminds me of my previous room mate!
    He always kept taloking about this. I will forward this write-up to him.
    Pretty surfe he will have a good read. Thank you for sharing!

  • Greetings! I just discovered your web site: Insurance News,Info and Guidance when I was exploring It looks as though someone loved your site so much they decided to bookmark it. I’ll absolutely be coming here more often.
    Articles Marketing for Sale

  • Strona świadczy o interesujących zagadnieniach, zachęcam do dyskusji

    Here is my blog: lotto

  • Viewers will notice some slight changes in the production value
    of the program. is glad to announce that the long-awaited MMORPG Zodiac Online will enter closed beta on PDT
    0:01 Nov. We want to catch and analyze as many bugs as possible during this
    stress test period, so that we can try to ensure a smooth launch on May 15.

  • Thanks!! That’s awesome! Spoiler #s "Melanie has kids? I wonder how old she was when he had them, who the father was, and what would the infants eat when they don’t even have teeth? Milk or liquified meat? "

  • What’s up, all the time i used to check website posts here early in the morning, for
    the reason that i love to find out more and more.

  • If some one desires expert view concerning running a blog after that i propose him/her
    to go to see this weblog, Keep up the good work.

  • Thank you for sharing this precious info together.
    As a practicing writer, I can say that I was
    trying to incorporate some facts and provoking thoughts in my writing
    clinic intuitively. I think it is necessary to spice
    your writing in the event you want to catch the readers’
    attention. But you did good, thanks

  • Moreno Mathew

    I have reviewed some linked with your works previously however this 1 is actually only fantastic.
    There are actually very few materials I actually will recommend to everybody.
    The final time it had actually been And also I will certainly wish all the pals to study your
    work too. Many thanks a good deal, it was a genuine enjoyment.

  • @John – that’s good to see. With the vendors that own multiple products, I just picked the home page of the company, not any product in particular.

    Does this mean that it is important for Corporate customers to have valid markup, but not for Enterprise customers ;-) ?

  • As usual, someone else says what I’m trying to say better than I do. Thank you for your comments! Honoured to have my CMS Watch idols reading my blog :-)

    The “Nobody said this was a #1 requirement for the site” was meant to be covered by the “Nobody knew it mattered” or “Someone decided it wasn’t important”. The distinction was meant to be ignorance versus a crime of omission.

    I agree 100% with everyone else you said. It is very time consuming to analyse all the errors to determine if that are generated by the product, some third party integrated code, or something implementation specific oversight. We often suffer from malformed markup from analytics vendors and others, but we try to send it back! When I set up this blog, the FeedBurner markup for the simple RSS link wasn’t valid.

    I think maybe the most important point is that some of them clearly never even checked if it does validate, which shows the wrong kind of attitude. Accessibility really is a massive part of the RFPs that I see, so they should really care about it. I think I’ll run the test again in a few days and see if any have improved.

    And here’s hoping no-one does the same tests on the sites I’ve been involved in. I wouldn’t expect any of them to have 100s of errors as most did validate at some point. But I’m concerned not as many would get the all clear as I’d hope.

    I do blame the Rich Text Editors for a lot of the errors, but I think they’re improving with the new generations of CMS produts. Quite a few of the vendors we use have just switched or are about to switch their embedded editor. FCK and Tiny are on the list.

    As an example, here is a complex design which is properly progressively enhanced. The home page still validates, but errors have crept into the depeer pages. The rich text editor in this case does not enforce ALT tags on images, and inserts paragaph tags into bad places. The next release of this product changes the editor.

  • Jon Marks

    Impressive bit of speedy fixing. Fixing the code so fast was impressive, but as you say very minor. Getting it pushed to live that fast also good to see.

    I’m going to run all the tests again in a week or two. Interesting to see who else improves.

    You also do better than IBM on the deeper pages. They don’t all validate, but have very few errors. The target attribute, for example, isn’t valid with your DOCTYPE.

    So, I’d say you’re in the lead at the moment.

  • Not at all!
    We do enable our customers to create great, compliant sites across both products, when the client and their implementation partner require it. Sites powered by our Enterprise product that pass this parser test include Ofcom and the Home Office.
    The truth is that the page you tested – a redirect from the now retired (following the acquisition) domain – takes you to a page on our Alterian website – which is also powered by our Corporate product. I guess this speaks to Adriaan’s points, in that the detail devil is in the requirements
    Not to say we shouldn’t do better. At least you can see our products can, we just need to implement it!

  • Jon Marks

    Ian. Good to know, and good to see examples. These show nicely that the products are capable of emitting good markup. But I don’t agree on your requirements comment. It should *always* be a requirement. And if the client doesn’t think it is, the partner/vendor should show them the error of their ways.

Leave a Reply to Ian Truscott




You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>