Dragging alternative

Buttons, menus, or taps that do the same job as holding and dragging, so moving a pointer along a path is never the only option.

I can't drag this with my mousebuttons instead of drag and dropmove an item up and down without draggingreorder with the keyboardhow do I move cards without draggingmy hands shake too much to dragdrag and drop is the only way to do thisdraggin alternative

See it

Live demo coming soon

What it is

A dragging alternative lets someone complete a pointer drag with simple clicks or taps instead. A sortable list can add Move up and Move down buttons, a kanban card can use a Move to menu (Trello has shipped exactly this on its card menu for years), and a map can offer pan controls. The original drag interaction can stay; WCAG 2.2 SC 2.5.7 Dragging Movements asks for another route that uses a single pointer without dragging.

Reach for it whenever the pointer must stay pressed while moving an object or control: reordering cards, moving sliders, resizing panels, placing map pins, or panning a canvas. Put the alternative beside the thing it operates, preserve the same available destinations, and report the result so the user knows the move worked.

Gotcha: keyboard drag controls are valuable but do not by themselves satisfy the single-pointer requirement. The alternative must also work with a click or tap. Drawing or handwriting can make dragging essential, but a custom interaction is not essential merely because it was designed that way.

Ask AI for it

Keep the existing drag interaction, then add a single-pointer alternative that requires no held movement. For sortable items, add visible Move up and Move down buttons plus a Move to menu listing every valid destination. Use native button and select elements, give icon-only controls an aria-label that names the item and direction, disable only moves that are actually impossible, and announce the new position with an aria-live='polite' status region. Make the same controls operable by click, tap, and keyboard, preserve focus on the moved item's controls, and verify that every result available through Pointer Events dragging is also available through the non-drag controls.

You might have meant

drag and drop with drop targetinput modality supportkeyboard navigationswitch accesstarget size

Go deeper