Skip to content

Commit 15e0711

Browse files
Robin Métraldiasbruno
Robin Métral
authored andcommitted
[fixed] address review comments
1 parent f3a19fc commit 15e0711

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

package-lock.json

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/components/ModalPortal.js

+14-2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,18 @@ const CLASS_NAMES = {
1717
content: "ReactModal__Content"
1818
};
1919

20+
/**
21+
* We need to support the deprecated `KeyboardEvent.keyCode` in addition to
22+
* `KeyboardEvent.code` for apps that still support IE11. Can be removed when
23+
* `react-modal` only supports React >18 (which dropped IE support).
24+
*/
25+
const isTabKey = event => {
26+
event.code === "Tab" || event.keyCode === 9;
27+
};
28+
const isEscKey = event => {
29+
event.code === "Escape" || event.keyCode === 27;
30+
};
31+
2032
let ariaHiddenInstances = 0;
2133

2234
export default class ModalPortal extends Component {
@@ -281,11 +293,11 @@ export default class ModalPortal extends Component {
281293
};
282294

283295
handleKeyDown = event => {
284-
if (event.code === "Tab") {
296+
if (isTabKey(event)) {
285297
scopeTab(this.content, event);
286298
}
287299

288-
if (this.props.shouldCloseOnEsc && event.code === "Escape") {
300+
if (this.props.shouldCloseOnEsc && isEscKey(event)) {
289301
event.stopPropagation();
290302
this.requestClose(event);
291303
}

0 commit comments

Comments
 (0)