isXander / isXander/YetAnotherConfigLib
Can't use keyboard/controller to press Reset Buttons (accessibility)
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 155
- Forks
- 68
- PR merge metrics
- No merged PRs in 30d
Description
When navigating a YACL config screen using Tab on a keyboard (or a controller via Controlify), I can't trigger the "reset to default" button on individual option rows. The button receives the visual focus when tabbed to, but pressing Space or Enter (or 'A'/Cross on a controller) does nothing. And I think Controlify maps gamepad button activation directly to these standard keyboard focus events, so it breaks the ability for controller users to reset individual options, too.
Repro steps
- Open any mod configuration screen built with YACL that has options capable of being reset.
- Change a setting so that its value is different from the default (which enables the small reset icon button on the right).
- Use the Tab key to navigate through the UI until the small Reset button for that option is focused.
- Press Space or Enter.
Expected:
The setting reverts to its default value, like as if the reset button was clicked on.
Actual:
Nothing happens. The key press is swallowed and the setting doesn't change.
My AI says
"Because
OptionEntry#keyPressedhardcodes the event routing toreturn widget.keyPressed(event);, it drops allKeyEvents meant for theresetButton. This means any accessibility tools or controller mods (specifically Controlify'sScreenOpsystem) that rely on dispatching syntheticENTER/SPACEKeyEvents to the focused element will silently fail. Controller users are completely unable to press the reset button."
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at OptionEntry#keyPressed and inspect how key events reach the focused resetButton. Reproduce the issue on a YACL configuration screen with a changed option, then verify that Space, Enter, and controller activation reset the option to its default value while mouse clicking continues to work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- accessibility
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 72/100