Number game choices are not keyboard accessible
- Dominant language
- Python
- Stars
- 32
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
### Affected revision and verification
`main` at `3d1965cac5529b72c9dab9af7a3f456c5bbd7172`.
I served `UniVR_RL/examples/android_gui_cookbook/game_docker/number_game.html` locally and checked it at both 1280 px and 375 px widths. Pointer selection works and the mobile layout does not overflow, but the three number cards are generated as `div` elements with `onclick` handlers and no role or tab stop. Repeated Tab presses on the initial game state never focus a card. The viewport also sets `user-scalable=no`.
### Expected behavior
The three primary game choices should be native keyboard-focusable controls that can be activated with Enter/Space, and browser zoom should remain available.
### Actual behavior
The choices are pointer-only generic elements, so keyboard and switch-device users cannot play the game. The viewport declaration also disables pinch zoom.
### Impact
The only meaningful interaction in this example is inaccessible without a pointing device, and low-vision users cannot use browser zoom.
### Suggested fix
Create the choices as `button type="button"` elements while preserving the existing styling and click handler, remove the zoom restriction, and add a small HTML-source regression test for these semantics.
Contributor guide
No contributing guide indexed for this repository
Research direction
Open UniVR_RL/examples/android_gui_cookbook/game_docker/number_game.html and inspect the three number-card elements, their onclick handlers, and the viewport declaration. Convert the choices to keyboard-focusable controls while preserving the styling and interaction, keep browser zoom available, and add the suggested HTML-source regression test for the resulting semantics.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- html, javascript
- Domain
- accessibility, frontend
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 88/100