W3C home > Mailing lists > Public > public-html-comments@w3.org > September 2009

Re: Where is processing of binary attributes covered?

From: Geoffrey Sneddon <foolistbar@googlemail.com>
Date: Thu, 24 Sep 2009 12:00:46 +0100
Cc: Philip Taylor <pjt47@cam.ac.uk>, public-html-comments@w3.org
Message-Id: <C94FD507-00ED-44CF-AE29-F3A7B8A4F3E8@googlemail.com>
To: Henry S. Thompson <ht@inf.ed.ac.uk>

On 23 Sep 2009, at 21:48, Henry S. Thompson wrote:

> Philip Taylor writes:
>> In particular, the tokenizer state machine will result in a start tag
>> token with name "input" and with one attribute, which has name
>> "disabled" and value "banana". That feeds into the tree construction
>> algorithm, which will http://whatwg.org/html5#insert-an-html-element
>> which will http://whatwg.org/html5#create-an-element-for-the-token
>> which requires "the attributes on the node being those given in the
>> given token". No error recovery occurs while parsing this case. The
>> attributes in the DOM are (very nearly) always exactly what was in  
>> the
>> input document.
>> The only kind of error recovery in this case is that
>> http://whatwg.org/html5#concept-fe-disabled defines the element to be
>> disabled if the 'disabled' attribute exists on the element in the  
>> DOM,
>> regardless of the attribute's value.
> Hmm.  OK, I misunderstood.  I thought that in general the DOM which
> resulted from parsing was 'conformant', i.e., would if serialized by a
> conformant document, but it appears I was mistaken.

This would make it impossible to degrade new stuff nicely. E.g.,  
<input type=date>. I can in JS do something like:

var type = input.getAttribute("type") ?  
input.getAttribute("type").toLowerCase() : "text";
if (input.type != type)
	if (type == "date")
	else if (type == "color")

If the DOM was always conformant, it would be impossible to do that,  
and would make degrading gracefully in older UAs a lot harder.

Geoffrey Sneddon
Received on Thursday, 24 September 2009 11:01:31 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 20:03:58 UTC