HumanSignal / HumanSignal/label-studio

[feature] [accessibility] arrowkey keyboard shortcuts to pan a zoomed-in image

Open
#9,811 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
TypeScript
Stars
28.3k
Forks
3.7k
Avg merge
14h
Merged PRs (30d)
15

Description

**Is your feature request related to a problem? Please describe.**

I have users who, for accessibility reasons, are averse to using mice, trackpads, and other pointer devices while annotating images. They LOVE that label-studio has flexible keyboard bindings for many annotation functions. One area they are struggling with however is image-panning while the image is zoomed in. The repetitive motion, especially on large images that need high-magnification, at best is slow (switching from mouse to keyboard) and at worst gets painful for sessions of any significant length.

I'm proposing the addition of a feature: to add arrow-key keyboard shortcuts to label-studio for panning around zoomed images.

**Describe alternatives you've considered**
All current methods of panning use the cursor, ie Middle-click-drag and the newer SHIFT-click-drag.
Neither alleviate the issue that a cursor motion is required to pan around.

**Additional context**
On label-studio v1.23.0 a new beta [Hotkeys](https://labelstud.io/guide/hotkeys.html#Customize-global-hotkeys-from-your-account-page) feature is enabled, allowing users to set their own hotkeys and view default hotkeys for various interfaces.

The left and right arrow-keys are currently used by `Time Series Control`, but the global/configurable hotkey system does allow conflicting key-bindings to coexist.

If a project requires Tasks with both Time Series Controls _AND_ zoomable-images, user hotkeys can be configured to not conflict using this feature.

Something I noticed was that when recording an arrow-key shortcut, currently the ui saves `ArrowLeft` instead of the keymap name `left`. Note sure if this has any functional ramifications but I thought I'd make mention.

Contributor guide

Open the contributing guide

Research direction

Start with the Hotkeys guide linked in the issue and the zoomable-image panning behavior, comparing it with Time Series Control's arrow-key bindings. Done means arrow keys pan zoomed images without requiring a pointer and configurable bindings remain usable, with the ArrowLeft versus left naming concern checked.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.