Bug 16191

Summary: REGRESSION: cannot tab to radio input after setting checked to false
Product: WebKit Reporter: Brian <bcarter>
Component: New BugsAssignee: Darin Adler <darin>
Status: RESOLVED FIXED    
Severity: Major    
Priority: P1    
Version: 523.x (Safari 3)   
Hardware: All   
OS: All   
Attachments:
Description Flags
example page
none
patch adele: review+

Brian
Reported 2007-11-29 09:42:33 PST
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>Safari v3 bug</title> <!-- Bug: cannot tab to checked false radio input Safari v3.0.4 (523.12.9) Windows XP Safari v3.0.4 (523.12) Mac OS X 10.4.11 To reproduce: Press TAB to cycle through radio inputs. Select one radio with SPACE or mouse click. Continue to press TAB. Notice TAB will now skip the input. Expected: checked false inputs with unique IDs should always be in the TAB sequence. works as expected in Safari v2.0.4. and current versions of Opera, Firefox, and IE. --> <script language="JavaScript" type="text/javascript"> function initFocus() { var myInputs = document.getElementsByTagName('INPUT'); for (var i=0; i<myInputs.length; i++) { myInputs[i].onclick=function(){ var myFieldset = this.parentNode.parentNode; var myInputs = myFieldset.getElementsByTagName('INPUT'); for (var i=0; i<myInputs.length; i++) { myInputs[i].checked=false; } //this.checked=true; }}} </script> </head> <body onload="initFocus();"> <form action=""> <fieldset style="margin-left:1em;border:0"> <input type="radio" name="input-p1q1-1" />answer1<br /> <input type="radio" name="input-p1q1-2" />answer2<br /> <input type="radio" name="input-p1q1-3" />answer3<br /> <input type="radio" name="input-p1q1-4" />answer4<br /> </fieldset> </form> </body> </html>
Attachments
example page (1.50 KB, text/html)
2007-11-29 09:44 PST, Brian
no flags
patch (5.62 KB, patch)
2007-11-29 16:42 PST, Darin Adler
adele: review+
Brian
Comment 1 2007-11-29 09:44:04 PST
Created attachment 17594 [details] example page
Darin Adler
Comment 2 2007-11-29 13:06:43 PST
I'll take care of this. It's a bug in HTMLInputElement::setChecked when the new value is false.
Darin Adler
Comment 3 2007-11-29 16:42:15 PST
Darin Adler
Comment 4 2007-11-29 16:54:19 PST
Committed revision 28212.
Note You need to log in before you can comment on or make changes to this bug.