Project: Improving node selection handling

Problem

There are many users who prefer using keyboard for certain actions rather than mouse.
Currently we only handle node selections (selecting block rather than text) for media blocks when the user clicks it or presses backspace at the start of next block. We also do not handle any keybinds in a node selection.
This makes navigating through the document with a keyboard inconvenient and awkward.

Solution

Support selecting and deselecting media blocks with arrow keys.
Support moving selection to a next block with ENTER while media block is selected.
Support moving selection to a previous block with SHIFT + ENTER while media block is selected.
This can be achieved by adding more prosemirror plugins with keyboard shortcuts handling or by using blocknote's onSelectionChange hook. Both solutions are simple to implement, but since we already have node selections logic in prosemirror plugins we would have to combine them into one single extension or rewrite the logic with blocknote.

Scope

1 week

Rabbit Holes

No Goes