References for Video 3

From CodeTalks

Further Material

Feedback from CBlouch

1/27/09 4:23EST

Glad to see you picked up on my axs library. I hope many folks will find your presentation helpful and implement more keyboard controls in web widgets.

Only a few nits I might note:

If you are not using args in your axs.keyreg call you can just leave it out rather than passing in a "" as shown in your video. The des parameter is also not needed if you don't plan to use the axs.keychart method. This is why I have the optional parameters passed in as a sparse array so you can leave out the bits you don't need. So in simplified form you could just do

axs.keyreg("left",toolbarCommands.Prev,{node:axs.id("customToolbar")});

The DHTML style guide also specifies some keys for media players, which your example is a part of

http://dev.aol.com/dhtml_style_guide#mediaplayer

In particular, if the media autostarts on pageload (as most do) you want a global shortcut to get the thing to stop. A screen reader user will have difficulty navigating to the pause/stop button somewhere on the page while the audio track is playing over top of their speech synthesizer.

You might also note that axs.id is just a shortcut for document.getElementById so folks don't think it's a special requirement for the use of the axs.keyreg method.

Glad to see you use the axs.ae method. Many libraries have something similar and it hides a lot of goofy complexity and bugs between different browsers when adding event handlers to objects. The axs.keyreg method itself would not have been possible without axs.ae.

Also, I was hoping the name would be pronounced like Access rather than A X S, but that seems to be a battle I'm losing on a number of fronts :)

Feedback from AaronLev

Do you want to provide a link to further materials, such as the style guide, the axs library, and the page on codetalks: http://wiki.codetalks.org/wiki/index.php/Docs/Keyboard_navigable_JS_w... I'm not sure how to best provide links in a video, but maybe each video needs a page of references to go along with it.

Speaking of the codetalks page, do you need to include any more of the authoring tips described there? http://wiki.codetalks.org/wiki/index.php/Docs/Keyboard_navigable_JS_w...

When mentioning Inspect, mention Accerciser and whatever the Mac tool is, and say where users can find them.

Tabindex summary: tabindex="-1" means also focusable via click

For the slide "Using tabindex on items (10:48 mark)" Set container tabindex="0" <-- this is false, only the currently active descendant should get a tabindex of 0, all other descendants get -1, and the container doesn't get one. As the focus moves, the new item gets tabindex="0" and the previous item gets tabindex="-1"

  • Note that focusedChild.className+="" will not be necessary in IE8