diff --git a/src/components/delete-button/delete-button.jsx b/src/components/delete-button/delete-button.jsx
index acbb365a444469fe9a4413812519ebfd3930ba9e..62dfcc08a44c041549ffbb606d69497f24ce4b02 100644
--- a/src/components/delete-button/delete-button.jsx
+++ b/src/components/delete-button/delete-button.jsx
@@ -1,31 +1,58 @@
 import PropTypes from 'prop-types';
 import React from 'react';
+import bindAll from 'lodash.bindall';
 import classNames from 'classnames';
 
 import styles from './delete-button.css';
 import deleteIcon from './icon--delete.svg';
 
-const DeleteButton = props => (
-    <div
-        aria-label="Delete"
-        className={classNames(
-            styles.deleteButton,
-            props.className
-        )}
-        role="button"
-        tabIndex={props.tabIndex}
-        onClick={props.onClick}
-    >
-        <div className={styles.deleteButtonVisible}>
-            <img
-                className={styles.deleteIcon}
-                draggable={false}
-                src={deleteIcon}
-            />
-        </div>
-    </div>
-
-);
+class DeleteButton extends React.Component {
+    constructor (props) {
+        super(props);
+        bindAll(this, [
+            'handleKeyPress',
+            'setRef'
+        ]);
+    }
+    componentDidMount () {
+        document.addEventListener('keydown', this.handleKeyPress);
+    }
+    componentWillUnmount () {
+        document.removeEventListener('keydown', this.handleKeyPress);
+    }
+    setRef (ref) {
+        this.ref = ref;
+    }
+    handleKeyPress (event) {
+        if (this.ref === event.currentTarget.activeElement && (event.key === 'Enter' || event.key === ' ')) {
+            this.props.onClick(event);
+            event.preventDefault();
+        }
+    }
+    render () {
+        return (
+            <div
+                aria-label="Delete"
+                className={classNames(
+                    styles.deleteButton,
+                    this.props.className
+                )}
+                ref={this.setRef}
+                role="button"
+                tabIndex={this.props.tabIndex}
+                onClick={this.props.onClick}
+            >
+                <div className={styles.deleteButtonVisible}>
+                    <img
+                        className={styles.deleteIcon}
+                        draggable={false}
+                        src={deleteIcon}
+                    />
+                </div>
+            </div>
+        );
+    }
+}
 
 DeleteButton.propTypes = {
     className: PropTypes.string,