[fix] keyboard interaction with Touchable as link

Fix #643
Close #645
This commit is contained in:
Nicolas Gallagher
2017-09-17 12:48:10 -07:00
parent 77a40b6237
commit 52e5d41518
+5
View File
@@ -12,6 +12,7 @@
* @flow * @flow
*/ */
import AccessibilityUtil from '../../modules/AccessibilityUtil';
import BoundingDimensions from './BoundingDimensions'; import BoundingDimensions from './BoundingDimensions';
import findNodeHandle from '../../modules/findNodeHandle'; import findNodeHandle from '../../modules/findNodeHandle';
import normalizeColor from 'normalize-css-color'; import normalizeColor from 'normalize-css-color';
@@ -819,9 +820,13 @@ const TouchableMixin = {
} }
} }
e.stopPropagation(); e.stopPropagation();
// prevent the default behaviour unless the Touchable functions as a link
// and Enter is pressed
if (!(which === ENTER && AccessibilityUtil.propsToAriaRole(this.props) === 'link')) {
e.preventDefault(); e.preventDefault();
} }
} }
}
}; };
const Touchable = { const Touchable = {