From 0e3579470d2c38bca4ec88cba4ded35794598f27 Mon Sep 17 00:00:00 2001 From: Phil Tucker Date: Mon, 29 Apr 2019 15:35:54 -0400 Subject: [PATCH 1/2] Fix return focus handling in DatePicker and FocusTrapZone. --- .../src/components/DatePicker/DatePicker.base.tsx | 7 +------ .../src/components/FocusTrapZone/FocusTrapZone.tsx | 7 ++++++- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/office-ui-fabric-react/src/components/DatePicker/DatePicker.base.tsx b/packages/office-ui-fabric-react/src/components/DatePicker/DatePicker.base.tsx index 5eaea8b756aee..6c869d3062da0 100644 --- a/packages/office-ui-fabric-react/src/components/DatePicker/DatePicker.base.tsx +++ b/packages/office-ui-fabric-react/src/components/DatePicker/DatePicker.base.tsx @@ -129,11 +129,6 @@ export class DatePickerBase extends BaseComponent this.focus()); - } - // If DatePicker's menu (Calendar) is closed, run onAfterMenuDismiss if (this.props.onAfterMenuDismiss) { this.props.onAfterMenuDismiss(); @@ -236,7 +231,7 @@ export class DatePickerBase extends BaseComponent - + impl } public componentWillUnmount(): void { - if (!this.props.disabled) { + // don't handle return focus unless forceFocusInsideTrap is true or focus is still within FocusTrapZone + if ( + !this.props.disabled || + this.props.forceFocusInsideTrap || + !elementContains(this._root.current, document.activeElement as HTMLElement) + ) { this._returnFocusToInitiator(); } } From ffe0af0d96eabb4f803593688fc43cc6b2903594 Mon Sep 17 00:00:00 2001 From: Phil Tucker Date: Mon, 29 Apr 2019 15:42:09 -0400 Subject: [PATCH 2/2] Change request. --- .../phtucker-focus_fix_2019-04-29-19-41.json | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 common/changes/office-ui-fabric-react/phtucker-focus_fix_2019-04-29-19-41.json diff --git a/common/changes/office-ui-fabric-react/phtucker-focus_fix_2019-04-29-19-41.json b/common/changes/office-ui-fabric-react/phtucker-focus_fix_2019-04-29-19-41.json new file mode 100644 index 0000000000000..f0d18fb3e65a1 --- /dev/null +++ b/common/changes/office-ui-fabric-react/phtucker-focus_fix_2019-04-29-19-41.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "packageName": "office-ui-fabric-react", + "comment": "Remove out-of-date IE focus handling work-around. Pass forceFocusInsideTrap={false} to DatePicker FocusTrapZone. Adjust FocusTrapZone return focus handling.", + "type": "patch" + } + ], + "packageName": "office-ui-fabric-react", + "email": "phtucker@microsoft.com" +} \ No newline at end of file