- From: Al Gilman <Alfred.S.Gilman@IEEE.org>
- Date: Thu, 20 Mar 2008 15:01:49 -0400
- To: Dan Connolly <connolly@w3.org>
- Cc: Tim Berners-Lee <timbl@w3.org>, TAG List <www-tag@w3.org>, Judy Brewer <jbrewer@w3.org>, W3C WAI-PFWG <w3c-wai-pf@w3.org>
On 13 Mar 2008, at 1:19 PM, Dan Connolly wrote: > > Al Gilman wrote: > [..] >>> -- What is et problem with browsers handling a colon in an HTML >>> tag name? Pointers? >>> >> The colon works in three mutually incompatible ways in >> 1) text/html in IE >> 2) text/html in Gecko/WebKit/Opera >> 3) XML (including application/xhtml+xml in Gecko/WebKit/Opera) > > Would you please elaborate? preferably in the form of test cases? > i.e. specific example documents? Henri Sivonen and Simon Pieters contributed the discussion quoted below, that I can't improve upon. Note in particular that there are specification-based differences in the behavior. Yes, it's a difference built into the way the Web works today, and yes, there is an implementation glitch or two here and there that exacerbates the problem; but *even if the implementation glitches weren't there,* there would still be a problem with using colons in the attribute-names of the WAI-ARIA attributes. So it's not just "a problem with the current implementations." It's a problem with the HTML and XML specifications requiring different things. Al -- From: simonp@opera.com Subject: Re: test cases to demonstrate differences? Date: March 19, 2008 7:32:05 PM EDT On Tue, 18 Mar 2008 13:20:01 +0100, Henri Sivonen <hsivonen@iki.fi> wrote: > Here's what I would have sent on my own but didn't. Feel free to > present my points as yours. > Thanks Henri for writing this email; I'll augment with some additional points below. [...] > On Mar 18, 2008, at 04:02, Al Gilman wrote: > >> Begin forwarded message: >> >>> Al Gilman wrote: >>> [..] >>> >>>>> -- What is et problem with browsers handling a colon in an >>>>> HTML >>>>> tag name? Pointers? >>>>> >>>>> >>>> The colon works in three mutually incompatible ways in >>>> 1) text/html in IE >>>> 2) text/html in Gecko/WebKit/Opera >>>> 3) XML (including application/xhtml+xml in Gecko/WebKit/Opera) >>>> >>> >>> Would you please elaborate? preferably in the form of test cases? >>> i.e. specific example documents? >>> [...] >> > There's a demo of how different syntaxes behave with getters and > selectors: > http://simon.html5.org/test/aria/colon-vs-dash/ > Now also features setters. > Browsershots: > http://browsershots.org/http://simon.html5.org/test/aria/colon-vs- > dash/ > Requests 1 to 3 are of the old demo; request 4 is of the new demo. > Things to note: > * IE6 doesn't support attribute selectors at all, so the test is > moot in IE6. > * The IE7 screenshot in group 1 has failed to load all the > iframes, see group 3 instead. > * The colon breaks attribute selectors in IE7. The dash does not. > * The selector behavior with the colon is incompatible between > HTML and XHTML in Gecko, Opera and WebKit. > * Konqueror's XHTML processing has bug which makes the colon > behave differently from Gecko, Opera and WebKit. > * The dash works consistently in all the tested browsers that > support attribute selectors. (All but IE6.) > * In browsers that support both XHTML and HTML, the dash works > consistently across XHTML and HTML. > * setAttribute() with colon results in the HTML-style no-namespace attribute, while setAttributeNS() with colon results in the XML- style namespaced attribute. (Per spec, but probably confusing for authors.) * When using the dash, there no need to use namespaces in CSS or *NS methods in the DOM (which are not even implemented in IE). Just straightforward [aria-foo] and get/setAttribute(). > In summary: The dash works consistently in all cases (except IE6 > which doesn't support attribute selectors in either case). The > colon causes various kinds of inconsistencies between browsers and > within browsers between serializations. > >> I think we should also give spec citations for the cases where these >> differences are required by specification. You and Henri had to >> follow >> up to teach me this, and the TAG could well be unclear on this point, >> from the record we have of their latest telecon. >> HTML 4.01 has no support for namespaces. The Namespaces in XML spec does not in any way affect HTML or text/html processing. Therefore, the colon has no magic attached to it in text/html. It's a bit hard to point to something that isn't there, but perhaps the non-existence can be demonstrated by inspection: HTML 4.01 and RFC 2854 don't mention the word "namespace": http://www.google.com/search?q=namespace+site%3Awww.w3.org%2FTR% 2Fhtml4%2F http://www.google.com/search?q=namespace+site%3Ahttp%3A%2F% 2Fwww.ietf.org%2Frfc%2Frfc2854.txt ...and the only mentions of "html" in the Namespaces in XML spec is in examples that use XHTML. > In DOM Level 2 Core, the *NS method variants have in their > definition "HTML-only DOM implementations do not need to implement > this method." Clearly, the writers of the spec thought that > namespace processing is not relevant to HTML. Section "1.1.8. XML > Namespaces" takes it for granted that namespaces apply to XML as in > the section title and doesn't even mention HTML. > http://www.w3.org/TR/DOM-Level-2-Core/core.html > > DOM Level 3 Core makes the non-support of namespaces in HTML explicit: > "NOT_SUPPORTED_ERR: May be raised if the implementation does not > support the feature "XML" and the language exposed through the > Document does not support XML Namespaces (such as [HTML 4.01]). " > http://www.w3.org/TR/DOM-Level-3-Core/core.html > >> <quote >> cite="http://www.w3.org/2008/03/13-tagmem-minutes.html#item02"> >> is a problem with existing browser implementations >> </quote> > > The recent discussion in the HTML WG relating to namespaces is > about enabling the creation of SVG and MathML DOM fragments by the > HTML 5 parsing algorithm. In that case, the legacy is that SVG > renderers expect the *element* nodes to be in the SVG namespace. > ARIA is about attributes and has a very different DOM legacy > landscape and very different time-to-market considerations. > > Even if the SVG-in-text/html ever goes somewhere, it will be *at > least* one major browser release cycle away. On the other hand, > three out of the top four browsers are about to be updated with > ARIA support with the dash syntax. That's a remarkably good > situation from the Web accessibility point of view. It would be > foolish to disrupt the situation because of a Namespaces in XML- > related principle and delay accessibility features that are acutely > needed. -- Simon Pieters Opera Software > -- > Dan Connolly, W3C http://www.w3.org/People/Connolly/ > >
Received on Thursday, 20 March 2008 19:02:37 UTC