Description
Recently we have a lot of activity related to accessibility as well as composite/host elements handling. All of these propositions seem to move RNTL into right direction due to more expressive queries (*ByRole
), better matching accessibility behaviour of RN/iOS/Android, and increasing compatibility with RTL/DTL. However, the number of changes is getting high, some of which might be breaking changes as well, so we should do some planning in terms of minor/major releases.
My initial proposal is as follows:
Next minor or patch releases (v11.x.y) - non breaking changes
- Query by role and accessibilityState and improve ByRole query errors #1161 (issue Supports accessibilityStates in ByRole queries #1134 ) support
states
in*ByRole
queries - feat: option for queries to respect accessibility #1064 (issue Provide query option to respect accessibility #970) with
hidden: true
, i.e. having same default behaviour as current queries (resolves Provide query option to respect accessibility #970) - fix: *ByA11yState default value false value for busy, disabled & selected state #1166 (issue bug:
*ByA11yState
query ignores default state values of false #1165) bug: *ByA11yState query ignores default state values of false
Next major release (v12.0.0)
- feat: option for queries to respect accessibility #1064 switching
hidden: false
to match default DTL/RTL default - Effect of
accessible
prop on*ByRole
+hidden
,inInaccessible
, etc #1163 ignoreaccessible={true}
children whenhidden: false
, potentially fixes Querying by role with name on nested touchables return multiple elements #1152 - feature: make all (safe) queries return host components #1132
*ByText
and*ByDisplayValue
,*ByPlaceholder
to return host components instead of exported compositeText
,TextInput
- byRole queries don't find element that don't have an explicitly set accessibilityRole prop #1130 default roles for some elements based on observed RN/iOS/Android behaviour
Other PRs in the pipeline are not related to a11y/element tree and do not introduce breaking changes, so we might merge them at any moment, perhaps for minor release if they are production ready. I did not include them here to reduce complexity of the discussion.
@thymikee @AugustinLF @pierrezimmermannbam does that above plan for upcoming releases seems reasonable for you, would you want to include some more features/fixes or exclude anything mentioned above. Looking forward for your feedback.