Copyright © 2021 W3C® (MIT, ERCIM, Keio, Beihang). W3C liability, trademark and permissive document license rules apply.
이 문서는 "이미지 리소스"의 개념과 이에 상응하는 WebIDL ImageResource 사전을 정의합니다. 웹 API는
ImageResource 사전을 이용해
HTMLImageElement가 적합하지 않거나 사용할 수 없는 상황(예: 워커)에서 이미지 리소스를 표현할 수 있습니다.
이 절은 본 문서가 발행될 당시의 문서 현황을 설명합니다. 다른 문서가 이 문서를 대체할 수 있습니다. 현재 W3C 발행물 목록과 이 기술 보고서의 최신 판은 W3C 기술 보고서 색인에서 https://www.w3.org/TR/ 에서 확인할 수 있습니다.
이 명세는 안정적이지 않습니다. 논의에 참여하지 않는 구현자는 명세가 호환되지 않는 방식으로 변경되는 것을 겪게 될 수 있습니다.
이 문서는 웹 애플리케이션 작업 그룹에서 Working Draft로 발행되었습니다. 이 문서는 W3C 권고가 되는 것을 목표로 합니다.
본 명세 논의를 위해서는 GitHub Issues를 사용하는 것이 선호됩니다.
Working Draft로 발행되었다고 해서 W3C 회원의 승인을 의미하지는 않습니다.
이 문서는 초안이므로 언제든지 업데이트, 대체 또는 폐기될 수 있습니다. 진행 중인 작업 이외의 문서로 인용하는 것은 부적절합니다.
이 문서는 W3C 특허 정책 하에 운영되는 그룹에서 작성되었습니다. W3C는 공개된 특허 목록을 관리하며, 이 페이지에는 특허 공개 방법도 안내되어 있습니다. 특허가 필수 청구항을 포함한다고 믿는 사람이 실질적으로 이를 알게 된 경우, W3C 특허 정책 6항에 따라 정보를 공개해야 합니다.
이 문서는 2020년 9월 15일 W3C 프로세스 문서에 의해 관리됩니다.
웹 애플리케이션은 종종 개발자가 제공한 이미지 리소스를 HTML 문서 외부(예: 운영 체제, 브라우저 UI 등)에 표시하도록 받습니다. 이 명세는 이미지를 설명하고 이미지 리소스를 어디에서 가져올 수 있는지 나타내는 WebIDL 사전을 정의합니다. 사용자 에이전트는 이러한 추가 정보를 활용하여 최종 사용자의 기기에 가장 적합하게 표시하거나, 사용자의 환경 또는 선호와 가장 잘 일치하는 이미지를 선택할 수 있습니다.
이미지 리소스 가져오기는 사용자의 IP 주소를 노출할 수 있습니다. 사용자 에이전트가 개발자가 제공한 이미지 리소스를 가져와 필요 시 재사용을 위해 저장하는 것이 권장됩니다. 이렇게 하면 사용자의 위치를 장기간 추적하는 것을 제한할 수 있습니다.
이미지 리소스는 다음으로 구성됩니다:
link의
sizes
속성과 동일한 구문을 사용해 이미지의 크기를 표현합니다.
API에서, 이미지 리소스는 ImageResource 사전으로 표현됩니다.
ImageResource 사전
WebIDLdictionary ImageResource {
required USVString src;
DOMString sizes;
DOMString type;
DOMString label;
};
src 멤버
src는 ImageResource의 URL로, 사용자 에이전트가 이미지 데이터를 가져올 수
있습니다.
sizes 멤버
sizes 멤버는
link
요소의
sizes
속성과 동일하며, 동일한 방식으로 처리됩니다.
여러 ImageResource 사전이 있는 경우, 사용자 에이전트는 sizes 값을 사용하여
어느 이미지가 디스플레이 컨텍스트에 가장 적합한지 결정할 수 있습니다(부적절한 것은 무시). 선택 사항입니다.
sizes 멤버를 사용하면
여러 사이즈 값을 공백으로 구분해 쓸 수 있으므로(ICO처럼 다양한 크기의 이미지를 담은 포맷 지원),
const image = {
src: "path/to/image.ico",
sizes: "16x16 32x32 64x64",
type: "image/vnd.microsoft.icon",
};
some.api.doSomething(image);
type 멤버
type 멤버는 이미지 리소스의 이미지 MIME 타입을 나타냅니다.
사용자 에이전트는 지원하지 않는 미디어 타입을 무시할 수 있습니다.
ImageResource에는 기본 MIME 타입이 없습니다.
type은 조언적 속성입니다. 사용자 에이전트는 반드시
이미지 전용 MIME
sniffing 규칙을 사용해 계산된 MIME 타입을 결정해야 합니다.
label 멤버
label은 ImageResource의 문자열이며,
해당 이미지에 대한 접근 가능한 이름을 제공합니다.
구현자는 사용자에게 노출하는 ImageResource마다 접근 가능한 이름을 유도해야 합니다.
작성자는 label을 추가하는 것이 강하게 권장됩니다.
단, ImageResource의 접근 가능한 이름이 컨텍스트 내의 외부 레이블로부터 유추 가능한 경우는 예외입니다. 예를 들어,
manifest의 경우 name (또는
short_name)이 외부 레이블을 제공하여,
label이 정의되지 않은 icons 배열의 모든
멤버에 적용될 수 있습니다.
명시적 label과 외부 레이블이 모두 제공되지
않은 경우,
type이
내장 접근 가능한 이름 제공을 지원하면,
구현자는 선택적으로
label을
src를 가져와 처리할 때까지 지연시킬 수 있습니다.
src에서 내장 접근 가능한 이름이 발견된 경우, 구현자는 반드시 label 값을 해당 값으로 업데이트해야 합니다.
ImageResource 처리
API에서
ImageResource를 처리하는 절차는 아래 알고리즘에 따릅니다. 이 알고리즘에는 ImageResource input이 인자로 들어오며, 이미지
리소스를 반환합니다.
src와 base
URL로 URL 파싱을 한 결과를 할당합니다.
URL 파싱에 실패하면 TypeError를 throw합니다.
sizes 멤버가 있다면:
type 멤버가 있고 내용이 빈 문자열이
아니라면:
type이 이미지 MIME 타입이
아니면 TypeError를
throw합니다.
type 값을 할당합니다.
JSON에서 이미지 리소스 처리는 JSON 객체 input과 URL base가 주어졌을 때, 동작합니다. 반환값은 순서 있는 맵입니다.
이미지 리소스 가져오기의 절차는 아래 알고리즘과 같습니다. 이 알고리즘은 이미지 리소스 image와, 선택적 Request request를 받습니다. 반환값은 Response 입니다.
undefined이면:
TypeError를 throw합니다.
접근 가능한 이름 유도 절차는 이미지 리소스 resource에 대해 다음과 같습니다. 반환값은 문자열입니다.
특정 그래픽 포맷은 이미지의 내용 일부로 내장 접근 가능한 이름을 포함할 수 있습니다. 예시는 다음과 같습니다:
비규범 부분으로 표시된 섹션뿐 아니라, 이 명세서의 모든 작성 지침, 다이어그램, 예시 및 참고 사항은 비규범입니다. 이 명세서의 나머지 모든 부분은 규범적입니다.
이 문서 내 MAY, MUST, RECOMMENDED 키워드는 BCP 14 [RFC2119] [RFC8174] 에서와 같이 모두 대문자로 표시될 때에만 해당 의미로 해석되어야 합니다.
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in:
Referenced in: