현상
contenteditable 요소에서 IME 컴포지션이 활성 상태일 때 Undo를 누르면 예상보다 더 많은 텍스트가 제거되며, 현재 컴포지션 이전에 커밋된 문자도 포함됩니다.
재현 예시
- 편집 가능한 영역에 포커스합니다.
- 짧은 단어를 입력하고 완료합니다.
- 한국어 IME를 활성화하고 다른 단어 컴포지션을 시작하지만 완료하지 않습니다.
- Ctrl+Z(또는 플랫폼별 Undo 단축키)를 누릅니다.
관찰된 동작
- 활성 컴포지션과 이전에 커밋된 문자가 모두 제거됩니다.
- 이벤트 로그는 사용자 의도와 명확하게 매핑되지 않는
beforeinput/input이벤트 시퀀스를 표시합니다.
예상 동작
- Undo는 마지막으로 커밋된 편집 단계만 되돌리거나, 최소한 동일한 환경에서 네이티브 컨트롤과 동일한 방식으로 동작해야 합니다.
참고사항
- 이 동작은
contenteditable위에 자체 모델을 구축하는 제품에서 예측 가능한 텍스트 편집 및 undo/redo 스택을 방해할 수 있습니다.