microsoft / microsoft/microsoft-ui-xaml
Disabled RadioButton blocks Tab navigation
- Dominant language
- C++
- Stars
- 8.4k
- Forks
- 942
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 105
Description
### Describe the bug
When a RadioButton is disabled **while being selected**, the Tab navigation gets interrupted. The keyboard focus does not move to the next (or previous, in case of using "shift + tab") interactive element after (or before, in case of using "shift + tab") the disabled RadioButton, making it impossible to navigate properly through the components in the screen.
**Additionally**, the other enabled RadioButtons in the same group do not receive keyboard focus, making it impossible to select them using the keyboard, **even though they can still be selected with the mouse.**
Check the video below.
- Pressing Tab from Button 2 does not move focus to Button 3.
- Pressing Shift + Tab from Button 3 does not move focus back to Button 2.
- The other enabled RadioButtons do not receive focus via keyboard navigation (Tab or Arrow keys), but they can still be selected with the mouse
https://github.com/user-attachments/assets/7655f8b6-cbba-46c9-a53c-12c5849252e9
### Steps to reproduce the bug
1. Add one or more elements to a page.
2. Add a RadioButtons group in the middle, containing some RadioButton elements.
3. Add one or more elements after the RadioButtons.
4. Select one RadioButton.
5. Disable the selected RadioButton.
6. Try navigating using the Tab and Shift + Tab keys between elements before and after the RadioButtons.
### Expected behavior
- Tab navigation should not be blocked by the disabled RadioButton.
- Users should be able to navigate past the disabled RadioButton to the next available focusable element
**OR**
- The enabled RadioButtons should be focusable and selectable using the keyboard
### Screenshots
_No response_
### NuGet package version
None
### Windows version
Windows 11 (24H2): Build 26100
### Additional context
_No response_
Contributor guide
Research direction
The issue does not name implementation files or tests. Start by reproducing the disabled-selected RadioButton case in a WinUI XAML page, then trace RadioButton keyboard focus behavior for Tab, Shift+Tab, and arrow keys. Done means focus can move past the disabled control or enabled RadioButtons remain keyboard-focusable and selectable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- accessibility, desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100