Sometimes I feel like I am the only person to see certain select truths about the universe. I realize this sounds hopelessly elitist but I am not pointing it out to make myself seem superior. I am simply perplexed at how my perspective, which seems to me rock-solid and clear, could be so different from other apparently normal, bright, healthy humans.
To wit:
It's that last bit that I'm really on about today. I mean maybe I am just in need of a great "aha" moment with CSS, or maybe I need to apply more intellectual energy to reading one of the "designing with web standards" books so that I can make fluid, multi-column, multi-row layouts without tables, but I don't think it's my intelligence or my will that's at issue here. Every time I check in with these standards people to lift their code for placing content within a grid on a web page I am horrified by how un-intuitive and bug-ridden their solutions tend to be. I refuse to migrate my antiquated, atavistic, table-using code-writing ways to a CSS-only method because I don't believe that CSS is the best way to layout content on a web page.
Despite all the noise they make about a semantic web, I don't think people who believe tables are evil have content as their primary concern. I think these defenders of web standards have found a convenient and sophisticated-sounding method of feeling superior to the rest of their peers, a characteristic shared by most religious zealots. They have also found a way to convince big companies to give them lots of money so that they can castrate the look and feel of their web properties in the name of the chimerical goal of total "accessibility."
Real designers think in grids, not slabs of concrete. I'm all for making the web accessible, extensible, and defensible, but I don't see where replacing nested table tags with nested div tags is an improvement.
Writing accessible code is important. It involves giving all non-text items titles and descriptions, it means marking up data tables so that their structure is both visible and audible, it involves making navigation schemes which allow non-sequential access and including tab indices for keyboard shortcuts. It allows dynamic font sizing and exhibits predictable link styling and proper visual contrast and an awareness that color should not be the sole means of communicating important messages. But plain-text browsers and screen readers ignore table and div tags equally well, and in much the same fashion. Tables make my HTML more complicated, but I don't see how that's an accessibility issue for the end user.
The hacks involved in doing something like building a simple footer in CSS are so numerous and ugly that from this alone one must suspect that those who suggest these methods in lieu of a single table have something different on their agenda, an emotional investment in an idealized final solution formed independently of the way the real world works. Their arguments about saving file size and bandwidth are equally inane. We should optimize our tools for the way we operate, not the way we imagine we might be helping out the Apache kernel or the Unix file system.
Not that CSS isn't a permanent tool in my toolbox, its use intimately tied by now to the act of writing HTML. It is an excellent way to remove styling from content, which I think is a good idea. But layout is not styling. CSS was never intended to be used as a layout language. Absolutely positioning fixed-width blocks of content is working against the entire paradigm of a flexible browser canvas. To truly divorce the content from the presentation, one's energy is better spent learning technologies like XML and XSLT.
There's a lot of innovation displayed by many of these table-free designs and I appreciate the way CSS has in general greatly improved the web's typography. But I don't like all the hard edges and unyielding columns and visual rendering bugs that plague the sites built by the web standard extremists. And I don't like hearing over and over again that my web-writing methods are suspect. Only time will tell who wins this battle. Maybe in a year I'll look back at this entry with a different perspective. But that seems as unlikely as learning not to miss the polar bears. ![]()