diff --git a/utils/dom.js b/utils/dom.js index bedf98ba6c5feb..f0dbeb5c5ae8f8 100644 --- a/utils/dom.js +++ b/utils/dom.js @@ -251,6 +251,13 @@ function caretRangeFromPoint( doc, x, y ) { } const point = doc.caretPositionFromPoint( x, y ); + + // If x or y are negative, outside viewport, or there is no text entry node. + // https://developer.mozilla.org/en-US/docs/Web/API/Document/caretRangeFromPoint + if ( ! point ) { + return null; + } + const range = doc.createRange(); range.setStart( point.offsetNode, point.offset );