- From: Michael Cooper <cooper@w3.org>
- Date: Tue, 18 Aug 2009 12:53:54 -0400
- To: HTML WG <public-html@w3.org>
- Message-ID: <4A8ADCA2.2000803@w3.org>
I agreed in last week's HTML teleconference <http://www.w3.org/2009/08/13-html-wg-minutes#item02> to provide some written information about how PFWG currently thinks ARIA should be integrated in host languages, in light of concerns that have been expressed in public comments and in discussion on this list. Our current thinking is refined by suggestions that have come in as public comments to the ARIA Last Call Working Draft, which have formal tracking and reporting requirements. We have been cautious about sharing our proposed answers to comments because they are still in flux, and we are not yet ready to engage in broad public discussion, given the formal tracking and reporting requirements we have for these comments. There is, however, an interdependency between the ARIA and HTML specifications that makes it important to be able to coordinate on the resolution to some issues. To enable this coordination, I will summarize the current approach we're thinking of. It is important to understand the caveat to this - this does not represent a final nor even yet an official position of the PFWG. This discussion will provide provide important input to the final position, but other sources may as well, including public comments that we have not yet processed. We expect to continue the coordination thread on these issues so when we do have an official response, the content shouldn't be a surprise. The basic question is how user agents should handle situations in which ARIA features conflict with host language features. This may because there are host language elements that are non-nonsensical to reclassify with ARIA roles, or because ARIA properties might be redundant with host language properties and in fact conflict, leading to uncertainty as to which one is correct. Some list discussions have focused on the comment that objects to the position in the ARIA specification that a valid ARIA role must not be treated as non-conforming in the host language. We agree that some host language features should not, in theory, be reclassified with ARIA roles. This is because it might be difficult to define the processing model for such situations (<input type="checkbox" role="radio" />) was presented as a frequent example, or because the host language element is semantically similar to an ARIA role and should be used for that purpose without reclassification. On the other hand, ARIA was developed to bridge situations in which authors were repurposing host language elements, and it needs to be possible to use ARIA to provide the appropriate semantic. On the third hand, host languages evolve and provide features that previously authors could only achieve with repurposed elements. On the fourth hand, legacy content may include ARIA repurposing of elements that would not be required in newer content using the updated host language, so that would still need to be supported even if it's no longer technically correct. We propose a set of changes to the ARIA specification to balance these issues. In the section on incorporating ARIA in host languages, we would add the concept of "implicit ARIA semantics" - host language features that are substantially the same as an ARIA feature. For example, HTML <input type="checkbox" /> matches the ARIA role of "checkbox"; HTML 5 <article> matches the ARIA role of "article"; the "checked" attribute (mostly) matches the "aria-checked" state. Authors are instructed to use the host language elements when available, not repurpose other elements with ARIA. Because authors don't always do as they're told, we have to define what happens when authors don't respect that rule. In the case of host language features that have the implicit semantic of an ARIA state or property, the host language feature wins. Authors should not be using ARIA states and properties in these cases, and are assumed to have paid more attention to updating the host language feature than the ARIA feature. However, in the case of roles, the ARIA feature wins, even for weird situations. This is because there are many use cases in which authors need to repurpose elements with roles that we as specification developers didn't necessarily account for. Since ARIA is intended to add semantics particularly for these unusual situations, it is important that ARIA roles be given precedence by the user agent. Notwithstanding the above rule, we do agree that there are elements that should not be repurposed with ARIA roles. Therefore we suggest that host languages may define "strong native semantics", which are features that should not be overridden with ARIA roles. Although the user agent still needs to let the ARIA role override (to preserve the main use case for ARIA), conformance checkers should raise an error or warning when ARIA overrides a strong native semantic. The documentation of implicit ARIA semantics and strong native semantics is left open-ended. It would need to be in a normative document, but which document is not defined. The HTML specification might include this information, or the ARIA user agent information guide might do so. Another possibility would be to create an "ARIA in HTML 5 Implementation Guide" that would provide this information - a normative document that could be published by the HTML WG, by the PFWG, or as a joint publication. This is just an idea to suggest that there are options, not any kind of commitment to any specific document. One note about the processing of ARIA features - this mainly affects how elements are exposed to accessibility APIs, and needs to be done in accordance with the rules outlined above. Other aspects of user agent processing are not constrained, because ARIA does not usually affect styling or processing of elements. The author must separately do that in addition to providing the ARIA information. Therefore, even in situations where host language features are inappropriately overridden with ARIA roles, the impact of this isn't all that great, except for what is exposed to accessibility APIs. It is our hope that this approach meets the needs that have been expressed by the HTML Working Group for ARIA integration. Although there are still situations in which we need ARIA to win, we provide a couple mechanisms by which these can be defined as conformance errors even though processing still follows the ARIA rules. Michael -- Michael Cooper Web Accessibility Specialist World Wide Web Consortium, Web Accessibility Initiative E-mail cooper@w3.org <mailto:cooper@w3.org> Information Page <http://www.w3.org/People/cooper/>
Received on Tuesday, 18 August 2009 16:54:34 UTC