# Keyboard dragging `react-beautiful-dnd` supports dragging with only a keyboard. We have audited how our keyboard shortcuts interact with standard browser keyboard interactions. When the user is not dragging they can use their keyboard as they normally would. While dragging we override and disable certain browser shortcuts (such as `tab`) to ensure a fluid experience for the user. > To see more indepth information about how we impact standard browser events see our [how we use DOM events guide](/docs/guides/how-we-use-dom-events.md) ## Keyboard shortcuts: keyboard dragging When a drag is not occurring, the user will be able to navigate through the ``'s on a page using the standard **tab** tab ↹ key to move forward through the tabbable elements and (**shift** + **tab**) (shift + )tab ↹) to move backwards. We achieve this by adding a `tab-index` to the ``. When a `` has focus the **spacebar** space will **lift** a ``. This will start the drag. Once a drag is started the following keyboard shortcuts can be used: - **spacebar** space - drop the `` - **escape** esc - cancel the drag The following commands are also available but they depend on the `type` of `` that the `` is _currently_ in: ### Within a vertical list - **Up arrow** - move a `` upwards in a `` - **Down arrow** - move a `` downwards in a `` - **Right arrow** - move a `` to a `` to the _right_ of the current `` (move to new list) - **Left arrow** - move a `` to a `` to the _left_ of the current `` (move to new list) ### Within a horizontal list - **Up arrow** - move a `` to a `` to _above_ the current `` (move to new list) - **Down arrow** - move a `` to a `` to _below_ the current `` (move to new list) - **Right arrow** - move a `` to the _right_ in the current `` - **Left arrow** - move a `` to the _left_ in the current `` During a drag the following standard keyboard events have their default behaviour prevented (through `event.preventDefault()`) to avoid a bad experience: - **tab** tab ↹ - preventing tabbing - **enter** - preventing submission ## Auto scrolling When dragging with a keyboard, `react-beautiful-dnd` will also perform [auto scrolling](/docs/guides/auto-scrolling.md) operations to ensure the item can be moved around [auto-scroll-board-keyboard](https://user-images.githubusercontent.com/2182637/36520650-3d3638f8-17e6-11e8-9cba-1fb439070285.gif) [← Back to documentation](/README.md#documentation-)