Re: Using ARIA to override semantics

On 03/18/2011 06:21 PM, Jonas Sicking wrote:
> 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.

Can you point out specific points where the following is unclear:

As a concrete example, I see nothing in that set of changes that 
proposes a getElementsByRole API, nor anything that deprecates 

> / Jonas

- Sam Ruby

Received on Friday, 18 March 2011 23:06:26 UTC