Skip to content

Provide query option to respect accessibility #970

Closed
@mdjastrzebski

Description

@mdjastrzebski

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions