Ian Hickson:
It's my understanding that what you describe as what browsers do is also what the specs require. The attribute is defined as being of type "long", so if I'm not misreading the Web IDL spec, the browser will try to convert the null or string value to a number (and fail) long before the HTML spec's prose is relevant.
For the long type, null and strings like "junk" will get converted to 0. http://dev.w3.org/2006/webapi/WebIDL/#es-long
