- From: Aaron M Leventhal <aleventh@us.ibm.com>
- Date: Thu, 22 May 2008 19:08:59 +0200
- To: ht@inf.ed.ac.uk (Henry S. Thompson)
- Cc: Henri Sivonen <hsivonen@iki.fi>, "public-html@w3.org" <public-html@w3.org>, public-html-request@w3.org, "public-xhtml2@w3.org" <public-xhtml2@w3.org>, w3c-wai-pf@w3.org, "wai-xtech@w3.org" <wai-xtech@w3.org>, "www-tag@w3.org" <www-tag@w3.org>
- Message-ID: <OF8EA64BD2.984C607D-ONC1257451.005A8470-C1257451.005E5BE0@us.ibm.com>
> > HST wrote: > >> AML wrote: > >> > I'm very concerned that there is not a realistic view about how > >> > much this will hurt authors. > >> > >> I agree that if things were as bad as you thought they were, that > >> would be a problem. But I hope I've shown above that they are _not_ > >> as bad as you thought. > > > > You don't think the fact that I got 2 different DOMs for the same > > attribute in my XHTML is a problem? That happens when your instructions > > are followed correct[ly]? > > Not a problem for most users, no, because as long as they stick to > doing set/get/removeAttribute("aria:...") they will never notice that > (in Firefox) the DOM sometimes starts out one way and changes to > another. I want to ensure that everyone understands the proposal clearly: HT is advocating that the DOM starts out one way and changes to another, for the same property value combination. > What's crucial is that in both states the relevant attribute > has the _same_ nodeName, that is, "aria:checked". > That means it's not > a problem for browser/assistive API interface implementors either. Some code will notice the difference. This is just good old Murphy's law and a daily reality for people building architectures on the web. . It is impossible to guarantee that 2 different representations will not end up being processed differently, without examining every usage. Your proposal recommends that authors create the external, visual appearance that the model is the same, by using two CSS selector rules. This is already an indication that the two representations are not actually processed the same way everywhere. Any time a software architecture represents the identical semantics in 2 ways, the processing of that markup must be forked somewhere else. A good model should represent the same semantic in one way. A dual representation is a predictable source of bugs. This is a fundamental principle of computer science. The dual method of property representation are bound to introduce additional bugs into ARIA attribute processors -- browsers, ATs, testing tools, scripts or whatever. These bugs will generally be silent errors, and therefore many of them will fail to be found. When they are actually found, the author will be forced to meticulously understand the excruciatingly minute differences in the representation, and where and why those differences occur. They will have to comb their code for ARIA attribute processing, test, make modifications, and test again. This will actually hurt potential namespace adoption and slow down ARIA's momentum, which should not be underestimated. It is not as common as it should e for a standard to get such broad adoption. I hope the TAG respects the browser vendors' united request that we stick with solid architectural principles, and maintain only one representation for each ARIA property in the DOM. It is impossibly optimistic to hope that having 2 different representations for the same property, even within same runtime for a single page, will not create weird issues distributed across the complex ecosystem of web software. I am not optimistic that the sneaky, complex approach style work on the web. The proposal appears to underestimate the complexity and fragility of web architecture. Regressions on the web are simple to introduce, but difficult to track down. There are just too many diverse environments to support, and the technologies mix in unexpected ways. Representing the same semantic in two ways in a runtime, is exactly the kind of trip-wire that developers are trained to avoid. In general, the risky, complex approach is not the right one for the web. Two representations in one runtime is fundamentally wrong and predictably buggy. Strong -1 on the proposal to use colon for fake namespaces. - Aaron
Received on Thursday, 22 May 2008 17:11:23 UTC