mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
[react-events] Ensure screen reader virtual clicks support preventDefault (#16600)
This commit is contained in:
+5
@@ -635,6 +635,11 @@ const pressResponderImpl = {
|
||||
if (isFunction(onPress) && isScreenReaderVirtualClick(nativeEvent)) {
|
||||
state.pointerType = 'keyboard';
|
||||
state.pressTarget = event.responderTarget;
|
||||
const preventDefault = props.preventDefault;
|
||||
|
||||
if (preventDefault !== false) {
|
||||
nativeEvent.preventDefault();
|
||||
}
|
||||
dispatchEvent(event, onPress, context, state, 'press', DiscreteEvent);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -423,7 +423,9 @@ describe.each(environmentTable)('Press responder', hasPointerEvents => {
|
||||
|
||||
it('is called once after virtual screen reader "click" event', () => {
|
||||
const target = createEventTarget(ref.current);
|
||||
target.virtualclick();
|
||||
const preventDefault = jest.fn();
|
||||
target.virtualclick({preventDefault});
|
||||
expect(preventDefault).toBeCalled();
|
||||
expect(onPress).toHaveBeenCalledTimes(1);
|
||||
expect(onPress).toHaveBeenCalledWith(
|
||||
expect.objectContaining({
|
||||
|
||||
Reference in New Issue
Block a user