SIGN IN SIGN UP

feat(marker): keyboard focus and arrow-key drag for draggable markers (#8045)

* feat(marker): keyboard focus and arrow-key drag for draggable markers

Draggable markers get tabindex=0 and move with arrow keys (Shift for
larger steps), firing dragstart/drag/dragend. Fixes #8020.

* chore: drop committed PR screenshots

Paste into the PR description instead (user-attachments).

* chore: refresh bundle_size.json after keyboard marker changes

* fix(marker): correct keyboard drag gesture, focus management and map interplay

- stop handled arrow keydowns from propagating to the map's KeyboardHandler,
  which was also panning (or rotating/pitching with Shift) the camera
- only manage tabindex/keyboard for the default marker element; custom
  elements stay application-owned (#7790)
- match the pointer gesture: position updates before dragstart fires on the
  first movement, drag fires per movement (including key repeats), dragend
  fires on keyup or blur
- replace the tabindex bookkeeping with an explicit managed flag so an
  application-provided tabindex is never removed and no stale tabindex
  survives the popup/draggable lifecycle
- bail out on Alt/Ctrl/Meta and on keys from nested elements; use e.key

* fix(marker): preserve overridden tabindex and reset keyboard drag state on remove

Only remove the tabindex value the marker itself set, in case the
application overrode it after the marker became draggable. Reset the
keyboard gesture flag in remove() so a marker removed mid-drag and
re-added starts a fresh gesture with its own dragstart.

* Name keyboard drag step constants and drop a redundant comment

* Retrigger CI (Windows render shard teardown hook timed out, all 274 tests passed)

* chore: update bundle_size.json for latest main changes

* fix(marker): address keyboard drag review

* refactor(marker): rename keyboard drag constants to ALL_CAPS

* chore: move marker changelog entry

---------

Co-authored-by: Stimmie <smmariquit@gmail.com>
S
Stimmie committed
b290e7eb6cd931b2d7c645e9a9214a0303bcf378
Parent: ab44bff
Committed by GitHub <noreply@github.com> on 8/11/2026, 9:22:49 PM