케이스 ce-0209-japanese-ime-undo-composition-safari-ko · 시나리오 scenario-undo-with-composition

일본어 IME 조합 중 실행 취소가 예상보다 더 많은 텍스트를 지움

OS: macOS 14.0 기기: Desktop or Laptop Any 브라우저: Safari 17.0 키보드: Japanese (IME) 초안
undocompositionimejapanesesafarimacos

현상

contenteditable 요소에서 일본어 IME 조합이 활성화된 상태에서 실행 취소를 누르면 예상보다 더 많은 텍스트가 제거되며, 현재 조합 또는 불완전한 한자 변환뿐만 아니라 이전에 커밋된 문자도 포함됩니다.

재현 예시

  1. 편집 가능한 영역에 포커스를 둡니다.
  2. 일본어 문자를 입력하고 완료합니다 (예: “漢”).
  3. 일본어 IME를 활성화하고 다른 문자 조합을 시작합니다 (예: “字”), 하지만 완료하지 않습니다.
  4. Cmd+Z(또는 플랫폼별 실행 취소 단축키)를 누릅니다.

관찰된 동작

  • 활성 조합과 이전에 커밋된 문자가 모두 제거됩니다
  • 불완전한 한자 변환이 손실될 수 있습니다
  • 이벤트 로그는 사용자 의도에 깔끔하게 매핑되지 않는 beforeinput / input 이벤트 시퀀스를 표시합니다
  • 실행 취소 세밀도가 잘못되었습니다

예상 동작

  • 실행 취소는 마지막 커밋된 편집 단계만 되돌리거나, 최소한 같은 환경의 네이티브 컨트롤과 같은 방식으로 동작해야 합니다
  • 활성 조합은 취소되어야 하지만 이전에 커밋된 텍스트는 남아 있어야 합니다

브라우저 비교

  • Safari: 조합 중 실행 취소가 예상보다 더 많은 것을 제거할 수 있음, 특히 macOS에서
  • Chrome: 다른 실행 취소 동작을 가질 수 있음
  • Firefox: 다른 실행 취소 동작을 가질 수 있음

참고 및 해결 방법 가능한 방향

  • 이 동작은 예측 가능한 텍스트 편집 및 실행 취소/다시 실행 스택에 간섭할 수 있습니다
  • 실행 취소 작업을 처리할 때 조합 상태 모니터링
  • 더 나은 제어를 위해 사용자 정의 실행 취소/다시 실행 로직 구현 고려

이 시나리오의 변형

케이스 OS 브라우저 상태
ce-0007-undo-breaks-composition-ko Windows 11 Chrome 120.0 초안
ce-0208-korean-ime-undo-composition-chrome-ko Windows 11 Chrome 120.0 초안
ce-0209-japanese-ime-undo-composition-safari-ko macOS 14.0 Safari 17.0 초안

Playground for this case

Use the reported environment as a reference and record what happens in your environment while interacting with the editable area.

Reported environment
OS: macOS 14.0
Device: Desktop or Laptop Any
Browser: Safari 17.0
Keyboard: Japanese (IME)
Your environment
Sample HTML:
Event log
Use this log together with the case description when filing or updating an issue.
0 events
Interact with the editable area to see events here.