This actually turned out to be a problem I wasn't able to solve with CSS and the reason my previous attempt at hardcoding it in html_output.php is that I had the right solution in the wrong place. Without investigating why, I've discovered that the css_buttons.php code was actually controlling these input buttons, not the html_output.php as I originally thought. I decided to do a brute force change to capture all the different kinds of situations that might occur. Anyone who decides to try to fix this "problem" should be forewarned that the outline box I was trying to remove is a result of "focus" on the input button and that removing it will render it basically useless to visually impaired customers using things like screenreaders because the focus is gone. For those of you who are willing to proceed with removing the focus, this is how I solved the problem:
In the file installed for the CSS Buttons mod, I made the following addition to includes/functions/extra_functions/css_buttons.php:
if (strpos($parameters, 'class="') === FALSE){
// only add class if no class is passed through $parameters
$class = ' class="' . $mouse_out_class . '" ' . $css_button_js;
}
// 08/13/07 Add onfocus="this.blur();" to eliminate dotted
// outline when button is in focus
$class .= 'onfocus="this.blur()"';
It would actually have been more appropriate to add the extra code to the $css_button_js variable instead, but I didn't know enough about the code to determine if it was safe to bypass those IF blocks. In this case, it looked clean enough to just tack it on to the end without any side effects no matter what the souce of the $class setting was.
I have NOT done any testing with IE or Opera. I have only observed that this gets rid of my dreaded box in Firefox for all the buttons I've been able to test so far. Keep in mind that since functions aren't available as overrides, this will be a problem everytime you upgrade your code, but then again, so will the entire CSS Buttons mod!
HTH Karen