-
Notifications
You must be signed in to change notification settings - Fork 24.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Accessibility with NavigationCardStack speaks accessibilityLabels of previous pages's views on iOS #9725
Comments
@alongubkin this is happening to me as well. Did you find any workarounds? |
@danieladias Not really a solution, but I found out that if I use |
@alongubkin thanks for your reply. Yes in that case we loose the navigation animation right? |
@danieladias and history, yes. As of v0.35.0-rc.0 this is still not fixed 😢 |
@alongubkin thank you. |
I can reproduce this on Android using v0.35.0 as well. Prior to seeing this issue I had asked the question on stack overflow. I'm also unaware of any workarounds short of making the current scene the only rendered one. |
We have the same problem and while the necessary Native APIs for Android is available to fix this issue in user application, for iOS the I have created a pull request to expose said property and relevant changes for NavigationCardStack to fix this issue. |
On Android, Navigator doesn't have this problem because Navigator will set the alpha of the covered/outside view to zero. Navigation Experimental should set the alpha of the covered/outside view to zero instead of 0.3 |
@lightboys22 The reason it works in Android is because the default value of |
@alongubkin Can you check if #10918 address your problem too? |
accessibilityElementsHidden is used to control wheter elemetns contained within a view are hidden from accessiblity services that query the screen. On iOS, it simply reflects UIKit's accessibilityElementsHidden, on Android it is implemented with importantForAccessibility. This commit also improves accessiblity of Navigation Experimental CardStack by marking inactive (off screen) scenes invsible. Closes facebook#9725
accessibilityElementsHidden is used to control wheter elemetns contained within a view are hidden from accessiblity services that query the screen. On iOS, it simply reflects UIKit's accessibilityElementsHidden, on Android it is implemented with importantForAccessibility. This commit also improves accessiblity of Navigation Experimental CardStack by marking inactive (off screen) scenes invsible. Closes facebook#9725
accessibilityElementsHidden is used to control wheter elemetns contained within a view are hidden from accessiblity services that query the screen. On iOS, it simply reflects UIKit's accessibilityElementsHidden, on Android it is implemented with importantForAccessibility. This commit also improves accessiblity of Navigation Experimental CardStack by marking inactive (off screen) scenes invsible. Closes facebook#9725
I believe I'm seeing the same issue when using react-navigation. However, I did notice an interesting result and would be curious if others can reproduce this in their own examples:
If others are seeing this, and not just me, then I wonder if firing a UIAccessibilityScreenChangeNotification would make a difference? |
Is anyone using the accessibility inspector for this, or strictly using VoiceOver & TalkBack to identify the overlap? I have not created a sample, but it goes three layers deep for me. As in you can see page A & B elements when on page C with the AI. Will try integrating native language into the code base and see what happens. |
@cannona I am seeing this in react-navigation and @jeffbum I am seeing the same behavior as you. While there may be several solutions I have one approach working in my project. First I need something like #11788 merged into react-native to expose iOS's |
Hi there! This issue is being closed because it has been inactive for a while. Maybe the issue has been fixed in a recent release, or perhaps it is not affecting a lot of people. Either way, we're automatically closing issues after a period of inactivity. Please do not take it personally! If you think this issue should definitely remain open, please let us know. The following information is helpful when it comes to determining if the issue should be re-opened:
If you would like to work on a patch to fix the issue, contributions are very welcome! Read through the contribution guide, and feel free to hop into #react-native if you need help planning your contribution. |
Was there any resolution to this issue? |
@jonolock91 not yet - it's a real shame this ones been closed @hramos even more so as it's preventing us from having an accessible app right now. |
@lprhodes we've talked about this before. Please see my issue closing message for more information on next steps. |
@hramos It shouldn't need extra information to open this back up, this should be a pre-requisite to react-navigation and should surely remain open until it's resolved. |
Solution for this issue is to set "accessibilityViewIsModal" property to "true" for the Parent "View" component for each Container. "...a window that contains sibling views A and B, setting accessibilityViewIsModal to true on view B causes VoiceOver to ignore the elements in the view A. " Eg: render() { |
Issue Description
Let's say we have two pages in our app: Page A and Page B. NavigatorExperimental is used to navigate between them.
Page A's accessibility is working great. But when moving two Page B, VoiceOver still recognises and speaks Page A's accessible elements, even though they are now hidden.
Steps to Reproduce / Code Snippets
Create 2 pages: Page A and Page B, and use NavigationExperimental to navigate between them. Both pages should contain some accessible elements.
Turn on VoiceOver on the iOS device and start the app. Navigate to Page B and try VoiceOver.
Expected Results
Page A's accessible elements should not appear in Page B.
Additional Information
The text was updated successfully, but these errors were encountered: