Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I have a couple of suggestions, but I don't know if they will work or not (my screen reader is at the cleaners).</p> <p>First, you might find some <a href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/accessibility/ListAccImpl.html" rel="nofollow">interesting reading here</a> from the <code>ListAccImpl</code> class about how the <code>List</code> class works with screen readers. In particular, note this sentence in the section about child objects (renderers):</p> <blockquote> <p>... the accessibility of the list items is managed by the List; the accessibilityImplementation and accessibilityProperties of the item renderers are ignored by the Flash Player.</p> </blockquote> <p>This explains why the screen reader only reads out the value of <code>labelDisplay</code> or the return of the <code>labelFunction</code>. Even though you've focused an object in the renderer, it appears that the <code>List</code> is still in control w/respect to the screen reader. This is further confirmed in the <a href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/accessibility/AccImpl.html" rel="nofollow">docs for the AccImpl</a> class (also from the children section):</p> <blockquote> <p>The Flash Player does not support a true hierarchy of accessible objects. If a DisplayObject has an accessibilityImplementation object, then the accessibilityImplementation objects of its children are ignored.</p> </blockquote> <p><strong>Suggestions</strong></p> <ul> <li><p>Try setting the <code>focusEnabled</code> property of the <code>List</code> to <code>false</code>. When you tab through the UI, the objects in the renderers will still get focused, but the <code>List</code> itself will not. As the docs for <code>AccImpl</code> seem to imply, the <code>List</code> therefore won't manage interaction w/the screen reader, and it will be deferred to the focusable objects in the renderer.</p></li> <li><p>Try extending the <code>List</code> class, and override it's <code>initializeAccessibility()</code> method. This method (I assume) is called by the Flex component life cycle, and is where the list gets the ability to interact w/the screen reader. If you don't initialize the accessibility implementation, my thinking is that it will then defer that responsibility to the objects in your renderer. Or it might crash and burn.</p></li> </ul> <p>That's all I got, hope it helps... good question, please do share what you find.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload