The Road To W3C Validation
In my never ending quest for better cross browser / cross platform compatibility (I still haven't solved the radioScan JavaScript issue), I tried to achieve full HTML 4.01 and CSS 2.0 compatibility as defined by the W3C validators.
s l a m now proudly proclaims its W3C standards allegiance, but it took a lot more work than I expected.
The only benefit so far is that s l a m pages load noticeably faster in Mozilla.
My most common mistake: all IMG tags must must have an ALT="description" attribute to be HTML 4.01 compliant. I had neglected this in most of the pictures included in my posts.
Second most common mistake: the & is a reserved HTML character, it defines an entity. It cannot be used anywhere in a non entity definition role, including in the cgi part of url links. I had to replace all http://blabla/cgi?p1=foo&p2=bar kind of links by http://blabla/cgi?p1=foo&p2=bar.
Third common mistake: for some reason, I had used a (much deprecated) NOSHADOW attribute to the HR tag, which doesn't work in HTML 4.01 since all attributes must have arguments between quotes (noshadow="noshadow" might have worked).
And now for the fun part: I had to do a little strictly 'non-kosher' tweaking of the radio.root and weblogdata.root tables, since some of the code and data called from Radio publishing templates is not HTML 4.01 compatible.
- system.verbs.builtins.radio.html.commentLink:
Replaced &p by &p in the definition of commentPageUrl. - system.verbs.buitins.radio.weblog.render:
Changed &c by &c if adrblog^.prefs.flCommentLinksEnabled in bodytext for the commentCount script tag. - In weblogData.root:
In the archiveLinkImgTag string, added an alt="Permalink" attribute to the img tag. In itemPermaLinkImgTag, modified the calling macro like this: <%radio.macros.imageref ("images/woodsItemLink.gif", "", "", "", "", \"Permalink")%>. - And for good measure, I added an alt="Permalink" attribute to the img tags in system.verbs.buitins.radio.data.strings.archiveLinkImg and system.verbs.buitins.radio.data.strings.itemPermaLinkImg. They are apparently used at initialization from default settings.
Last, I modified (again) my googlebox macro, replacing &q by &q in the search link associated with the Google img.
Ok, the very last one for my Reiter friend: In system.verbs.builtins.radio.data.staticSite.template, the ImageTag variable should include 2 ampersand tags instead of 2 & in the cgi link.
6:05:34 PM Google It!
|
|