Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#9783 closed defect (fixed)

dijit._Widget, nodesWithKeyClick, ondijitclick

Reported by: holgerthurow Owned by: Becky Gibson
Priority: high Milestone: 1.5
Component: Accessibility Version: 1.3.2
Keywords: dijit._Widget, nodesWithKeyClick, ondijitclick Cc:
Blocked By: Blocking:


Maybe there is a small bug in in dijit._Widget: After defining in line 853

nodesWithKeyClick: ["input", "button"],

there is in line 884 the condition


but nodesWithKeyClick was declared as an array, not an object. Further obj.nodeName has to be in lower case to match nodesWithKeyClick, but in FF 3, OS X it is in upper case, e. g. "INPUT".

Change History (7)

comment:1 Changed 12 years ago by bill

Component: DijitAccessibility
Owner: set to Becky Gibson

Hmm, that does look wrong. Becky?

comment:2 Changed 12 years ago by Becky Gibson

Milestone: tbd1.4

comment:3 Changed 12 years ago by Becky Gibson

Resolution: fixed
Status: newclosed

nodesWithKeyClick is declared as part of the widget object, thus it needs to be referenced via this.nodesWithKeyClick. The issue with capitalization was addressed in [17832] so closing as fixed.

comment:4 Changed 12 years ago by holgerthurow

Resolution: fixed
Status: closedreopened

Of course nodesWithKeyClick has to be referenced via "this". But, as I see it, this.nodesWithKeyClick is not an "associative array", it is a simple array. It does not have a key named "button". this.nodesWithKeyClick.button is undefined. "button" is the value of frame 1 in the array (this.nodesWithKeyClick[1]).

So I think you have to do something like

dojo.indexOf(this.nodesWithKeyClick, obj.nodeName.toLowerCase()) >= 0

comment:5 Changed 12 years ago by bill

Milestone: 1.4tbd

comment:6 Changed 12 years ago by Becky Gibson

Resolution: fixed
Status: reopenedclosed

(In [21733]) fixes #9783 proper referencing of nodesWithKeyClick in connect() !strict

comment:7 Changed 12 years ago by bill

Milestone: tbd1.5
Note: See TracTickets for help on using tickets.