- From: Martin Kliehm <martin.kliehm@bluemars.net>
- Date: Thu, 22 Feb 2007 15:07:59 +0100
- To: www-html-editor@w3.org
Dear editors, I understand the most common way to add modules is through namespaces. But even in XHTML 1.1 the W3 validator throws an error at namespaces [1], so I rather combined the XHTML Role DTD with the ARIA-State DTD. Alas that's impossible if I do not edit the modules themselves [2]. The difficulty lies in the order the modules have to be implemented. If my understanding is correct the order has to be like this: 1. bring in the Role Attribute modules (xhtml-role-1.mod, xhtml-role-qname-1.mod) 2. bring in the States and Properties module (aaa-qname.mod), 3. add %xhtml-role.attrs.qname; and %aaa.attrs.qname; to %Common.extra.attrib, 4. get the XHTML 1.1 driver, 5. add tabindex to text containers. Now the problem is that ARIA-State is *bundled* with the XHTML 1.1 driver *and* tabindex. Thus I can't add %xhtml-role.attrs.qname; to %Common.extra.attrib after aaa-qname.mod but before the XHTML 1.1 driver. If I add it before the ARIA-State module, %Common.extra.attrib gets overwritten by %aaa.attrs.qname; and my role definition is lost. If I try to IGNORE the XHTML driver in the Aria-State module in order to add %Common.extra.attrib and then manually INCLUDE the XHTML driver later, the tabindex extension gets lost. Concerning the DTDs there are these inconveniences: 1. It would be more consistent with other XHTML modules to create ARIA-State as an add-on module without bundling it with the XHTML 1.1 driver. That would also enable the use of these modules in other XML languages. But if I'm right and the states and properties must be added before the XHTML driver and tabindex extended after it, there need to be two separate modules: a) States and Properties, b) tabindex. 2. If you have to bundle it for convenience of the average user, create an extra deluxe bundle with XHTML 1.1, XHTML Role and ARIA-State. That should be optional, an extra service for the lazy developer, while the modules themselves should be available unbundled. 3. A better solution to extend %Common.extra.attrib is needed, so that the role attribute extension doesn't conflict with the states and properties extension. Also adding tabindex to %Common.extra.attrib might be an option [1], so there would be 3 modules that use it. 4. The manual implementation of both xhtml-role-1.mod and xhtml-role-qname-1.mod is a bit of a pain. I would expect xhtml-role-1.mod to bring in the qname module, instead it does nothing (and even says so in a comment). Probably the HTML WG had good reason to create it that way, but I wonder why? "Does nothing" reads like a joke. 5. The "triple-a" in "xhtml11-aaa.dtd" or the default namespace leads to some confusion because people think it is related to triple-a WCAG conformance. Calling it xhtml11-state.dtd with a "state" default namespace would be less ambiguous. I have posted this a while ago to the Protocols and Formats WG [2], but I thought it might be good to bring this to the attention of the XHTML Role editors as well. It is impossible to address this issue without the other working group since both DTDs are concerned and a harmonization is needed. Best regards, Martin [1] http://validator.w3.org/check?uri=http://learningtheworld.eu/aaa-dtd-xmlns/ [2] http://learningtheworld.eu/aaa-custom-dtd/ [3] http://lists.w3.org/Archives/Public/public-pfwg-comments/2006OctDec/0003.html [4] http://lists.w3.org/Archives/Public/public-pfwg-comments/2006OctDec/0002.htm
Received on Thursday, 22 February 2007 14:08:10 UTC