W3C home > Mailing lists > Public > public-html@w3.org > October 2009

Re: ARIA roles added to the a element should be conforming in HTML5.

From: Steven Faulkner <faulkner.steve@gmail.com>
Date: Wed, 21 Oct 2009 11:36:49 +0200
Message-ID: <55687cf80910210236l3a7bd1beo61a63a5a269acbf@mail.gmail.com>
To: Thomas Broyer <t.broyer@ltgt.net>
Cc: HTMLWG WG <public-html@w3.org>, W3C WAI-XTECH <wai-xtech@w3.org>
hi thomas,
>I'm by no mean an ARIA or even accessibility expert (and I know you
>are one)

nor am I.

<snipping> the example stuff as the discussion is not about what developers
_should_ do, its about what developers _can_ and _do_.

>The fact that the developer can technically turn an <a> into a button
>isn't a justification for making it conforming. If it's not a link but
>a button, you should use <button> or <span role=button>.

but it is conforming as far as I understand, if the <a> is turned into a
button by scripting, it is not a testable conformance error. All the event
handler attributes to do this and all the styling do do this is conforming,
only at the point where the ARIA role is added to make sense out of nonsense
to AT users does it become a testable conformance error per the HTML5 spec.


2009/10/21 Thomas Broyer <t.broyer@ltgt.net>

> On Wed, Oct 21, 2009 at 9:17 AM, Steven Faulkner
> <faulkner.steve@gmail.com> wrote:
> > Currently the a element is defined in the HTML5 specification as an
> element
> > that cannot have its native role overriden by ARIA roles [1]
> >
> > This is contrary to use in the wild as it has been overriden by the
> addition
> > of a number of roles in popular javascript UI libraries.
> >
> > Examples:
> > button
> > http://jqueryui.com/demos/dialog/
> Isn't it an abuse of <a>? Why not use a <span> of <div>? (with
> tabIndex=0 or tabIndex=-1 to make it focusable)
> (we're talking about the "close dialog" button, right?)
> >
> http://developer.yahoo.com/yui/examples/carousel/carousel-ariaplugin_source.html
> I'm by no mean an ARIA or even accessibility expert (and I know you
> are one) but I don't understand why the <a
> class=yui-carousel-pager-item> couldn't be role=link. Actually,
> because they're not in the original markup, I don't understand why YUI
> uses an <a> instead of a <span>; to me a carousel is just a kind of
> tabpanel, so those yui-carousel-pager-item should be role=tab; or if
> you consider that it only scrolls the "carousel content", then
> consider the "pager" to be a kind of scrollbar and use role=slider or
> role=spinbutton; something like:
>   <div role=slider aria-valuemin=1 aria-valuemax=4 aria-valuenow=2
>         aria-label="Page:" aria-controls=carousel>
>      <span class=yui-carousel-pager-item></span>
>      [...repeat for other items...]
>   </div>
> > tab
> >
> http://developer.yahoo.com/yui/examples/tabview/tabview-ariaplugin_clean.html
> Shouldn't the <li> be role=tab? and then either the <a> isn't a
> problem in practice or it could be removed completely (you'd add a
> tabIndex=0 to the <li> then to make it focusable)
> as in http://codetalks.org/source/widgets/tabpanel/tabpanel1.html
> (referenced from http://www.w3.org/TR/wai-aria-practices/#tabpanel )
> > menutiem
> > http://developer.yahoo.com/yui/examples/menu/menuwaiaria_source.html
> Same as above, and I'd consider it an abuse of <a>: they're obviously
> not links! (particularly, in this case, because they link to elements
> that doesn't even exist in the DOM until you click on them!)
> > It is important to understand that it is not ARIA that is making the link
> > into a button, its the developers use of javascript, event handlers and
> > that is making it look and act like a button or tab or menutiem. The
> > addition of ARIA is merely providing the information that other users get
> by
> > default. So making the addition of an ARIA role non conforming, to an
> > element that has been designed to act and look like something other than
> its
> > native role, is not the appropriate repsonse.
> The fact that the developer can technically turn an <a> into a button
> isn't a justification for making it conforming. If it's not a link but
> a button, you should use <button> or <span role=button>.
> --
> Thomas Broyer
> /tɔ.ma.bʁwa.je/

with regards

Steve Faulkner
Technical Director - TPG Europe
Director - Web Accessibility Tools Consortium

www.paciellogroup.com | www.wat-c.org
Web Accessibility Toolbar -
Received on Wednesday, 21 October 2009 09:37:28 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 29 October 2015 10:15:53 UTC