디바이스 자세 API

W3C 후보 권고안 초안

이 문서에 대한 자세한 정보
이 버전:
https://www.w3.org/TR/2026/CRD-device-posture-20260520/
최신 공개 버전:
https://www.w3.org/TR/device-posture/
최신 편집자 초안:
https://w3c.github.io/device-posture/
이력:
https://www.w3.org/standards/history/device-posture/
커밋 이력
테스트 스위트:
https://wpt.live/device-posture
구현 보고서:
https://wpt.fyi/results/device-posture
편집자:
Kenneth Rohde Christiansen (Intel Corporation)
Alexis Menard (Intel Corporation)
이전 편집자:
Diego González (Microsoft, 이전에는 Samsung을 대신함)
피드백:
GitHub w3c/device-posture (풀 리퀘스트, 새 이슈, 열린 이슈)
추가 리소스
설명서
폴리필

요약

이 문서는 웹 애플리케이션이 디바이스의 자세 변화를 요청하고 알림을 받을 수 있도록 하는 API를 명세합니다.

이 문서의 상태

이 절은 이 문서가 공개된 시점의 상태를 설명한다. 현재 W3C 공개 문서 목록과 이 기술 보고서의 최신 개정판은 W3C 표준 및 초안 색인에서 확인할 수 있다.

이 명세는 Chromium 기반 브라우저에서 구현되어 있다. WebKit 및 Mozilla는 아직 이 명세에 대한 공식 입장을 발표하지 않았다.

이 명세가 최종적으로 후보 권고안 단계에 도달하기 전에 구현하는 데 관심이 있는 벤더는 GitHub에서 저장소를 구독하고 논의에 참여해야 한다.

이 문서는 Devices and Sensors Working Group권고안 트랙을 사용하여 후보 권고안 초안으로 공개했다.

후보 권고안으로 공개되었다고 해서 W3C와 그 회원들이 승인했음을 의미하지 않는다. 후보 권고안 초안은 워킹 그룹이 이후의 후보 권고안 스냅샷에 포함하려는 이전 후보 권고안의 변경 사항을 통합한다.

이 문서는 초안 문서이며 언제든지 다른 문서로 업데이트, 대체 또는 폐기될 수 있다. 이 문서를 진행 중인 작업이 아닌 것으로 인용하는 것은 적절하지 않다.

이 문서는 W3C 특허 정책에 따라 운영되는 그룹에 의해 작성되었다. W3C는 그룹의 산출물과 관련하여 이루어진 모든 특허 공개의 공개 목록을 유지하며, 해당 페이지에는 특허 공개에 대한 지침도 포함되어 있다. 개인이 필수 청구항을 포함한다고 믿는 특허에 대해 실제 지식을 가지고 있는 경우, 그 개인은 W3C 특허 정책의 6절에 따라 정보를 공개해야 한다.

이 문서는 2025년 8월 18일 W3C 프로세스 문서의 적용을 받는다.

1. 소개

디바이스 자세(device posture)는 디바이스가 물리적으로 놓여 있는 위치로, 각도뿐만 아니라 센서에서 얻은 정보를 통해 유추될 수 있습니다. 새로운 유형의 모바일 디바이스들이 등장하고 있으며, 이들은 자세를 변경할 수 있는 기능을 가지고 있습니다. 가장 흔한 형태는 화면이나 화면 주변을 접을 수 있는(폴딩이 가능한) 디바이스로, 실제로 폼 팩터를 물리적으로 변경할 수 있습니다. 디바이스의 자세를 아는 주된 목적은 반응형 디자인을 통해 새로운 사용자 경험을 구현하는 데 있습니다.

언급된 "폴딩" 디바이스에는 주로 두 가지 물리적 폼 팩터가 있습니다: 하나는 하나의 유연한 화면(심리스), 또 하나는 두 개의 화면(이음새 있음)입니다. 두 종류 모두 경첩(hinge)을 중심으로 접을 수 있으며, 현재 명세는 두 유형 모두에 적용됩니다. 또한 심리스와 이음새 있는 디바이스 모두 모바일, 태블릿, 노트북 등 다양한 크기일 수 있습니다. 각 디바이스마다 기본 방향(세로/가로)이 다를 수 있으며, 접힘이 수직 또는 수평으로 일어날 수 있다는 점도 유의해야 합니다.

다양한 폴더블 디바이스 유형 그림

웹사이트에서 접힘 영역을 피해 가독성을 높이거나, 웹에서 혁신적인 사용 사례를 구현하기 위해 디바이스의 자세를 아는 것은 개발자가 다양한 디바이스에 맞춰 콘텐츠를 최적화하는 데 도움이 됩니다.

디바이스가 평평하지 않은 상태에서도 콘텐츠를 소비하고 탐색할 수 있으므로, 개발자는 디바이스의 자세 상태에 따라 다른 레이아웃을 제공하고자 할 수 있습니다.

2. Document 인터페이스 확장

다음 내부 슬롯들이 Document 인터페이스에 추가된다.

내부 슬롯 설명
[[CurrentPosture]] 디바이스의 현재 자세.

3. Navigator 인터페이스 확장

[HTML] 명세는 Navigator 인터페이스를 정의하며, 이 명세는 이를 확장한다:

WebIDL[SecureContext, Exposed=(Window)]
partial interface Navigator {
  [SameObject] readonly attribute DevicePosture devicePosture;
};

4. DevicePosture 인터페이스

WebIDL[SecureContext, Exposed=(Window)]
interface DevicePosture : EventTarget {
  readonly attribute DevicePostureType type;
  attribute EventHandler onchange;
};

enum DevicePostureType {
  "continuous",
  "folded"      
};

4.1 type 속성: 현재 디바이스 자세 가져오기

type 속성을 가져올 때, 사용자 에이전트는 this관련 전역 객체연관된 Document의 내부 슬롯 [[CurrentPosture]] 값을 반환해야 MUST 한다.

4.2 onchange 속성: 자세 변화 처리

onchange 속성은 이벤트 핸들러 IDL 속성이며, onchange 이벤트 핸들러에 대응하고, 그 이벤트 핸들러 이벤트 유형은 "change"이다.

5. 자세 타입

이 명세는 다음 자세 값을 정의합니다:

  1. 연속 자세 그림

    연속(Continuous) 자세: 연속 자세는 "평평한" 위치를 의미합니다. 이는 대부분의 디바이스에서 기본 상태이며, 다양한 자세를 허용하지 않는 경우입니다.

    접힘, 경첩 또는 유사 기능이 없는 디바이스가 포함됩니다.

    하드웨어 혁신의 특성상, Document가 평면 레이아웃으로 표시될 것으로 예상되는 자세에 있는 한, 듀얼, 접이식, 롤러블 또는 곡면 화면이 있는 장치도 포함한다.

    예시:

    • 폴더블 디바이스가 완전히 펼쳐져 평평한 자세인 경우
    • 폴더블 디바이스에서 브라우저가 경첩을 가로지르지 않는 창/섹션에서 실행되는 경우
    • 2-in-1 디바이스가 태블릿 모드로 1개의 화면/측면만 사용하는 경우
    • 접히지 않는 디바이스
    참고

    어떤 경우에는 디바이스가 여러 앱을 실행하거나 물리적으로 평평하지 않은 상태일 수 있지만, 브라우저가 여러 화면/섹션에 걸쳐 있지 않으면 해당 자세는 연속으로 간주됩니다.

  2. 접힌 자세 그림 접힘(Folded) 자세: 접힘 자세는 물리적으로 접힐 수 있는 디바이스를 의미합니다. 이러한 디바이스는 하나의 유연한 화면 또는 두 개의 인접한 화면을 가질 수 있습니다. 이 자세에서는 디스플레이/섹션 사이에 '평평한' 상태를 넘지 않는 각도가 형성됩니다.

    예시:

    • 폴더블 디바이스가 수직 경첩과 내부 화면을 통해 '책' 자세로 사용되는 경우, 콘텐츠가 두 섹션에 걸쳐 있고 각도가 약 30°~170°를 이룸
    • 폴더블 디바이스가 수평 경첩과 내부 화면을 통해 '노트북' 자세로 사용되는 경우
    참고

    폴더블 디바이스를 반쯤 접힌 상태(책처럼)로 사용할 때는, 구현자는 텍스트 방향과 쓰기 모드가 레이아웃 및 표현에 미치는 영향을 고려해야 할 수 있습니다.

    예를 들어, 오른쪽에서 왼쪽으로 진행하는 언어(아랍어, 히브리어, 시리아어 등)와 많은 세로 쓰기 모드(동아시아 언어 등)는 영어 책과는 반대 순서로 페이지가 진행되어, 오른쪽 페이지에 번호가 더 낮아집니다.

    자세한 정보는 중국어, 일본어, 한국어 쓰기 모드의 차이점을 참고하세요.

API에서는 자세 값이 DevicePostureType 열거형 값으로 표현됩니다.

6. 디바이스 자세 미디어 쿼리

6.1 device-posture 미디어 기능

device-posture 미디어 특성은 CSS 미디어 쿼리 [MEDIAQ]를 통해 장치의 자세를 나타낸다. 모든 navigable은 자신의 최상위 traversable자세를 반영한다.

값:
continuous | folded
적용 대상:
시각적 미디어 타입
min/max 접두사 허용:
아니오

사용자 에이전트는 MUST 웹 애플리케이션에 적용된 자세를 CSS 미디어 쿼리 [MEDIAQ]로 반영해야 합니다.

7. 자세 읽기

Document의 모든 인스턴스는 내부 슬롯 [[CurrentPosture]]을 가지며, 이는 Document가 생성될 때 초기화되어야 한다. 그렇지 않은 경우, 그 값이 읽히기 전에 처음 접근될 때 MUST 초기화되어야 한다. 사용자 에이전트는 이를 초기화하기 위해, documentDocument로 설정하고 disallowRecursion를 true로 설정하여 장치 자세 변경 단계MUST 실행해야 한다.

주어진 Document에 대해, 현재 자세는 현재 힌지 각도와 화면 방향, 그리고 잠재적으로 그 밖의 구현별 신호로부터 도출된다.

이 표는 규범적이지 않습니다.

7.1 자세 값 표

값은 대략적인 것으로, 디바이스마다 다를 수 있습니다. 예를 들어, 평평하게 놓았을 때 정확히 180°가 아니라 175°~185° 범위일 수 있습니다. 디바이스 제작사는 SHOULD 물리적 디바이스 자세가 본 명세에 정의된 자세에 정확히 매핑되도록 해야 합니다. 또한 경첩 각도 외에 더 많은 센서를 사용해 자세를 결정할 수도 있습니다. 예를 들어, 키보드가 화면 하단에 결합되어 있는지, 킥스탠드가 펼쳐져 있는지 여부도 감지할 수 있습니다.

물리적 제약이나 디자인에 따라 일부 자세가 없는 디바이스도 있을 수 있으며, 이 경우 디바이스는 SHOULD 모든 각도와 디바이스 방향(호스트 OS 및 [SCREEN-ORIENTATION]에 의해 고정될 수 있음), 그리고 디바이스 특화 신호가 반드시 정의된 자세 중 하나에 매핑되도록 해야 합니다.

7.1.1 폴더블 디바이스

폴더블 디바이스의 자세 값
자세 각도 값
continuous < ~180°
folded ~180°

8. 알고리즘

8.1 디바이스 자세 정보 계산

Document document장치 자세 정보를 계산하는 단계는 다음과 같다:

  1. topLevelTraversabledocument관련 전역 객체navigable최상위 traversable로 둔다.
  2. topLevelTraversable. [[PostureOverride]]가 null이 아니면, 이를 반환한다.
  3. 현재 힌지 각도 값, 현재 화면 방향, 및 잠재적인 구현별 신호를 기반으로 구현 정의 방식으로 결정된 DevicePostureType 값을 자세 값 표에 따라 반환한다.

8.2 디바이스 자세 변화

사용자 에이전트가 최상위 traversable에 대해 화면(들)의 접힘 각도, 방향 또는 장치별 신호가 변경되었다고 판단하면, 사용자 에이전트는 최상위 traversable활성 document와 함께 장치 자세 변경 단계MUST 실행해야 한다.

Document document와 선택적 boolean disallowRecursion(기본값 false)에 대한 장치 자세 변경 단계는 다음과 같다:

  1. document가시성 상태가 "hidden"이면, 이 단계를 중단한다.
  2. posturedocument장치 자세 정보를 계산한 결과로 둔다.
  3. posturedocument.[[CurrentPosture]]와 같으면, 이 단계를 중단한다.
  4. document관련 전역 객체와 함께 다음 단계를 수행하도록, 사용자 상호작용 태스크 소스전역 태스크를 큐에 넣는다:
    1. document.[[CurrentPosture]]posture로 설정한다.
    2. document관련 전역 객체와 연관된 Navigator와 연결된 DevicePosture 객체에서 "change"라는 이름의 이벤트를 발화한다.
  5. disallowRecursion이 true이면, 이 단계를 중단한다.
  6. document자손 navigable 각각의 descendantNavigable에 대해 반복한다:
    1. documentdescendantNavigable활성 document로 설정하고, disallowRecursion를 true로 설정하여 장치 자세 변경 단계를 실행한다.

이 명세는 visibility statedocument가 주어졌을 때 다음 페이지 가시성 변경 단계를 정의한다:

  1. document에 대해 disallowRecursion를 false로 설정하여 장치 자세 변경 단계를 실행해 이를 초기화한다.
Note
Issue 103: 페이지 가시성 변경 단계 훅 사용 피하기

출처: https://html.spec.whatwg.org/#update-the-visibility-state

잘 정의된 명세 간 호출 순서를 보장하려면, 명세 작성자가 페이지 가시성 변경 단계 훅을 사용하는 대신, 여기에서 직접 자신의 명세로 호출을 추가하는 풀 리퀘스트를 보내는 편이 더 낫다. 이 글을 작성하는 시점에, 지정되지 않은 순서로 실행될 페이지 가시성 변경 단계를 가진 것으로 알려진 명세는 다음과 같다: Device Posture API 및 Web NFC. [DEVICEPOSTURE] [WEBNFC]

9. 보안 고려사항

본 명세에 대해 새로운 보안 고려사항이 보고된 바는 없습니다. 하지만 이 문서에서 기술된 10. 개인정보 보호 고려사항을 참고하는 것이 권장됩니다.

10. 개인정보 보호 고려사항

10.1 개인정보 위협 유형

이 섹션은 규범적이지 않습니다.

10.1.1 컨텍스트 간 사용자 식별

이 API가 동일한 디바이스의 서로 다른 브라우징 컨텍스트에서 동시에 사용될 때, 두 컨텍스트 간에 사용자를 연관시켜 예기치 않은 추적 메커니즘이 만들어질 수 있습니다. 하지만 자세 값은 일반적으로 오랜 시간 동안 안정적이기 때문에, 두 사용자가 동일하지 않음을 확인하는 데 사용할 수는 있지만, 다양한 폴더블 디바이스의 타입과 모델이 존재한다는 점에서 특정 사용자를 식별하는 데에는 도움이 되지 않습니다.

추가된 엔트로피는 사용자의 주요 입력이 터치 기반인지 여부를 알려주는 pointer API에 비견할 수 있습니다. 이러한 주요 입력은 키보드가 분리/결합되거나 태블릿 모드가 활성화/비활성화될 때 변경될 수 있습니다.

이론적 공격은 10.2.1 데이터 최소화, 10.2.2 사용자 주의10.2.3 사용자 중재 행동으로 완화됩니다.

10.1.2 교차 출처 iframe

교차 출처 iframe도 이 API를 통해 자세에 접근할 수 있으므로, 10.1.1 컨텍스트 간 사용자 식별에서 언급된 것과 유사하게 사용자를 식별하는 데 정보를 사용할 수 있습니다. 동일한 완화책이 적용됩니다.

10.1.3 악성 스크립트 주입(광고/악용 목적)

iframe을 통해 악의적 행위자가 자신의 코드를 주입하여 자세 정보를 접근하고, 이를 이용해 사용자를 추적할 수 있습니다.

이론적 공격은 10.2.1 데이터 최소화 및 자세 값 자체가 담고 있는 정보가 적고 장기간 안정적으로 유지된다는 사실에 의해 완화됩니다.

10.2 대응 전략

10.2.1 데이터 최소화

API는 "자세"라는 고수준 추상화만 노출하며, "continuous" 또는 "folded" 중 하나입니다. 다양한 자세를 지원하지 않는 디바이스는 기본적으로 "continuous"로 설정됩니다. 즉, 핑거프린트에 최대 1비트의 엔트로피만 더해집니다. 또한 이 1비트가 노출되려면 사용자가 디바이스의 물리적 자세를 명확하고 큰 동작으로 바꿔야만 합니다.

구현은 다양한 저수준 정보를 활용해 가장 적합한 고수준 자세를 결정할 수 있지만, 저수준 세부 정보는 이 API를 통해 노출되지 않습니다. 또한 어떤 세밀한 센서 값도 고수준 자세 상태에 1:1로 매핑되지 않습니다. 구현은 경첩 각도 센서, 다른 센서, 키보드 결합 여부, 킥스탠드 펼침 여부, 또는 이들의 조합 등을 활용해 폼 팩터에 맞는 가장 적합한 자세를 결정할 수 있습니다. 이러한 추상화 덕분에 필요한 최소 정보만 노출되어 데이터 최소화 원칙을 준수하게 됩니다.

10.2.2 사용자 주의

자세 값 변경 이벤트는 활성 document가시성 상태가 "visible"인 각 항목에 대해서만 발화된다. 이는 장치 자세 변경 단계에서 설명한 바와 같다. 그리고 그렇지 않은 동안 값을 폴링하면 오래된 값이 반환된다. 값은 가시성 상태가 "visible"이거나 방금 "visible"로 변경된 경우에만 업데이트되기 때문이다.

10.2.3 사용자 중재 행동

자세 변경에는 사용자의 명확하고 큰 물리적 행동이 요구됩니다. "큰"이란 자세 값 표에 따라 구현자 정의 임계값을 넘어야 하며, "명확하다"는 것은 OS가 자세 변화에 맞게 적절히 반응하고 사용자의 기대에 부합하는 결과가 나타나야 한다는 뜻입니다.

11. 접근성 고려사항

Device Posture API의 주요 목적은 사용자 경험 향상입니다. API를 기반으로 하는 애플리케이션이 접근성에 긍정적 영향을 줄 수 있는 방법은 세 가지입니다.
  1. 접힘/경첩 영역에 콘텐츠(특히 버튼)를 배치하지 않는 애플리케이션 설계. 이 영역은 곡률 때문에 손가락으로 정확히 터치하거나 아예 터치할 수 없는 경우가 많으므로 상호작용이 어렵습니다.
  2. 접힌 디바이스에서 접힘/경첩 영역에 크고 연속적인 콘텐츠(예: 비디오, 이미지)를 걸쳐 배치하지 않는 설계. 이 영역은 콘텐츠와 색상을 약간 왜곡시킵니다.
  3. 화면 공간을 더 효율적으로 활용하기 위해 UI를 분할하여(각 화면 영역에 콘텐츠를 나누어 배치) 차별화된 강력한 인터페이스를 제공하는 설계.
이 API를 사용할 때는 접근성 관점에서 위의 기회들을 고려해야 합니다. 구체적 예시는 다음과 같습니다:

12. 자동화

Device Posture API는 테스트 작성자에게 어려움을 제기한다. 인터페이스를 완전히 테스트하려면 물리적 하드웨어 장치가 필요하기 때문이다. 이 문제를 해결하기 위해, 이 문서는 사용자가 보고되는 장치 자세를 제어하고 실제 장치를 시뮬레이션할 수 있도록 하는 [WEBDRIVER2] 확장 명령을 정의한다.

아래의 확장 명령8. 알고리즘과의 통합을 지원하기 위해, 최상위 traversable은 다음 내부 슬롯을 가져야 한다:

내부 슬롯 설명
[[PostureOverride]] 하드웨어가 제공하는 현재 자세를 재정의합니다. 가능한 값:
  • "continuous"
  • "folded"
  • null: 재정의하지 않음. 하드웨어가 제공하는 값을 사용함.
이 값들은 스크립트에 직접 노출되지 않습니다.

12.1 확장 명령어

12.1.1 디바이스 자세 설정

HTTP 메서드 URI 템플릿
POST /session/{session id}/deviceposture

확장 명령은 장치 자세를 특정 DevicePostureType으로 변경한다.

이 알고리즘에서 사용하는 parameters 인자의 속성
매개변수 이름 값 유형 필수 여부
posture 문자열

원격 엔드 단계는 다음과 같다:

  1. postureparameters에서 "posture" 속성을 가져온 결과로 둔다.
  2. posture문자열이 아니면, 오류WebDriver 오류 코드 유효하지 않은 인자와 함께 반환한다.
  3. posture가 "continuous"도 아니고 "folded"도 아니면, 오류WebDriver 오류 코드 유효하지 않은 인자와 함께 반환한다.
  4. topLevelTraversable현재 탐색 컨텍스트최상위 traversable로 둔다.
  5. topLevelTraversable. [[PostureOverride]]posture로 설정한다.
  6. documenttopLevelTraversable활성 document로 둔다.
  7. document장치 자세 변경 단계를 호출한다.
  8. null 데이터를 포함하여 성공을 반환한다.

12.1.2 디바이스 자세 초기화

HTTP 메서드 URI 템플릿
DELETE /session/{session id}/deviceposture

확장 명령은 장치 자세 재정의를 제거하고 장치 자세 제어를 하드웨어로 되돌린다.

원격 엔드 단계는 다음과 같다:

  1. topLevelTraversable현재 탐색 컨텍스트최상위 traversable로 둔다.
  2. topLevelTraversable. [[PostureOverride]]null이면, null 데이터를 포함하여 성공을 반환한다.
  3. topLevelTraversable. [[PostureOverride]]null로 설정한다.
  4. documenttopLevelTraversable활성 document로 둔다.
  5. document장치 자세 변경 단계를 호출한다.
  6. null 데이터를 포함하여 성공을 반환한다.

13. 예시

이 섹션은 규범적이지 않습니다.

13.1 예시 1: 자세 데이터

이것은 자세를 콘솔에 출력하는 간단한 사용 예입니다.

예시 1: 자세 변화에 반응하기
navigator.devicePosture.addEventListener("change", () => {
  console.log(`현재 자세는: ${navigator.devicePosture.type}!`);
})

13.2 예시 2: device-posture

디바이스가 영상통화 웹 서비스에 사용되고 있습니다. 표면에 올려놓으면 노트북 자세로 접혀 핸즈프리 경험을 할 수 있습니다. UA가 자세를 감지하여 UI를 개선합니다. 모든 자세에 맞춰 콘텐츠를 적응시키는 유사 예시도 작성할 수 있습니다. 다른 주요 시나리오는 설명서를 참고하세요.

device-posture 미디어 기능과 viewport segment 미디어 기능을 사용하는 영상통화 웹 서비스의 예시 그림
예시 2: 자세에 맞게 UI 적응
@media (device-posture: folded) and (vertical-viewport-segments: 2) {
  body {
    display: flex;
    flex-flow: column nowrap;
  }

  .videocall-area, .videocall-controls  {
    flex: 1 1 env(viewport-segment-bottom 0 0);
  }
}

13.3 예시 3: device-posture 미디어 기능 감지

유효한 device-posture 값 중 하나는 항상 true가 되므로, 다음 코드로 미디어 기능 지원 여부를 감지할 수 있습니다:

예시 3: device-posture 기능 감지
@media (device-posture) {
  /*브라우저가 device-posture 기능을 지원함*/
}
boolean 컨텍스트에서 미디어 기능에 대한 자세한 내용은 Boolean 컨텍스트에서 미디어 기능 평가를 참고하세요.

14. 준수성

규범적이지 않은 섹션뿐만 아니라, 본 명세서의 모든 작성 지침, 다이어그램, 예시, 참고사항은 모두 규범적이지 않습니다. 그 외의 모든 내용은 규범적입니다.

이 문서의 핵심어 MUSTSHOULD는 모두 대문자로 나타날 때, 그리고 그 경우에만 여기 보인 바와 같이 BCP 14 [RFC2119] [RFC8174]에 설명된 대로 해석되어야 한다.

이 명세는 하나의 제품에 대한 준수 기준을 정의합니다: 이 명세서가 포함하는 인터페이스를 구현하는 사용자 에이전트.

A. IDL 색인

WebIDL[SecureContext, Exposed=(Window)]
partial interface Navigator {
  [SameObject] readonly attribute DevicePosture devicePosture;
};

[SecureContext, Exposed=(Window)]
interface DevicePosture : EventTarget {
  readonly attribute DevicePostureType type;
  attribute EventHandler onchange;
};

enum DevicePostureType {
  "continuous",
  "folded"      
};

B. 감사의 글

이 섹션은 규범적이지 않습니다.

창립 편집자로서 명세에 큰 기여를 하고, 이 명세와 Devices and Sensors Working Group 모두에 대한 시각적 정체성을 만들어 준 Diego González에게 감사드린다.

Daniel Appelquist, Jo Balletti, Michael Blix, Paul Grenier, Laura Morinigo님께 본 작업에 기여해주신 점 진심으로 감사드립니다.

C. 주요 변경 요약

이 섹션은 규범적이지 않습니다.

D. 참고 문헌

D.1 규범적 참고 문헌

[dom]
DOM 현행 표준. Anne van Kesteren. WHATWG. 현행 표준. URL: https://dom.spec.whatwg.org/
[HTML]
HTML 현행 표준. Anne van Kesteren; Domenic Denicola; Dominic Farolino; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. 현행 표준. URL: https://html.spec.whatwg.org/multipage/
[infra]
Infra 현행 표준. Anne van Kesteren; Domenic Denicola. WHATWG. 현행 표준. URL: https://infra.spec.whatwg.org/
[MEDIAQ]
Media Queries Level 4. Florian Rivoal; Tab Atkins Jr.. W3C. 2021년 12월 25일. W3C 후보 권고안. URL: https://www.w3.org/TR/mediaqueries-4/
[RFC2119]
RFC에서 요구 수준을 나타내는 키워드 사용. S. Bradner. IETF. 1997년 3월. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119
[RFC8174]
RFC 2119 키워드 대문자/소문자 모호성. B. Leiba. IETF. 2017년 5월. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc8174
[SCREEN-ORIENTATION]
Screen Orientation. Marcos Caceres. W3C. 2023년 8월 9일. W3C 작업 초안. URL: https://www.w3.org/TR/screen-orientation/
[WEBDRIVER2]
WebDriver. Simon Stewart; David Burns. W3C. 2024년 10월 9일. W3C 작업 초안. URL: https://www.w3.org/TR/webdriver2/
[webidl]
Web IDL 현행 표준. Edgar Chen; Timothy Gu. WHATWG. 현행 표준. URL: https://webidl.spec.whatwg.org/

D.2 참고용 참고 문헌

[clreq]
중국어 텍스트 레이아웃 요구사항 - 中文排版需求. Fuqiao Xue; Richard Ishida. W3C. 2024년 7월 1일. W3C 작업 그룹 노트. URL: https://www.w3.org/TR/clreq/
[jlreq]
일본어 텍스트 레이아웃 요구사항 日本語組版処理の要件(일본어판). Hiroyuki Chiba; Junzaburo Edamoto; Richard Ishida; Seiichi Kato; Tatsuo KOBAYASHI; Toshi Kobayashi; Nathaniel McCully; Felix Sasaki; Atsushi Shimono; Hajime Shiozawa; Fuqiao Xue et al. W3C. 2020년 8월 11일. W3C 작업 그룹 노트. URL: https://www.w3.org/TR/jlreq/
[klreq]
한글 텍스트 레이아웃 및 타이포그래피를 위한 요구사항. Richard Ishida. W3C. 2020년 5월 27일. W3C 작업 그룹 노트. URL: https://www.w3.org/TR/klreq/