I'm building a Flex app that has to be accessible and meet section 508 guidelines. Some pre-built parts of are making heavy use of DataGroup, DataGrid, and ItemRenderers. I can't get anything that was created with ItemRenderers to even receive keyboard focus, so it seems impossible to have their accessibilityProperties revealed.
Is there a trick to making focus available to an ItemRenderer? Or some alternative I could use?
SOLUTION:
I kind of stumbled across this, and I'm not entirely sure why this works, but the solution is simple. Just add implements="mx.managers.IFocusManagerComponent"
into the root tag of the custom ItemRenderer
, and then each item in the list will be able to receive focus and expose its accessibilityProperties
.
The strange is, the Flex compiler doesn't complain if the custom renderer fails to implement the required IFocusManagerComponent
methods. I don't know why, but I would speculate that these methods are implemented somewhere up the code chain, and aren't used unless a component explicity implements IFocusManagerComponent
.
The only problem I'm having now is that only the visible items show their accessibilityProperties
, which makes sense because ItemRenderers
are only created for the visible items on screen, but I should find some way to scroll the list automaticaly if the last visible ItemRenderer
loses focus.