- From: Jonas Sicking <jonas@sicking.cc>
- Date: Fri, 18 Mar 2011 15:21:38 -0700
- To: HTML WG <public-html@w3.org>, "W3C WAI Protocols & Formats" <w3c-wai-pf@w3.org>
Hi All, This is an email I've been meaning to write for a while, and with the recent decision by the chairs on ISSUE-129 it's become more urgent. Now that ARIA is allowed to override the built-in semantics of various elements in HTML, how does this affect implementation requirements? One concern that I have is that it seems fairly undefined what the implementation requirements are for markup like <a role=button href="..."> For example, should the context menu for a link or for a button be displayed if the brings up a context menu (for example by right-clicking the element). What about if the user presses "enter" when the <input> element is focused in markup like: <form><input><a role=button onclick="..." href="...">submit</a></form> If a real <button> had been used in the above markup I think firefox would activate that button (if we don't please file a bug). What about if the browser has a feature to display all links on a page. Should a <a role=button href="..."> be included in such a list? In short, there is a lot of non-AT related code in user agents that act on the semantics of the various elements in a page. In Firefox we generally act on the native semantics of elements by looking at their names. Is it expected that we rewrite all such code to instead look at the roles? Does this also apply to other HTML consumers other than browsers? Additionally, how does this affect scripting libraries? Should they stop looking at element names and instead look at their roles? Should we then deprecate APIs like getElementsByTagName and instead introduce something like getElementsByRole? Deprecate in this context would mean adding a warning to the developer console any time the API is used, as we've done in the past when attempting to remove API from the web platform. Further, what is the effect on conformance checkers? A <button> is normally allowed to contain a <video>, but an <a> is only sometimes so. What should the conformance rules for <a role=button> be? If the answer is "yes, you should look at roles rather than names", has this been discussed with HTML implementors (browsers, conformance checkers and otherwise), and/or script authors? It seems like a pretty fundamental change to the way HTML, and markup languages in general, works, and so I would think buy-in from the various stake holders would be beneficial. / Jonas
Received on Friday, 18 March 2011 22:22:41 UTC