Closed
Description
Describe the Feature
This issue is based on #787 PR. That PR is stale but idea seems worth pursuing.
Currently all queries ignored accessibility ignored the fact that certain element, e.g. screen or modal is present in component tree but not really visible to the user.
This problem largely does not exist in web React world as previous screens are removed from component tree, except modals, but it is relevant in React Native world. We even suggest some work arounds for it with within
function.
Possible Implementations
- Add additional
respectAccessibility
query options for all queries. This query options would be common to all query verbs (getBy
, etc) and predicates (byText
, etc). - By default it should be disabled to preserve API stability
- If set explicitly to true it would ignore elements that are not accessible, by analysing e.g.
accessibilityElementsHidden
,importantForAccessibility
,accessibilityViewIsModal
,style={{ display: 'none' }}
, etc - Consider switching this option to true by default by introducing a breaking change in next major release, as having it on by default is probably what users would expect.
- We could salvage some a11y predicate code and possibly all tests from feat: accessibility findAll #787
Related Issues
- feat: accessibility findAll #787 for initial idea