Archive for the 'accessibility' Category

Alex Russell is not a heretic

Monday, September 10th, 2007

First off, let me preface this by saying I just got back to the East Coast after catching a red-eye from San Francisco on Saturday night, so if I seem a bit incoherent, that’s likely why.

In perhaps the most intellectually-stimulating session at The Rich Web Experience, Alex Russell (of Dojo Toolkit fame) tackled the topic of Standards Heresy.

For those who are not aware, Alex was once a staunch standards advocate who has turned to what he considers, “the dark side.” In truth, he’s sick and tied of the dysfunctional nature of the W3C and other similar organizations and I can’t say I blame him. As his session pointed out, the W3C has 60+ paid, full-time staff and yet we saw literally no movement on either (X)HTML or CSS for over five years. That is a travesty.

In my opinion, fault lies not with the individuals on the various committees and sub-committees, but rather, with the process. And this isn’t just a problem in the W3C, an organization comprised almost entirely of representatives from the various software vendors (Microsoft, AOL, Opera, etc.) which pay tens of thousands a year to take part. Look at what’s happening with JavaScript 2 in ECMA. Or HTML5 for that matter—just because it is an “open” organization which “anyone can join” doesn’t make the WHAT WG any better. They are all flawed because the process is flawed, and I think that is Alex’s main point (despite his assertion that the WHAT WG is not dysfunctional).

So why is the process flawed? Well, for one, spec writing is largely an academic undertaking. In many cases there are invited experts in a Working Group (such as Andy Clarke in the CSS one), but, for the most part, specs are written by people who are not in the trenches. As Alex rightly points out, in fact, many times, the specs are nothing more than an official blessing of some proprietary technique or technology created by a member company. And good ideas that may be very useful to designers or developers are lost because of internal politics or because a browser vendor thinks it would be “too hard” to implement.

Which brings me to Alex’s “heresy.” In his session, he proudly declared himself a heretic because he sees a need for innovation in (X)HTML which is currently unavailable because the specs are not evolving quickly enough. I feel his pain, but I think he is looking at the problem the wrong way. He sees the spec (and web standards in general) as stifling innovation. I see web standards as facilitating innovation. After all, were it not for the firm foundation of well-formed documents and a unified DOM (no matter how piecemeal the implementations), we’d still be writing spaghetti code whenever we tried to do anything with JavaScript. It is because of web standards that we can write clean JavaScript and that we can make truly innovative interactions that take us beyond what is allowed for in the specs themselves.

But back to Alex’s complaint…as his example of how Dojo is heretical, he showed this code example:

<div dojoType="dijit.form.HorizontalSlider"
     name="horizontal1"
     onChange="dojo.byId('slider1input').value=arguments[0];"
     value="10"
     maximum="100"
     minimum="0"
     showButtons="false"
     intermediateChanges="true"
     style="width:50%; height: 20px;"
     id="slider1">
  ...
</div>

The problem that Dojo is attempting to solve here is the inclusion of a slider form control, which does not exist under the current HTML Forms spec. In order to function, the widget requires several custom attributes to be placed on the element to provide information to assist in the creation of that slider. The fact that Alex “cannot” add these attributes to the document and maintain XHTML validity is a major source of annoyance for him and part of why he has decided that validation is no longer important.

But the truth is that Alex could make any or all of these attributes available to whatever elements he wants and still have a validating document by simply creating a DTD (based on any existing (X)HTML one) to include them. After all, the X in XHTML stands for extensible…the language is meant to be improved. Sure, there are some standardistas who think we shouldn’t muck about with the standards, but the powers that be put that extensibility in there for a reason (and I don’t think it was just as a tease). By extending the language to mix in features we desperately need, we drive innovation and, who knows, perhaps someone will take notice and add our extensions into the next version, thereby driving the evolution of the language so many of us desperately want.

The same goes for CSS. The W3C made CSS extensible by allowing for custom properties utilizing the -*- syntax. Chances are, you’ve come across this when implementing -moz-border-radius or -webkit-border-radius (which, honestly, both seem superfluous to me when the CSS3 spec includes border-radius as an actual property…why not just support that?). In my mind, this is ripe for use in extension of CSS, not by individual browser vendors (as that is proprietary and closed), but by us (in an open, cross-browser/cross-platform way) to achieve what we want or need that CSS currently does not offer us. That was the basis for my work on gFSS (an experiment in presentational Flash generated from CSS, debuted at Web Directions North this year) and another project I will be releasing in the next few months.

So, long story, long, I don’t think that Alex is a heretic. I think he can make a solid case for extending the language (and the interface) of the web for his particular needs (or the needs of his toolkit) as long as he backs it up with documentation in the form of a custom DTD.

An aside

I do have one problem with what Alex wants, however (or at least what he chooses as a code example) and that problem is the extension of the language, but rather the way in which it was done (i.e. the DIV in his example will degrade to nothing without JavaScript enabled). Dojo supports WAI-ARIA to improve the accessibility of this and many other widgets, which is commendable, but that extra markup is only generated when the Dojo methods are run. If JavaScript is turned off in his example, no form control is available whatsoever.

What I’d prefer to see is something like this:

<select class="dojo-form-horizontalSlider"
        name="horizontal1"
        showButtons="false"
        intermediateChanges="true"
        id="slider1">
  <option>0</option>
  <option>5</option>
  <option selected="selected">10</option>
  ...
  <option>100</option>
</select>

There’s nothing that could keep Dojo from parsing that bit of XHTML and gleaning from it what it needs to make the slider. And now, when Dojo doesn’t run, there is a degradable interface for the user to adjust the setting. Sure, it may not be nearly as nice, but at least it works. Plus, it allows Dojo to be added as a progressive enhancement, which is what it should be.

And to make this valid syntax, the Dojo team just needs to augment the XHTML 1.0 Strict DTD like this to include the custom attributes:

<!ENTITY % Boolean
  "(true | false)"
  >
...
<!-- attributes for Dojo Toolkit
  showButtons           display buttons (boolean)
  intermediateChanges   display intermediate steps (boolean)
-->
<!ENTITY % dojo-attrs
  "showButtons          %Boolean    #IMPLIED
   intermediateChanges  %Boolean    #IMPLIED"
  >
...
<!ATTLIST select
  %attrs;
  name        CDATA          #REQUIRED
  size        %Number;       #IMPLIED
  multiple    (multiple)     #IMPLIED
  disabled    (disabled)     #IMPLIED
  tabindex    %Number;       #IMPLIED
  onfocus     %Script;       #IMPLIED
  onblur      %Script;       #IMPLIED
  onchange    %Script;       #IMPLIED
  %dojo-attrs;
  >

Sure, it takes a little extra work, but at least it gives users of the Dojo Toolkit the ability to validate their documents, which will help reduce potential CSS and JavaScript conflicts and errors (just one of the many benefits of web standards). Beyond that, it takes advantage of the extensibility of the language to facilitate innovation, and isn’t innovation what we all really want to see?

WebVisions wrapped

Friday, May 4th, 2007

I just wrapped my presentation at WebVisions and have posted the slides for my talk, titled “Learning to Love Forms,” up on SlideShare. I have also embedded them below (though the formatting is a bit off on some of the longer sidebars).

I’d like to thank everyone who attended and especially those who asked the challenging questions. Hopefully this was a good start to my campaign for getting people to embrace forms instead of running from them.

For those of you who couldn’t attend, enjoy the slides. I will post the audio for the session as soon as it’s available.


Further adventures in indifference

Sunday, February 19th, 2006

As opposed to just adding it to the comments in my original post, I decided to post the continuation of my email conversation with the unnamed executive at my former employer about the Target.com lawsuit as a new entry. This is mostly for Derek’s amusement, but I thought of a few other things to say on the subject as well.

We’ll start with his response. This is copied directly from his email; I take no credit for the spelling, grammar, etc.:

I understand all that you are saying. The difference I see is a “public” building like a Target store is an impediment of it doesn’t have a ramp, etc. and it does matter. It is a physical, public places that discriminates if they don’t have the ramps, etc.

I just see the web as slightly different. While ‘public’ in a sense, it is just as easy for a disabled person to find a web accessible site as it is to find a non-accessible one. You don’t have to drive or walk anywhere. Just click on a different URL. If Target discriminates against people with disabilities it is their problem, not mine.

So if Target doesn’t make their site accessible, they lose for all the reasons you state. And why do I care if Target loses out on all the things you mention? It is just as easy to click on walmart.com or wherever to find the accessibility you need.

And my response to his:

I agree that it is not your problem as a citizen of the USA/world/universe/whatever. And, personally, I could care less if most major corporations blipped out of existence. But we (as marketers and people responsible for our clients’ online marketing/branding/presence/etc.) need to be aware of this and know that overcoming this “obstacle” does not take much and that the benefits far outweigh the time and money involved. We need to be able to work with our clients in their best interests, guiding them down the right path from a business standpoint, even if the benefits are not immediately apparent to them.

Now I’m not condoning the lawsuit, but it also helps from a PR standpoint not to get sued by a group of citizens with disabilities. After all, who’s going to look like the asshole there?

After hitting send, I (of course) thought of a bunch of other stuff to say. I will spare you the entirety of my thoughts save this one:

It is not just as easy for a disabled person to find a web accessible site as it is to find a non-accessible one. There is a real dearth of e-commerce sites on the web that are accessible. That is a major part of the problem. Perhaps if more e-commerce software companies took a page from Karova, users surfing the web with disabilities or (shock) JavaScript turned off might be able to choose to shop somewhere other than a Target or a Wal-Mart or any other store which does not meet their accessibility (or availability) requirements.

Anyway, he hasn’t responded to that last email and perhaps he never will. After all, I gave my notice the next day. And, no, this exchange was not responsible for that in any way.

Apparently some people just don’t care

Thursday, February 9th, 2006

On WaSP today, Derek wrote an incredibly poignant post about the NFB lawsuit against Target. In fact, I thought it so relevant to the interactive work we do at Cronin and Company (the ad agency I work for), that I forwarded a copy of it to everyone who works there. The reaction was, for the most part, pretty good (at least from those that read it), but there’s always at least one person who just doesn’t get it.

I received the following feedback via email from one of the higher-ups in our company (who shall remain nameless):

Is Target forcing blind people to shop there? If they don’t does Target hurt them in some way?

If it doesn’t meet web standards, why don’t blind people just shop somewhere else? Is Target funded by the government?

If Target doesn’t want to change their web site why should I get upset about it? (I don’t hold any Target stock either.)

I couldn’t belive what I was hearing. What an unhealthy attitude.

I sent him an email back. Perhaps it was a bit harsh—though not as harsh as my first draft—but this is something I’m passionate about. I thought I’d share it because I think accessibility is dismissed as “unimportant” far too often:

I imagine you’ve heard of the Americans with Disabilities Act (ADA) of 1990. The ADA and related laws ensure equal treatment for disabled persons in terms of access, housing, employment, voting, etc. Do you consider wheelchair ramps pointless? Handicapped doors? Elevators? Just curious.

The changes necessary to make a website accessible—in a manner similar to the way “brick and mortar” businesses are required by law to be—are not great at all. In fact, we do it routinely with every site we build (at least every one I oversee) at no additional charge and it takes no additional time, just a little forethought. So cost can’t be an excuse to hide behind.

But if you want another reason to do it, consider SEO (Search Engine Optimization). Google (and all web spidering applications, for that matter) are the greatest consumers of websites in existence. And they don’t see the pretty pictures and they don’t use a mouse. Semantically marked-up, accessible, web standards-based documents routinely generate higher search rankings than non-semantic/standards/accessible ones because the content is accessible.

Then there’s the cost savings in maintenance, the cost savings in server storage space, the cost savings in bandwidth usage, the faster page downloads for your users, and the ability to deploy the same content to multiple devices/media—print, TVs, PDAs and cellphones, just to name a few. In terms of benefits, the list goes on and on, and all of these come at no additional cost when you use web standards.

If you don’t see the point in making the effort for selfless reasons, perhaps these will make more sense.

I realize that most of you reading this have, more likely than not, already joined the accessibility bandwagon. Some selflessly even. I just needed a moment to publicly rant. Thanks.