Re: appendChild exception missing from standard

On Tue, 12 Sep 2006 02:17:39 +0200, Ray Whitmer <ray@xmission.com> wrote:

>> Keeping this "implementation specific" means less interoperability  
>> because some implementations will violate the expectations of those  
>> authors.

> One reason for not specifying it more is that the basic part of the DOM
> specification serves both type safe and non-type-safe languages.

Dear Ray,
thanks for a detailed explanation. I see why exceptions on unexpected  
input aren't covered in more detail and I agree a test suite would be  
useful for interoperability.

> Null handling has also traditionally been a bit different even from one
> Javascript implementation to another, and every time I try to describe  
> the current or historical handling on particular browsers I get into  
> trouble,
> even though I know some of the issues and worked on and represented  
> Mozilla for a few years.
>
> It was to satisfy a particular Javascript implementations, for example,  
> that getAttribute was not permitted to return a null, but returns an  
> empty string for no attribute

So the trouble we (Mozilla and Opera implementors) have been through there  
was our own fault? :-(


> If it affects interoperability, it might be worth making a test suite.   
> I think
> there are other very important things that should be done by browser  
> vendors
> towards interoperability, for example, giving web masters a super strict  
> mode
> where any non-portable behavior (in violation of a standard, known to be
> broken or incorrectly implemented on major browsers, etc.) raises an  
> exception.
> The horrible tag/JS soup we have today is caused by browsers trying to  
> accept
> anything and thus being a treacherous yet the most popular tool for  
> webmasters.

Indeed. I think the situation is improving here though, with for example  
the "Error console" in Opera 9 listing problems with a site's CSS.

> To get real work done on the DOM specification, a working group would  
> have to be tasked with it with active input and testing from more than  
> one browser vendor.

I have no idea about the state of the working group. Anyway, this issue  
wasn't terribly important, I see why it's not covered explicitly in the  
spec, and it's even sort of a competitive advantage for Opera that we have  
discovered the necessity of throwing those exceptions while some of our  
competitors might follow the spec but ignore these implementation defined  
details.. ;-)

-- 
Hallvord R. M. Steen
Core QA JavaScript tester, Opera Software
http://www.opera.com/
Opera - simply the best Internet experience

Received on Monday, 18 September 2006 16:53:18 UTC