웹 포인터 입력 표준, 7년 만에 개정 — Pointer Events Level 3가 W3C 권고안이 됐다

작성자

카테고리:

2026년 6월 30일, W3C는 Pointer Events Level 3를 정식 권고안(Recommendation)으로 발행하면서 2019년 4월 4일자 권고안이던 Pointer Events 2를 대체(supersede)했다. 마우스·펜·터치스크린을 하나의 이벤트 체계로 다루는 웹 표준이 7년 2개월 만에 바뀐 것이다. 이번 판의 핵심은 펜의 기울기를 각도로 읽는 속성, 화면 주사율보다 빠른 입력을 다루는 새 이벤트, 그리고 지연을 줄이기 위한 예측 이벤트다. 원문 권고안과 이전 판 문서를 직접 열어 무엇이 달라졌는지 확인했다.

항목

내용

자료

Pointer Events Level 3 (W3C Recommendation)

발행

W3C Pointer Events Working Group, 2026년 6월 30일

지위

W3C 권고안(웹 기술 표준). 이전 판 Pointer Events 2(2019년 4월 4일 권고)를 대체

대상

웹 브라우저의 포인터 입력(마우스·펜·터치) 이벤트와 인터페이스

기간

이전 권고안(2019.4.4) 이후 약 7년 2개월 만의 개정판

방법

W3C 권고 트랙 표준화 절차. WPT 테스트 스위트와 구현 보고서(2026년 5월 6일자)를 근거로 진행

무엇을 대체했나

권고안의 상태(Status of This Document) 절은 이 문서가 Pointer Events 2의 개정판이며 그것을 대체한다고 명시한다("This revision of Pointer Events supersedes Pointer Events 2"). 실제로 이전 판 문서를 열어 보면 상단에 "권고안 2019년 4월 4일, 2026년 6월 30일 대체됨(Recommendation 4 April 2019, superseded 30 June 2026)"이라는 표시와 함께, 새 구현은 최신 판을 따르라는 안내가 붙어 있다. 편집자는 Patrick H. Lauke(TetraLogical)와 Robert Flack(Google)이다. W3C는 이 명세를 웹 표준으로 널리 배포할 것을 권고한다("W3C recommends the wide deployment of this specification as a standard for the Web")고 적었다.

펜의 기울기를 각도로 읽는다

새로 들어온 altitudeAngle(고도각)과 azimuthAngle(방위각) 속성은 스타일러스 펜이 화면에 대해 얼마나, 어느 방향으로 기울어 있는지를 라디안 값으로 알려준다. 속성 정의에 따르면 고도각의 범위는 0에서 π/2까지로, 0이면 펜이 화면과 평행하고 π/2면 수직이다. 방위각은 0에서 2π까지이며 시계 방향으로 증가한다. 기울기를 보고하지 않는 하드웨어에서는 고도각을 π/2, 방위각을 0으로 두도록 요구된다(MUST). 필기·드로잉 앱이 펜의 자세를 표준 API만으로 읽을 수 있게 된 것이다.

초당 수백 번의 입력을 다루는 두 가지 장치

디지타이저는 화면이 갱신되는 것보다 훨씬 자주 좌표를 보고한다. Level 3는 이를 두 방향에서 다룬다. 하나는 pointerrawupdate 이벤트다. 명세는 이 이벤트를 보안 컨텍스트(secure context) 안에서만 발생시키도록 하고, pointermove와 달리 "가능한 한 빨리, 자바스크립트가 처리할 수 있는 한 자주" 전달하도록 했다. 대신 경고도 명시돼 있다. "pointerrawupdate 리스너를 추가하면 페이지 성능에 부정적 영향을 줄 수 있다. 대부분의 용례에는 다른 포인터 이벤트로 충분하다(Adding listeners for the pointerrawupdate event might negatively impact the performance of the web page… For most use cases the other pointerevent types should suffice)."

다른 하나는 병합·예측 이벤트다. 브라우저는 성능을 위해 여러 번의 이동을 하나의 pointermove로 합쳐 전달할 수 있는데, getCoalescedEvents()는 그렇게 합쳐진 원본 이동 목록을, getPredictedEvents()는 브라우저가 추정한 미래 좌표 목록을 돌려준다. 전자는 필기 궤적의 정밀도를, 후자는 체감 지연 축소를 겨냥한 장치다.

click도 이제 PointerEvent다

이번 판은 click, auxclick, contextmenu 이벤트의 타입을 PointerEvent로 규정했다(MUST). 포인팅 기기가 만든 경우에는 해당 포인터의 pointerId와 pointerType을 물려받고, 키보드처럼 포인터가 아닌 입력이 만든 경우에는 pointerId를 -1로, pointerType을 빈 값으로 둔다. 클릭이 어떤 종류의 입력에서 왔는지를 이벤트 객체만으로 구분할 수 있게 된다.

이 자료가 말하지 않는 것

표준 문서는 브라우저가 실제로 무엇을 구현했는지를 보증하지 않는다. 상태 절이 구현 보고서와 테스트 스위트(wpt.fyi)를 링크하고 있지만, 이번 확인에서 브라우저별 구현 현황 수치까지 열어 보지는 않았다. 예측 이벤트가 얼마나 정확한지는 명세가 아니라 각 브라우저의 구현에 달린 문제다. 또한 터치 스크롤 제어에 쓰이는 touch-action 속성 절(8장)의 세부 값 변화는 이번에 본문까지 확인하지 못했으므로 이 글에서 다루지 않았다.

정리하면

  • 2026년 6월 30일 Pointer Events Level 3가 W3C 권고안이 됐고, 2019년 4월 4일자 Pointer Events 2는 같은 날 대체됨 표시가 붙었다.
  • altitudeAngle(0에서 π/2)과 azimuthAngle(0에서 2π) 속성으로 펜의 기울기와 방향을 표준 API로 읽을 수 있다.
  • pointerrawupdate는 보안 컨텍스트에서만 발생하며, 명세 자체가 성능 부담을 경고하고 있다.
  • getCoalescedEvents()와 getPredictedEvents()는 각각 병합된 원본 이동과 예측 좌표 목록을 돌려준다.
  • click·auxclick·contextmenu는 PointerEvent 타입이어야 하며, 비포인터 입력이면 pointerId가 -1이다.

출처와 확인 범위

뉴스 레터 구독하기

개인정보 수집 및 이용

뉴스레터 발송을 위한 최소한의 개인정보를 수집하고 이용합니다. 수집된 정보는 발송 외 다른 목적으로 이용되지 않으며, 서비스가 종료되거나 구독을 해지할 경우 즉시 파기됩니다.