jQuery Mobile lists no longer support ARIA / Voiceover #3238

Closed
dhaywood opened this Issue Dec 8, 2011 · 9 comments

Projects

None yet

5 participants

@dhaywood
dhaywood commented Dec 8, 2011

As mentioned in this document in StackOverflow ( http://stackoverflow.com/questions/7916052/jquery-mobile-listview-disabled-on-voiceover ), lists in jQuery Mobile no longer provide ARIA / Voiceover support. As the document also suggests, changing the code from:
buttonInner.setAttribute("aria-hidden", "true");
to:
buttonInner.setAttribute("aria-hidden", "false");
in line 6192 of jQuery mobile 1.0 remedies the problem and ARIA Voiceover support for lists is restored.

This was tested using jQuery Mobile 1.0 with jQuery 1.6.4 in Safari 5.1.2.

Fix #2594 ( 1f4d946 ) to prevent button text from being read twice looks like it may be related to disabling of ARIA support for lists.

@jblas
jblas commented Dec 8, 2011

@UncleDean

Have you tried undoing that change? Does it get things working again? Fyi, I changed that code a bit since @Wilto added that int he patch you cited above. Here's the changes I made to that code for 1.0:

86e4e6f#js/jquery.mobile.buttonMarkup.js

I basically DOM-ified the code to speed things up a bit.

@dhaywood
dhaywood commented Dec 8, 2011

Hi Kin,

The version of JQM we're running is after the @Wilto version. We're running the official JQM 1.0 final release. "Out of the box" , JQM 1.0 final was setting aria-hidden=true on all lists.

We changed the JQM 1.0 final code (line 6192 in version 1.0) in our local copy to now read...

buttonInner.setAttribute("aria-hidden", "false");

and now lists in our local copy of JQM work with ARIA / Voiceover.

I've attached a screen shot of a section of your code changes. I highlighted in gray the field value in question. In our version, we changed "true" to "false" to prevent ARIA from hiding the buttons / lists.

Thanks,

Dean

@Wilto Wilto was assigned Dec 9, 2011
@mgifford

I have confirmed this is an issue and that changing the value to false fixes it. What has to happen to see this in the next release?

@ezufelt
ezufelt commented Dec 15, 2011

Confirmed that the problem exists, and tested mgifford's patched version, which fixes the problem. FF8 / JAWS13

@ezufelt
ezufelt commented Dec 15, 2011

As this issue makes the list view completely non-functional for some assistive technology users, I would consider it critical. What, if anything, can I do to help move a fix along?

@Wilto
Wilto commented Dec 15, 2011

I’ll take a look at this today. We applied aria-hidden=true to that text because we were injecting more detailed descriptive text for the sake of assistive tech—if that’s no longer happening for some reason, it could be evidence of a larger issue.

@mgifford

Thanks! Great to hear that there were plans for more descriptive text. I tested in VoiceOver btw.

@Wilto
Wilto commented Dec 15, 2011

Looks like the markup structure had changed after all. aria-hidden="true" was wrapping around both the heading and the additional “click to [expand/collapse]” text—so I’m removing that attribute as we speak. This fix will be in 1.0.1, but no harm in making that change in your 1.0 instances. Thanks guys!

@Wilto Wilto added a commit that closed this issue Dec 15, 2011
@Wilto Wilto Fixes #3238 — Seems markup structure was changed at some stage, makin…
…g the ‘aria-hidden=true’ attribute a little over-reaching. Removed.
d05ba20
@Wilto Wilto closed this in d05ba20 Dec 15, 2011
@dhaywood

Thanks for the rapid correction!

@gabrielschulhof gabrielschulhof pushed a commit to gabrielschulhof/jquery-mobile that referenced this issue Jan 29, 2012
@Wilto Wilto Fixes #3238 — Seems markup structure was changed at some stage, makin…
…g the ‘aria-hidden=true’ attribute a little over-reaching. Removed.
cfb6343
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment