microsoft / microsoft/pxt-microbit

Additional simulator controls

Open
#6,784 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

keyboard navigation Simulator
Dominant language
TypeScript
Stars
804
Forks
721
Avg merge
2d 9h
Merged PRs (30d)
2

Description

Is your feature request related to a problem? Please describe.
The touch logo on the micro:bit simulator currently acts as both a button and a slider for mouse and keyboard users. However, an HTML role does not exist for screen reader users to encompasses both behaviours. Ideally, the touch logo should be role="button" and the compass should be a separate slider control with role="slider" and accompanying attributes.

It also not currently possible for keyboard users to tilt the micro:bit simulator. Mouse users can achieve this by hovering over the board. This limits keyboard users to simulating shake gestures only.

Describe the solution you'd like
A separate keyboard control / element for the compass that implements slider attributes and behaviours with the touch logo implementing only button roles and behaviours. There may be a way to implement this without significantly impacting the current visual design.

A control, that when focused (possibly the board itself?), allows the arrow keys to tilt the simulator. Releasing the arrow keys should cause the micro:bit to return to its default position. The control needs to have enough visual representation that keyboard users will understand what it does, and the simulator aria-live region and an aria-label can be used to provide feedback to screen reader users.

Describe alternatives you've considered
None. The touch logo could potentially work as two separate roles, but this breaks down when it needs to be both.

Additional context
Not expected for 2026 release.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the simulator's touch-logo, compass, board, and aria-live controls, then review how the current mouse and keyboard interactions are wired. Define the separate button and slider semantics, keyboard tilt interaction, visual indication, and screen-reader feedback before implementation. Done means keyboard and screen-reader users can operate both controls independently without breaking the existing mouse behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
accessibility, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.