Skip to content

fix(a11y): avoid duplicate tab stops in toggle list tiles - #1100

Merged
Feichtmeier merged 2 commits into
ubuntu:mainfrom
skdas20:fix/toggle-list-tile-focus
Oct 6, 2026
Merged

Feichtmeier merged 2 commits into
ubuntu:mainfrom
skdas20:fix/toggle-list-tile-focus

Conversation

@skdas20

@skdas20 skdas20 commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

The default switch, checkbox and radio controls create a second keyboard focus target inside their list tiles. Tabbing therefore stops twice on a single tile.

Wrap only the built-in controls in ExcludeFocus, leaving the tile responsible for keyboard focus and activation. Caller-supplied control widgets retain their own focus behavior.

Fixes #1083.

Validation with Flutter 3.47.5:

  • Nine interaction tests cover forward/reverse traversal, Space activation, custom controls and disabled tiles across all three widget types.
  • The three default traversal regressions fail against unchanged main and pass with this fix.
  • Full suite: 655 tests passed, including existing goldens; no golden changes.
  • flutter analyze --no-pub --fatal-infos, formatting and git diff --check passed.

Targeting main because this issue concerns the current widget API; the release branch still contains the older yaru_widgets package. Recent widget fixes also target main.

AI-assisted implementation and test execution.

@Feichtmeier
Feichtmeier requested a review from ashuntu October 3, 2026 20:13
@Feichtmeier
Feichtmeier enabled auto-merge (squash) October 6, 2026 19:41
@Feichtmeier
Feichtmeier merged commit 0cbb50c into ubuntu:main Oct 6, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(a11y): YaruSwitchListTile/YaruRadioListTile/YaruCheckboxListTile create two tab stops

3 participants