XHTML 1.0 Strict Compliance
Slippy Village is now (almost) completely XHTML 1.0 Strict compliant.
The Bad: My Journal Framesets
The main exception is, of course, my Journal pages, which rely on Framesets. Now, while Framesets are a part of XHTML 1.0, the attributes I rely upon to format them properly are no longer valid under XHTML 1.0, and there is currently no standard for the CSS styles that would be necessary to replace those attributes. Despite this, I will not give up my frames for the Journal pages, nor will I allow my page layouts to get all "uglified" for the sake of strict compliance. Regardless of how often frames have been maligned, they are occasionally the best solution (which is no doubt why they remain part of the W3C's Recommendations).
If I were to remove the frames just because there was no way to maintain my layout with strictly valid markup, I would not only lose a lot of usability on those pages, but also a great deal of efficiency. Someone using the "browse" and "search" features would have to reload a great deal of content each time they jumped to a new journal entry page, which means longer download times for the user and greater stress on my web server.
If I were to keep the frames, but allow the default borders to show because of the absence of support for CSS styling, those pages would not look "right" anymore, and it would throw a major monkey wrench into my design efforts.
Time will tell, however, and I won't close the book on this problem yet. If I can find a way to maintain good design and good usability with web standard compliance, I will jump at the solution. I just haven't seen it yet.
The Good: Everything Else
Despite the problems with frames, everything else about Strict XHTML compliance has been most beneficial:
- The files for my pages are much, much smaller.
- The content and the formatting for the pages have been separated, allowing for greater control over each.
- My pages—especially my home page—are so much easier to maintain; without those pesky tables and 1-pixel GIF spacers, I can actually build and maintain layouts with my handy (syntax-highlighting) text editor again! No need to fire up Dreamweaver every time I want to add a new block to my page in order to let it handle that horrid tangle of nested <td>'s!
- All pages remain highly consistent, since they (just about) all use one single site-wide stylesheet. If I ever need to tweak the layout of the site, I just need to change one single easy-to-read file.
- The process may have given me its share of grief (cross-browser compliance, anyone?), but it has been a very, very practical exercise, and I learned a great deal. I still wouldn't consider myself a guru or even an expert, but I am now quite experienced indeed.
- This site can now, for the most part, be browsed on handheld and other alternative devices…the content retains a logical flow and pleasing format, and with no need for additional, separately specially-formatted pages—remove the CSS capabilities, and the underlying page still maintains its integrity and usefulness.
I've put a lot of effort into this endeavor, not the least of which were:
- Creating a full-page fluid layout with a fixed (left-hand) side column and a footer image that actually stays pretty darned consistent across browsers—without resorting to any browser-specific hacks or bug workarounds! This was no mean feat…
- No more JavaScript roll-overs! All rollover effects are 100% CSS.
- Reediting all 340+ journal entries to bring them up to XHTML 1.0 Strict compliance. Even though the Journal frames aren't 100% valid, I needed to be sure to prepare for the future; every single entry passes W3C validation. (whew!)
So, I give you all the fruit of my labor. Enjoy!
P.S.: And let me know if you'd like to hire me to help you with your website… :)

