I have a script that enables me to show images and the trigger is -
<input type="radio" name="_$Extras" value="0;0;None"  checked onClick=changeExtra('/images/empty.gif')>
When i try to validate the W3C reports -

an attribute value must be a literal unless it contains only name characters.
and goes ahead and says -

You have used a character that is not considered a "name character" in an attribute value. Which characters are considered "name characters" varies between the different document types, but a good rule of thumb is that unless the value contains only lower or upper case letters in the range a-z you must put quotation marks around the value. In fact, unless you have extreme file size requirements it is a very very good idea to always put quote marks around your attribute values. It is never wrong to do so, and very often it is absolutely necessary.
Strange thing is, i have a few of the lines, and it picks up on different characters, usually the '(' after changeExtra, but sometimes it picks out the 'a' or the 'r' in changeExtra

If anyone can shed any light i would be grateful.