Skip to content

[UEPR-445] Ensure topbar is navigable via tab navigation#446

Merged
adzhindzhi merged 68 commits intoscratchfoundation:release/UEPR-297-accessibility-improvementsfrom
kbangelov:task/uepr-445-topbar-keyboard-navigation
Feb 13, 2026
Merged

[UEPR-445] Ensure topbar is navigable via tab navigation#446
adzhindzhi merged 68 commits intoscratchfoundation:release/UEPR-297-accessibility-improvementsfrom
kbangelov:task/uepr-445-topbar-keyboard-navigation

Conversation

@kbangelov
Copy link
Copy Markdown
Contributor

@kbangelov kbangelov commented Feb 13, 2026

Aims to resolve UEPR-445

https://scratchfoundation.atlassian.net/browse/UEPR-445

Proposed Changes

  1. Made elements focusable
  2. Made a context (menu-ref-context) that takes care of tracking which menus and submenus are currently open via their refs. All of the logic with the "isOpen" type of props has been replaced for these menus.
  3. Made a use-menu-navigation hook to be used by the menus. Handles common key pressing, opening, closing logic and more. Uses customized BFS logic for HTML components

To be done additionally concerning nav bar accessibility - in other PRs?

  • Choosing a language option does not focus on Settings after. Also not for the other options either, but that's because not closing after selecting an option has been their behavior so far. Perhaps another issue could be made that clears whether they should or not.
  • Login Menu doesn't navigate properly (close on tab for instance) because it's written in www
  • WARNING Because of the improper structure of nesting menu inside button we have a button inside of button with Settings Menu and Language Menu / Preference Menu, causing a warning in console.
  • Focus is not too pretty on some menu items.
  • Write tests for navigation bar

To be discussed additionally

  • The behavior of using screen reader and clicking with cursor leads to improper reads, as opposed to just navigating with keyboard. But I don't know if that's a big issue.

@kbangelov kbangelov requested a review from a team as a code owner February 13, 2026 10:04
@kbangelov kbangelov requested a review from adzhindzhi February 13, 2026 10:05
Copy link
Copy Markdown
Contributor

@adzhindzhi adzhindzhi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a duplicate of https://github.com/scratchfoundation/scratch-editor/pull/403 for merging into release/UEPR-297-accessibility-improvements. The original PR was already reviewed, approved and merged.

@adzhindzhi adzhindzhi merged commit 0b0bb72 into scratchfoundation:release/UEPR-297-accessibility-improvements Feb 13, 2026
21 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Feb 13, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants