The release of iOS 8.3 has highlighted an issue that looks like a bug to me (I've raised one with id 20607173 but not yet had a response).
The sample contains two horizontal scroll views whose content extends beyond the page. Seven subviews labeled "1 of 7" etc have been added. The lower scroll view implements the dynamic methods of the UIAccessibilityContainer protocol.
VoiceOver navigation behaves differently in Portrait and Landscape mode.
In iOS 8.1 and 8.3 in Landscape mode, using right-flick on two finger flick down to read consecutive items will read out all items, whether or not they are initially visible.
In Portrait mode however, in both iOS 8.1 and 8.3 VoiceOver will only navigate the initially visible elements of the upper scroll view (which uses plain UIScrollView).
In iOS 8.1, VoiceOver can navigate to items which are not initially visible in the lower scroll view, which implements UIAccessibilityContainer methods.
However, in iOS 8.3, adding the UIAccessibilityContainer methods doesn't seem to make any difference - VoiceOver navigates only among visible elements in both scroll views.
So far, I've only explored this thoroughly on iPads under iOS 8.1 and 8.3. However, there is an app which has used the horizontal scroll implementing UIAccessibilityContainer protocol methods which has been live since (I think) iOS 5.0, and the VO navigation in Portrait mode only seems to have stopped working with the release of 8.3.
Does anyone have more insight into this behaviour, or can suggest any workarounds?
Thanks,
Mike