<!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>
Created attachment 17594 [details] example page
I'll take care of this. It's a bug in HTMLInputElement::setChecked when the new value is false.
Created attachment 17598 [details] patch
Committed revision 28212.