#4753 closed defect (fixed)
keyboard behavior of radiobuttons incorrect on IE
Reported by: | Becky Gibson | Owned by: | davidb |
---|---|---|---|
Priority: | high | Milestone: | 1.0 |
Component: | Accessibility | Version: | 0.9 |
Keywords: | Cc: | Adam Peller, Douglas Hays | |
Blocked By: | Blocking: |
Description
The keyboard behavior of dijit radiobuttons should behave the same way as a standard html radio button. In a group, when user tabs, the first radio selected should be in the tab order. Once focus is within the radio group, up and down arrows should move between radios in the group and select the radio with focus. If no button in a group is selected, tab should go to the first radio in the group and then arrow keys are used to select and move from radio to radio. Arrow keys do not work in IE6 & 7 but they do work in FF
Attachments (3)
Change History (16)
comment:1 Changed 14 years ago by
Cc: | davidb added |
---|
comment:2 Changed 14 years ago by
Owner: | changed from Becky Gibson to davidb |
---|
comment:3 Changed 13 years ago by
comment:4 Changed 13 years ago by
Cc: | Adam Peller added; davidb removed |
---|
Peller, are you familiar with the parsing of attributes? (Please see my previous comment).
comment:5 Changed 13 years ago by
Priority: | normal → high |
---|
If name isn't being copied to the DOM node then form submit won't work at all, so marking this as critical.
comment:6 Changed 13 years ago by
severity: | normal → major |
---|---|
Status: | new → assigned |
I suspect there is a problem related to the fact that in IE: "The NAME attribute cannot be set at run time on elements dynamically created with the createElement method." (from MSDN).
The patch just posted adds the name attribute to the template so that it is added during creation.
comment:7 Changed 13 years ago by
Cc: | Douglas Hays added |
---|
Hmm, if you add the "name" attribute to the template then should remove it from attributeMap. But also, if what MSN says is true then how does the code in MappedTextBox? work, that creates a new element (the hidden textbox) and sets it's name?
comment:8 Changed 13 years ago by
I'm at a loss as to why form submission worked with dijit radio buttons on IE, given the name attribute, dynamic element creation issue; but it seems to have been working (even though the attribute wasn't showing up in the IE developer toolbar for dijit radio buttons).
I'm not sure which fix we should pursue... a minimal one (the first one I attached). Or if we should consider something like the second, which worries me given the little time to catch regressions.
comment:9 Changed 13 years ago by
Actually, it's not so surprising to me that IE semi-works (but doesn't completely work) when name is set after node creation. So your attached patch looks good to me.
comment:10 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
In FF using fireclipse I can see the name attribute specified on the radio buttons in the test file making it through to the rendered dom input radio node. In IE7 using the IE Developer Toolbar I don't see the name attribute. Having a common name attribute is used for browser grouping of radio inputs. It has been a while since I looked at Checkbox.js and quite a bit has changed.
We'll need to triage where/how the name attribute gets dropped on IE.
Note: I think we'll want to update the test file as the 'set value to "fish"' button doesn't seem to do anything anymore.