현상
테이블 셀 내부의 콘텐츠를 편집하면 테이블 선택에 대한 브라우저 내부 규칙이 트리거됩니다. 크롬에서는 셀 내부를 클릭할 때 캐럿이 배치되는 대신 테이블 행 전체가 선택되거나, 선택 영역이 첫 번째 셀로 예기치 않게 축소될 수 있습니다.
재현 단계
- 여러 행이 있는 테이블을 생성합니다.
- 하나의
<td>를 contenteditable로 설정합니다. - 서로 다른 셀 사이를 빠르게 클릭합니다.
- 셀 경계를 넘어 파란색 “선택 강조”가 나타나는지 확인합니다.
관찰된 동작
- 크롬의 테이블 선택 엔진이 contenteditable 포커스 로직보다 먼저 클릭을 가로챕니다.
- 선택 범위의
commonAncestorContainer가 텍스트 노드가 아닌<table>이 되는 결과가 발생합니다.