Rethinking drag and drop – Alex Reardon – Medium

  • We at Atlassian have recently released react-beautiful-dnd which makes drag and drop for lists on the web more beautiful, natural and accessible.PhysicalityThe core design idea of react-beautiful-dnd is physicality: we want users to feel like they are moving physical objects around.
  • It’s drag and drop mechanism is fairly standard and serves as a good reference point.Movementinstant movement is standardWhen dragging items around, other items disappear and reappear as needed.
  • At no point is an item instantly moved anywhere — regardless of whether it is dragging or not.Knowing when to moveIt is quite common for drag and drop interactions to be based on the position that user started the drag fromimpact based on selection pointIn this example the user is grabbing the top…
  • Put another way: once the centre position of an item (A) goes over the edge of another item (B), B moves out of the way.AccessibleTraditionally drag and drop interactions have been exclusively a mouse or touch interaction.
  • We add a tab-index to draggable items to ensure that even you are not wrapping something that is usually interactive (such as a div) then the user will still be able to access it with their keyboard to drag it.Not for everyoneThere are a lot of libraries out there that allow…

We have recently released react-beautiful-dnd which makes drag and drop for lists on the web more beautiful, natural and accessible

Rethinking drag and dropTaking something basic and making it beautifulintroducing react-beautiful-dndDrag and drop is an intuitive way of moving and rearranging things. We at Atlassian have recently released react-beautiful-dnd which makes drag and drop for lists on the web more beautiful, natural and accessible.PhysicalityThe core design idea of react-beautiful-dnd is physicality: we want users to feel like they are moving physical objects around. This is best illustrated through contrast — so let’s explore some standard drag and drop behaviour and how we have tried to do better.jquery-sortableThis example uses the amazing jquery-sortable. It’s drag and drop mechanism is fairly standard and serves as a good reference point.Movementinstant movement is standardWhen dragging items around, other items disappear and reappear as needed. Also, when you drop an item it appears in its new home position immediately.a more natural movementFor a more natural drag we animate the movement of items as they need to move out of the way while dragging to more clearly show a drags effect. We also animate the drop of an item so that it animates into its new home position. At no point is an item instantly moved anywhere — regardless of whether it is dragging or not.Knowing when to moveIt is quite common for drag and drop interactions to be based on the position that user started the drag fromimpact based on selection pointIn this example the user is grabbing the top right corner of the first item. The user needs to drag a fair way down before the second item moves to its new…

Rethinking drag and drop – Alex Reardon – Medium