While implementing some improvements to getAttribute in IE8, we actually 
checked in code that is conformant to what the spec says about the return value:

Return Value
DOMString
The Attr value as a string, or the empty string if that attribute does not have 
a specified or default value

Once this code was in, we immediately hit app and site compat problems because 
we always returned a string--an empty string--if the "attribute [did] not have 
a specified or default value".

As it turns out in practice, all browsers actually implement this a slightly 
different way: they return the value as a string, or null if the attribute does 
not have a specified or default value. In other words, if there is no entry for 
the requested attribute in the NamedNodeMap, then null is returned.

IE8 is being fixed to be conformant with what everyone else has implemented, I 
just thought I would pass this along to whomever is doing the DOM L3 Core 
Second Edition so that it might be recorded in that spec, an errata, or so that 
we can discuss.

Travis Leithead - OM Program Manager - Internet Explorer



Reply via email to