Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.
This repository was archived by the owner on May 1, 2024. It is now read-only.

Improved A11y Support - TabIndex #2789

@samhouts

Description

@samhouts

Description

As an app developer, I currently am unable to specify an expected focus/tab order for elements in my Xamarin.Forms app that will be used by a screen reader and/or keyboard navigation to improve the usability and accessibility of the app. When this spec is complete, I can explicitly set the TabIndex on any focusable element to have it read to the app user and/or prepare it for input in a particular order.

Acceptance criteria

  • Solution must enable app developer to set an integer value on Element.TabIndex with the expectation that focus will cycle through each element in ascending order.
  • Conflicts on TabIndex will be resolved by the declaration order.
  • If no value is set in TabIndex, the default behavior will be used.
  • If the app developer attempts to set a focus order using a custom renderer, the values set by the custom renderer should take precedence.

Per the UWP specification:

  • UI elements with TabIndex equal to 0 are added to the tab order based on declaration order in XAML or child collections.
  • UI elements with TabIndex greater than 0 are added to the tab order based on the TabIndex value.
  • UI elements with TabIndex less than 0 are added to the tab order and appear before any zero value.

API changes

Add: int Element.TabIndex { get; set; }

Description of changes

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions