- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Thu, 11 Mar 2010 11:06:00 -0500
- To: HTML WG <public-html@w3.org>
The text at http://dev.w3.org/html5/spec/infrastructure.html#reflect says:
"If a reflecting IDL attribute is a DOMString whose content attribute
is an enumerated attribute ...
....
on setting, if the new value is an ASCII case-insensitive match for
one of the keywords given for that attribute, then the content
attribute must be set to the conforming value associated with the
state that the attribute would be in if set to the given new value,
otherwise, if the new value is the empty string, then the content
attribute must be removed, otherwise, the setter must raise a
SYNTAX_ERR exception."
I just tested, and IE seems to be the only browser I have that raises
such a SYNTAX_ERR exception. Gecko, Webkit (both Chrome and Safari
incarnations) and Opera all allow the set to happen, though exact
behavior after that is not interoperable: Webkit silently ignores the
set, while Gecko and Opera update the content attribute to the given value.
I would obviously prefer the Gecko/Opera behavior here, since that's
simplest in terms of implementation complexity for me. But past that, I
strongly object to moving from a situation where no exception is thrown
to one where an exception is thrown. That's likely to lead to web
compatibility issues, in my experience, especially given the current
tendency towards "IE" and "not IE" codepaths and the fact that none of
the non-IE browsers throw an exception.
-Boris
Received on Thursday, 11 March 2010 16:06:35 UTC