diff --git a/packages/lexical-playground/__tests__/e2e/Selection.spec.mjs b/packages/lexical-playground/__tests__/e2e/Selection.spec.mjs index 4273d39dc49..a0513a361f7 100644 --- a/packages/lexical-playground/__tests__/e2e/Selection.spec.mjs +++ b/packages/lexical-playground/__tests__/e2e/Selection.spec.mjs @@ -1499,7 +1499,7 @@ test.describe.parallel('Selection', () => { await assertSelection(page, { anchorOffset: 0, anchorPath: [2], - focusOffset: 1, + focusOffset: 0, focusPath: [1, 1, 0], }); }); @@ -1544,7 +1544,7 @@ test.describe.parallel('Selection', () => { await assertSelection(page, { anchorOffset: 0, anchorPath: [1], - focusOffset: 1, + focusOffset: 0, focusPath: [0, 1, 0], }); }, @@ -1659,7 +1659,7 @@ test.describe.parallel('Selection', () => { await assertSelection(page, { anchorOffset: 0, anchorPath: [2], - focusOffset: 1, + focusOffset: 0, focusPath: [1, 1, 0], }); }); diff --git a/packages/lexical-table/src/LexicalTableSelectionHelpers.ts b/packages/lexical-table/src/LexicalTableSelectionHelpers.ts index e672e074dfd..ac43b6b782d 100644 --- a/packages/lexical-table/src/LexicalTableSelectionHelpers.ts +++ b/packages/lexical-table/src/LexicalTableSelectionHelpers.ts @@ -1045,11 +1045,11 @@ export function applyTableHandlers( ); const firstCell = tableMap[0][0].cell; const lastCell = tableMap[tableMap.length - 1].at(-1)!.cell; + // When backward, focus should be at START of first cell (0) + // When forward, focus should be at END of last cell (getChildrenSize) newSelection.focus.set( isBackward ? firstCell.getKey() : lastCell.getKey(), - isBackward - ? firstCell.getChildrenSize() - : lastCell.getChildrenSize(), + isBackward ? 0 : lastCell.getChildrenSize(), 'element', ); } else if (isAnchorInside) {