Skip to content

Make workspace comments keyboard-navigable #614

@maribethb

Description

@maribethb

Check for duplicates

  • I have searched for similar issues before opening a new one.

Problem

No response

Request

As of RaspberryPiFoundation/blockly#9154

workspace comments are focusable & usable for mouse users

additional work is needed for keyboard use - following from @microbit-matt-hillsdon:

Some way to navigate away from a comment to the workspace seems essential for keyboard nav users. Once you have a workspace or block comment focused (add one via context menu, press tab) you can't move to a block without resorting to the mouse. At least when the textarea has focus, arrows aren't an option!

The focus position is subtle after adding a workspace comment and not visible after adding a block comment. Unclear to me whether it should be on the textarea or not, especially for workspace comments with the collapse/delete button.

There's a weird scenario where tab in a comment textarea generally leaves the workspace, except if you have a workspace comment and a block comment and the focus is on the workspace comment. In that case it navigates to the block comment. If you do it repeatedly (clicking back in the workspace comment) you go to a different block comment each time in sequence.

I think for finishing editing a comment, we should use the same keys that apply to the multiline text input field (since that's a plugin, i'm not sure if it has been updated to be keyboard-navigable or not). my thoughts would be escape should work, and possibly ctrl/cmd+enter, which is what the platforms i'm familiar with use to commit text when the enter key adds a return.

The focus style is css so customizable by host applications but would certainly accept updates to the default style especially before the next release

Alternatives considered

No response

Additional context

No response

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions