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 customItemRenderer, and then each item in the list will be able to receive focus and expose itsaccessibilityProperties.The strange is, the Flex compiler doesn’t complain if the custom renderer fails to implement the required
IFocusManagerComponentmethods. 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 implementsIFocusManagerComponent.The only problem I’m having now is that only the visible items show their
accessibilityProperties, which makes sense becauseItemRenderersare only created for the visible items on screen, but I should find some way to scroll the list automaticaly if the last visibleItemRendererloses focus.