Re: Conformance requirements on browsers

On Fri, 13 Sep 2013 10:57:05 +0200, Jukka K. Korpela  
<jukka.k.korpela@kolumbus.fi> wrote:

> I’d still like to see where this is stated. User agents are required to  
> process elements and attributes in certain ways, but where does the spec  
> forbid them from doing anything additional with them?
>
> As I tried to point out, the spec strongly discourages vendor  
> extensions, but it does not forbid them. In 2.2.3, a document using  
> vendor extensions is declared non-conforming. Wouldn’t this be the place  
> to say that a user agent supporting vendor extensions is non-conforming  
> too, if this is what is meant? It says: “New element names should not be  
> created.” By saying “should” and not “shall”, this seems to mean that a  
> browser supporting an element not mentioned in the spec at all may be  
> conforming.
>
> It sounds illogical that a browser is not allowed to support <bgsound>  
> but is allowed to support <backgroundsound>.

So a bit more context:

[[
For markup-level features that are intended for use with the HTML syntax,  
extensions should be limited to new attributes of the form  
"x-vendor-feature", where vendor is a short string that identifies the  
vendor responsible for the extension, and feature is the name of the  
feature. New element names should not be created.
]]

So new elements should not be created, you're right that that means that  
there can exist situations in which it is conforming for a UA to do so  
anyway. The other requirement is that such extensions should be named as  
"x-vendor-feature", but again there can exist situations in which it is  
conforming for a UA to use a different naming.

This suggests that both "bgsound" and "backgroundsound" *could* be  
vendor-specific extensions, and can be conforming if the UA vendor has  
valid reasons and has carefully considered the implications before  
implementing it. However, if a particular browser has just kept an old  
element around since the dawn of time (or at least since before this  
requirement existed in the spec), it's hard to argue that they comply with  
these "should" and "should not".

-- 
Simon Pieters
Opera Software

Received on Friday, 13 September 2013 11:29:48 UTC