September 15, 2005
Accessibility Bullshit
If ranting about web development required a licence, Christian Heilmann's 10 Reasons Clients Don't Care About Accessibility should be taken and slapped into the faces of all applicants.
When I try to sell The Right Thing™ to a client in need of a website, the feeling of fighting the uphill battle is so overwhelming it's not funny. Whenever some not particularely web-savvy business owner thinks of his dream website, he thinks Flash, PERIOD. Of course there are a million reasons why your client is better off without Flash, but all of them pale compared to the 450KB rotating logo splash page.
This is the point where it gets nasty: Because "better user experience" makes for such a fuzzy and unsexy argument, we start throwing more easily digestable bullshit in order to sell The Right Thing™. Here are some of my favourites:
- Bullshit: Clean markup looks good on mobile devices
-
I just finished a new site with clean, beautiful and semantic markup. It looks like shit on my very popular Nokia phone.
The vision was that there is a style sheet for computer screens, and handhelds could show unstyled HTML and optimally use styles for
media="handheld". This would be a terrific idea if a single hardware manufacturer went along with it. What browsers on PDAs and cellphone do instead is interpret the CSS intended formedia="screen", which is lingo for "looks like crap on 128×128 pixels". - Bullshit: Google loves semantic markup
-
Is that so? I doubt you could even test that. From Google's point of view it doesn't make a lot of sense to trust the importance of
<h1>, given half their index is search engine spam. I'd rather say Google loves text. It looks if, where and how often a word appears on a page, but probably doesn't give a flying fuck if it's marked up with<font size="+9" color="#f31242">, buried in ten nested tables or anything else.By the way: Search engine spam totally works. Even if semantic markup got you a tiny bit of Google juice, paying $100 to a search engine
optimizerspammer buys you ten times that. Sucks to hear, but that's how it is. - Bullshit: Accessibility = Usability = Semantic markup = Validation
-
Mark Pilgrim said it so well:
Anyone who tells you that validation buys you semantics is selling you snake oil. You can have an entire page full of DIV and SPAN tags and be perfectly valid, and it may look perfectly good to the human eye, but it doesn't mean anything, and any tool that relies on semantic markup won't be able to make heads or tails of it.
Anyone who tells you that CSS guarantees you accessibility is selling you snake oil. Most accessibility techniques have nothing to do with CSS (...). And where accessibility and CSS do overlap, it's still easy to screw up if you don't know what you're doing, or simply go through a lot of pain for no real-world gain.
- Bullshit: Tutorials can teach you accessibility
-
Earlier this year I wrote about the cargo cult that is web accessibility. Basically every web designer on the planet thinks they can offer accessible sites because they read a tutorial and dig semantic markup (see above), but few have profound knowledge of the matter, not to mention having worked with disabled people.
So after you read "Accessible websites in five minutes" and added Accessible web design to your resumé, head over to Observing Users Who Listen to Web Sites and cry:
Some ranted to us about the problem of having to listen to the same "stuff" on each page. Some jumped to the bottom and scanned the pages backwards to avoid the navigation at the top. But only half knew what "Skip Navigation" means.
Think about it. "Navigation" is web jargon. It's not common language. Some developers have used the phrase "Skip to Content" instead of "Skip Navigation." Good idea. But it does not work because "content" in English can be a noun or an adjective. JAWS reads it here as an adjective with the accent on the second syllable. So it does not make sense to users.
Bullshit aside, what does semanticesque markup and CSS really get you?
- Consistent design without a CMS
- Easy design changes
- Pretty printing
- Very basic screen reader support
That's it. I'm afraid these points alone won't always beat the 450KB rotating logo splash page in the heads of my clients, but I can't continue to sling bullshit and still watch myself in the mirror every morning. I also wished the discussion would move away from "how to sell web standards" over to "how to make 'publishing lots of text' look sexy", but I'll save that for another rant.
Comments
I wish that I could add something, but I think that you covered it. I've done my personal site to Web Standards for a number of years and doing so has cost me tons of cross-browser grief, in return for which I got… um… nothing, as far as I can tell.
Since an argument’s way to a client’s heart is through his wallet, tell him that the rotating logo pisses off visitors: people are trying to enter his mall and he is making them watch a freaking puppet show before he will even let them set a foot on his carpet. If that doesn’t convince him, he deserves all he is going to get – put your pride aside and consider it a monstrously overpaid burger flipping job.
In any case, I find that once you’ve gotten through the trouble of translating the design to working CSS, there is precisely zero difference in effort between using semantic or unsemantic markup or not. That, really, is the stumper. CSS is a pain, partly because a notation for fully reflowable layouts is simply going to be hard stuff no matter how you turn it, but also because it was only the first grand attack at the problem. It clearly got as much wrong as it got right.
What you gain from semantic markup once you’re there is the original reason to mark things up semantically: easily repurposed content. Sites with full-text feeds offer the first web-scale glimpse into that. That all the other touted gains of semanticism are easier to attain because of it doesn’t mean they’re automatic.
Posted by Aristotle Pagaltzis (#)
Doug: I think that some years ago, people who made a point of their XHTML looking funny in incompatible browsers mattered a lot. Writing for the web is so much more enjoyable these days, and enthusiasm for web standards has made a lot of this possible.
Aristotle: Most of my clients come with some unmaintainable legacy website that is either tagsoup or Flash and initially "just want to overhaul things a bit". Now tell these people why they need to throw away an existing "asset" for under-the-hood benefits they mostly can't even see. Oh, and they also won't be able to make changes with their WYSIWYG editor anymore because that would fuck up all the hidden beauty. Tough sell.
I agree that when you start from scratch, the decision to use CSS is a no-brainer. I find working with CSS and semanticesque tags to be vastly more productive and enjoyable than the old school. As for semantic markup, I agree about repurposing content, but don't think of it as such a big deal because the selection of semantic tags is just too tiny to be expressive. My largest motivation for using semantic markup these days is less <div> containers.
Posted by
Henning Koch
(#)
Oh yeah, swaying people who already have a working (for some definitions of working) website is going to be painful.
Glad to see you weren’t completely down on the CSS/semantic markup thing – it sounded vaguely like that in the main post.
I agree that the selection of semantic tags is way miniscule – even for programmers. I can never decide whether filenames go in CODE or just TT. (Incidentally, could you allow these along with PRE past your filter?) At least the publishing community’s biggest needs may finally be addressed in HTML5. Of course the problem is where to stop before you end up with a Docbook clone.
Posted by Aristotle Pagaltzis (#)
I can never decide whether filenames go in CODE or just TT.
Having written several manuals lately, I've been wondering whether a snippet of text or code the user should enter is supposed to go in CODE or KEYB.
Incidentally, could you allow these along with PRE past your filter?
I'm afraid my current Movable Type doesn't let me do that, and the fallout from the last MT update has scared me for life.
Posted by
Henning Koch
(#)
Maybe both?
<code><kbd>foo()</kbd></code>
Who knows?
Posted by Aristotle Pagaltzis (#)
For reasons like this I loved Dan Cederholm's SimpleQuizzes. It's a shame he doesn't do them anymore. The world needs more guidance in form of best practices.
Posted by
Henning Koch
(#)
Post a comment
Thanks for signing in, . Now you can comment. (sign out)
(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)