tags:

views:

301

answers:

1

I first noticed apparent lack of keyboard support for navigation in dijit.Tree and am aware there were changes to keypress keydown behaviour around Safari 1.3.1

Also there was significant thought put in by dojo contributors on best way to go, e.g. trak 6876

Recently i have had issue with some of my own keydown handlers not firing

(The two seem linked because there is an onkeypress dojoattachevent in dijit.Tree template)

I have simplified to following code snippet which on Safari 4 (Mac) debugs out keycodes to console but on Safari 3.2.3 (XP) does not.

Is this a bug or are the events just basically not there on Safari 1.3 and a decision made to not support arrow key nav?

I started taking a look at this on dojo 1.3 initial release but did just have a play with 1.3.2 aolcdn - results seem the same.

Simple markup:

    <div dojoType="dijit.layout.BorderContainer" style="height:200px;width:500px;">
        <div id="_widget" dojoType="dijit._Widget" tabindex="1" style="background:yellow;" region="center">
        </div>
    </div>

With onload:

    dojo.addOnLoad(function(){
        dojo.connect(dijit.byId("_widget"), "onKeyPress", function(event){
            console.debug("onkeypress " + event.keyCode);
        });
        dojo.connect(dijit.byId("_widget"), "onKeyDown", function(event){
            console.debug("onkeydown " + event.keyCode);
        });
        dijit.focus(dijit.byId("_widget").domNode);
        console.info("ok");
    });
A: 

iirc, Safari 3 did not properly handle focus and tab navigation. Safari 4 shows more promise and seems to generally allow keyboard navigation but is not officially 'supported' yet as an accessible platform for Dojo.

The changes in the Dojo "dot" releases are minor -- typically emergency fixes

peller