Mozilla and IBM are promoting a new method of keyboard accessibility that sets tabindex="-1" on items that you the author want to be manipulable by keyboard. (Hi, Anne!)

Now, whose idea was a negative tabindex? Microsoft’s.

All this, of course, is illegal. HTML requires tabindex to be a number between 0 and 32767. XHTML DTDs actually allow tabindex to be any character. Arguably the HTML spec is too limiting and indisputably the XHTML spec is a mistake.

Right. So it’s OK to bust both of them by using a negative number? And apply tabindex to elements that cannot take it, like any element at all?

I sat in the big room at the W3C plenary in February when Rich Schwerdtfeger demoed the new system. I pointed out that the HTML spec doesn’t go lower than zero for tabindex values. Al Gilman, two seats away, said he’d be getting in touch with the HTML Working Group to change that.

So that’s a priority fix for HTML?

I mentioned this before, you know. I’m not opposed to improved keyboard accessibility. How could I be? I type 90 words a minute. I’m pro-typing. Certain disabilities require keyboard access. I’m all for it.

However, if you’re going to use tabindex, why can’t you just live within the spec?

  • Why not use tabindex="32767"? It’s as good as -1, isn’t it? So is 1, for that matter. Use the available range in the existing spec to create your own microformat. Why “harmonize” on Microsoft’s contradiction of the spec?
  • How are you going to resolve the problem of applying tabindex to everything under the sun? With a custom DTD? I thought the W3C discouraged custom-DTD creation; you’re supposed to use only their custom DTDs. (XHTML is modular, but only the right people get to make their own modules.) This is centralization in drag, but that’s how they look at things.
  • Now, though, we’re going to do what – define an entire new XHTML DTD just for tabindex? And leave everything else – including accessibility fixes like form labels that are quite a bit more urgent – until XHTML 2? (Why don’t you add embed to the spec while we’re at it?)
  • Doesn’t that mean this technique will never, ever work with valid HTML documents?

What is the rush on this one, except for the fact that somebody at a big company came up with an idea? Why are we either disregarding the whole spec, or toying with rewriting it, for this one little thing?

If you think this is a problem that needs to be solved, then I want all the other problems solved, too.

The foregoing posting appeared on Joe Clark’s personal Weblog on 2005.08.22 17:53. This presentation was designed for printing and omits components that make sense only onscreen. (If you are seeing this on a screen, then the page stylesheet was not loaded or not loaded properly.) The permanent link is:

(Values you enter are stored and may be published)



None. I quit.

Copyright © 2004–2024