WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: Misuse of TabIndex 0

for

From: Bryan Garaventa
Date: Nov 4, 2015 10:43AM


Precisely, adding aria-describedby on any active element with a role, whether ARIA based or implicit like a standard form field or link, will be announced when tabbing to it. The aria-describedby attribute also accepts multiple ID references separated by spaces for non-contiguous messages, and since this sets the Description property in the Accessibility Tree, it doesn't interfere with the Name calculation. E.G
http://whatsock.com/training/matrices/visual-aria.htm#name-calculation

This is much more useful than setting tabindex="0" on everything, because it is totally unobtrusive.


-----Original Message-----
From: WebAIM-Forum [mailto: <EMAIL REMOVED> ] On Behalf Of Paul J. Adam
Sent: Wednesday, November 04, 2015 9:07 AM
To: WebAIM Discussion List < <EMAIL REMOVED> >
Subject: Re: [WebAIM] Misuse of TabIndex 0

That's why input instructions and error messages must be programmatically associated with the inputs.

Not all screen readers speak the <legend> text for each input in the <fieldset>, NVDA speaks it only once for each group when entering the <fieldset>, same with TalkBack/Firefox. VoiceOver OS X speaks it once for each input in the group only if you're TABing but if you're using VO+arrow keys it does not speak the <legend> for each input. VoiceOver iOS does not speak the legend for any of the inputs, the legend is simply static text.

I would think the solution is to use ARIA to connect any instructions to the specific input that requires them and then the screen reader will speak them aloud while TABing through the form. That way there's no need to add any extra TAB stops.

Paul J. Adam
Accessibility Evangelist
www.deque.com

> On Nov 4, 2015, at 10:59 AM, Jared Smith < <EMAIL REMOVED> > wrote:
>
> While making non-interactive elements navigable is certainly an issue,
> you also should realize that removing the elements from the tab flow
> entirely may result in other issues. When navigating through a form,
> important instructions and cues between form controls will often be
> skipped over. Lengthy questions that are associated as legends for an
> answer set are very burdensome to have read for EVERY control in the
> fieldset.
>
> These are problems for which there are not good solutions - and
> perhaps there are instances where tabindex=0 on these elements is less
> of an end user issue than the alternative.
>
> Jared
> > > archives at http://webaim.org/discussion/archives
>