diff --git a/packages/block-editor/src/components/writing-flow/use-multi-selection.js b/packages/block-editor/src/components/writing-flow/use-multi-selection.js index ab5ac662697945..27be31d0eccbf6 100644 --- a/packages/block-editor/src/components/writing-flow/use-multi-selection.js +++ b/packages/block-editor/src/components/writing-flow/use-multi-selection.js @@ -76,10 +76,10 @@ export default function useMultiSelection() { node.contentEditable = true; // For some browsers, like Safari, it is important that focus - // happens BEFORE selection removal. + // happens BEFORE updating the selection. node.focus(); - defaultView.getSelection().removeAllRanges(); + defaultView.getSelection().setPosition( node ); }, [ hasMultiSelection, diff --git a/packages/block-editor/src/components/writing-flow/use-select-all.js b/packages/block-editor/src/components/writing-flow/use-select-all.js index c56549acf54ad5..f5d9646eb8ed74 100644 --- a/packages/block-editor/src/components/writing-flow/use-select-all.js +++ b/packages/block-editor/src/components/writing-flow/use-select-all.js @@ -44,7 +44,7 @@ export default function useSelectAll() { if ( rootClientId ) { node.ownerDocument.defaultView .getSelection() - .removeAllRanges(); + .setPosition( node ); selectBlock( rootClientId ); } return;