4.2. 문서 메타데이터
4.2.1. head
요소(element)
- 카테고리:
- 없음.
- 이 요소(element)가 사용될 수 있는 컨텍스트:
html
요소(element) 내 첫 번째 요소(element).- 콘텐트 모델:
- 문서가
iframe
srcdoc
문서이거나 제목(title) 정보가 상위 프로토콜에서 사용 가능하다면:title
요소(element)가 한 개를 초과하지 않고base
요소(element)가 한 개를 초과하지 않는, 메타데이터 콘텐트의 0개 이상의 요소(element). - 그렇지 않으면: 정확히 하나가
title
요소(element)와base
요소(element)가 한 개를 초과하지 않는, 메타데이터 콘텐트의 한 개 이상의 요소(element). - text/html에서 태그 생략:
-
head
요소(element)의 시작 태그는 요소(element)가 비어있거나head
요소(element) 내의 첫 번째 것이 요소(element)라면 생략될 수 있습니다. -
head
요소(element)의 종료 태그는head
요소(element)에 공백 문자나 주석이 즉시 따르지 않는다면 생략될 수 있습니다. - 콘텐트 속성(attribute)들:
- 범용 속성(attribute)들
- 허용된 ARIA 역할(role) 속성(attribute) 값들:
- 없음
- 허용된 ARIA 상태(state)와 속성(property) 속성(attribute)들:
- 범용 aria-* 속성(attribute)들
- DOM 인터페이스:
-
interface HTMLHeadElement : HTMLElement {};
head
요소(element)는 Document
에 대한 메타데이터의 컬렉션을 나타냅니다.
head
요소(element) 내 메타데이터의 컬렉션은 많거나 적을 수 있습니다. 여기 매우 짧은 것의
예가 있습니다:
<!doctype html> <html> <head> <title>A document with a short head</title> </head> <body> ...
여기 긴 것의 예가 있습니다:
<!DOCTYPE HTML> <HTML> <HEAD> <META CHARSET="UTF-8"> <BASE HREF="https://www.example.com/"> <TITLE>An application with a long head</TITLE> <LINK REL="STYLESHEET" HREF="default.css"> <LINK REL="STYLESHEET ALTERNATE" HREF="big.css" TITLE="Big Text"> <SCRIPT SRC="support.js"></SCRIPT> <META NAME="APPLICATION-NAME" CONTENT="Long headed application"> </HEAD> <BODY> ...
title
요소(element)는 대부분 상황에서 요구된 자식이지만,
상위 레벨 프로토콜이 제목(title) 정보를 제공하는 경우, 예를 들어 HTML이 이메일 작성 서식으로
사용되는 경우 이메일의 제목 줄에, title
요소(element)는
생략 될 수 있습니다.
처음 1024바이트 내에서 문자 인코딩 선언의 적절한 감지를
허용하기 위해 head
요소(element)에 정의된 속성(attribute)들과 그 값들의 사용을 최소한으로
유지하는 것이 권장됩니다.
4.2.2. title
요소(element)
- 카테고리:
- 메타데이터 콘텐트.
- 이 요소(element)가 사용될 수 있는 컨텍스트:
- 다른
title
요소(element)를 포함하지 않는head
요소(element) 안. - 콘텐트 모델:
- 요소(element) 간 여백이 아닌 텍스트.
- text/html에서 태그 생략:
- 어느 태그도 생략 가능하지 않습니다.
- 콘텐트 속성(attribute)들:
- 범용 속성(attribute)들
- 허용된 ARIA 역할(role) 속성(attribute) 값들:
- 없음
- 허용된 ARIA 상태(state)와 속성(property) 속성(attribute)들:
- 범용 aria-* 속성(attribute)들
- DOM 인터페이스:
-
interface HTMLTitleElement : HTMLElement { attribute DOMString text; };
title
요소(element)는 문서의 제목(title)이나 이름을 나타냅니다. 작성자는 문서가 문맥 밖에서, 예를 들어 사용자의 방문 기록이나
북마크에 혹은 검색 결과에 사용될 때 조차도 문서를 알아보게 하는 제목을 사용해야(should) 합니다.
문서의 첫 번째 제목(heading)은 문맥에서 벗어날 경우 혼자 있을 필요가 없기 때문에, 문서의 제목(title)은
종종 문서의 첫 번째 제목(heading)과 다릅니다.
문서 당 하나의 title
요소(element)만 있어야(must) 합니다.
Document
가 제목을 가지 않는 것이 타당하다면, title
요소(element)는 아마도 요구
되지 않습니다. 요소(element)가 요구되는 경우의 설명에 대한 head
요소(element)의 콘텐트 모델을
참고하세요.
- title .
text
[ = value ] -
Text
노드가 아닌 자식 노드들을 무시하여, 요소(element)의 콘텐트를 반환합니다.주어진 값으로 요소(element)의 자식을 바꾸기 위해, 설정 될 수 있습니다.
text
는 트리 순서에 따라 title
요소(element)의
자식인 (주석이나 요소(element) 같은 다른 노드들은 무시하여) 모든 Text
노드의 콘텐트의
연결을 반환해야(must) 합니다. 설정할 때, textContent
IDL 속성(attribute)과 동일한
방법으로 동작해야(must) 합니다. <title>Introduction to The Mating Rituals of Bees</title> ... <h1>Introduction</h1> <p>This companion guide to the highly successful <cite>Introduction to Medieval Bee-Keeping</cite> book is...
다음 페이지는 동일한 사이트의 일부입니다. 첫 번째 제목(heading)이 독자가 문맥이 무엇인지 알고 따라서 춤이 살사인지 알츠인지 궁금해하지 않는다고 가정하면서 제목(title)이 주제를 분명하게 설명하는 방법에 주목하세요:
<title>Dances used during bee mating rituals</title> ... <h2>The Dances</h2>
문서의 제목(title)로 사용하기 위한 문자열은 document.title
IDL 속성(attribute)에 의해
주어집니다.
title
요소(element)의 콘텐트가 이 방법으로 사용되는 경우,
그 title
요소(element)의 방향성은
유저 인터페이스에서 문서의 제목(title)의 방향성을 설정하는데 사용되어야(should) 합니다. 4.2.3. base
요소(element)
- 카테고리:
- 메타데이터 콘텐트.
- 이 요소(element)가 사용될 수 있는 컨텍스트:
- 다른
base
요소(element)들을 포함하지 않는head
요소(element) 안. - 콘텐트 모델:
- 없음.
- text/html에서 태그 생략:
- 종료 태그 없음.
- 콘텐트 속성(attribute)들:
- 범용 속성(attribute)들
href
— 문서 기본 URL-
target
— 하이퍼링크 탐색(navigation)과 §4.10.22 Form submission에 대한 기본 브라우징 컨텍스트 - 허용된 ARIA 역할(role) 속성(attribute) 값들:
- 없음
- 허용된 ARIA 상태(state)와 속성(property) 속성(attribute)들:
- 범용 aria-* 속성(attribute)들.
- DOM 인터페이스:
-
interface HTMLBaseElement : HTMLElement { attribute DOMString href; attribute DOMString target; };
base
요소(element)는 작성자가 상대 URL들 해석의 목적에 대한 문서 기본 URL과 하이퍼링크들을 따라가는 것의
목적에 대한 기본 브라우징 컨텍스트의 이름을 명시하는 것을 허용합니다.
요소(element)는 이 정보를 넘어 어떤 컨텐트도 나타내지 않습니다.
문서 당 하나의 base
요소(element)만 있어야(must) 합니다.
base
요소(element)는 href
속성(attribute)이나 target
속성(attribute),
혹은 둘 모두를 가져야(must) 합니다.
href
콘텐트 속성(attribute)이 명시되었다면, 이
속성(attribute)은 유효한 잠정적으로 공백으로
둘러 싸일 수 있는 URL을 포함해야(must) 합니다.
base
요소(element)가 href
속성(attribute)을 가진다면 base
요소(element)는 html
요소를 제외하고 URL들을 취하는 것으로 정의된 속성을 가지는 트리 내의
다른 요소들(element) 앞에 와야(must) 합니다.
target
속성(attribute)가 명시되었다면, 이 속성은 Document
의 하이퍼링크들과 양식들이 탐색(navigation)을 야기하는 경우 어느 브라우징 컨텍스트가 기본으로 사용되는지를 명시하는 유효한 브라우징 컨텍스트 이름이나 키워드를
포함해야(must) 합니다.
base
요소(element)가 target
속성(attribute)을 가진다면 base
요소(element)는
elements in the tree that represent 하이퍼링크들을 나타내는 트리 내 모든
요소(element)들 앞에 와야(must) 합니다.
target
속성(attribute)들을 가진 여러 개의 base
요소(element)들이 있다면, 첫 번째를
제외하고 모두 무시됩니다.
특정 Document
의 href
콘텐트 속성(attribute)을 가진 첫 번째 base
요소(element)인 base
요소(element)는 고정(frozen) 기본 URL을 가집니다. 고정(frozen) 기본 URL은 다음 상황의 어떤 것이 발생될 때에든지
요소(element)에 대해 즉시 설정되어야(must)
합니다:
-
base
요소(element)가 그것의Document
에 트리 순서에 따라href
콘텐트 속성(attribute)을 가진 첫 번째base
요소(element)가 되는 경우. -
base
요소(element)가 그것의Document
에 트리 순서에 따라href
콘텐트 속성(attribute)을 가진 첫 번째base
요소(element)이고, 그것의href
콘텐트 속성(attribute)이 변경되는 경우.
요소(element) element에 대해, 고정(frozen) 기본 URL을 설정하기 위해:
-
document를 element의 노드 문서로 둡니다.
-
urlRecord를 element의 document의 폴백 기본 URL과 document의 문자 인코딩을 가진
href
콘텐트 속성(attribute)의 값을 해석한 결과로 둡니다. (따라서base
요소(element)는 자신에 의해 영향을 받지 않습니다.) -
elements의 고정(frozen) 기본 URL을 urlRecord이 실패하거나 결과 URL 레코드에 기본(base)이 문서에 대해 허용되는가?를 실행 중이고 document가 "
Blocked
"를 반환한다면 document의 폴백 기본 URL로 설정하고, 그렇지 않으면 urlRecord로 설정합니다.
href
IDL 속성(attribute)은 가져올 때
다음 알고리즘을 수행한 결과를 반환해야(must) 합니다:
-
document를 element의 노드 문서로 둡니다.
-
url을
base
요소(element)의href
속성(attribute)의 값을 가진다면 그 값으로 두고, 그렇지 않으면 빈 문자열로 둡니다. -
urlRecord를 url을 document의 폴백 기본 URL과 document의 문자 인코딩을 가지고 해석한 결과로 둡니다. (따라서,
base
요소(element)는 다른base
요소(element)나 자신에 의해서 영향을 받지 않습니다.) -
urlRecord이 실패라면, url을 반환합니다.
-
urlRecord의 직렬화를 반환합니다.
href
IDL 속성(attribute)은 설정할 때 href
콘텐트 속성(attribute)을
주어진 새로운 값으로 설정해야(must) 합니다.
target
IDL 속성(attribute)은 동일한
이름의 콘텐트 속성(attribute)을 반영해야(must) 합니다.
base
요소(element)는 문서 기본 URL을 설정하는데
사용됩니다:
<!DOCTYPE html> <html> <head> <title>This is an example for the <base> element</title> <base href="https://www.example.com/news/index.html"> </head> <body> <p>Visit the <a href="archives.html">archives</a>.</p> </body> </html>
위 예제에서 링크는 "https://www.example.com/news/archives.html
"로의 링크가 될 것입니다.
4.2.4. link
요소(element)
- 카테고리:
- 메타데이터 콘텐트.
- 이 요소(element)가 사용될 수 있는 컨텍스트:
- 메타데이터 콘텐트가 기대되는 곳.
head
요소(element)의 자식인noscript
요소(element) 안.- 콘텐트 모델:
- 없음.
- text/html에서 태그 생략:
- 종료 태그 없음.
- 콘텐트 속성(attribute)들:
- 범용 속성(attribute)들
href
— 하이퍼링크의 주소crossorigin
— 요소(element)가 교차출처(crossorigin) 요청들을 처리하는 방법rel
— 이 문서 (또는 하위 섹션/주제)에서 목적지 리소스로의 관계rev
— 목적지 리소스에서 이 문서 (또는 하위 섹션/주제)로의 역방향 링크 관계media
— 적용가능한 매체hreflang
— 연결된 리소스의 언어type
— 참조된 리소스의 유형에 대한 힌트sizes
— 아이콘의 (forrel
="icon
"에 대한) 크기- 또한,
title
속성(attribute)은 이 요소(elemnt)에 특별한 의미(semantics)를 가집니다: 링크의 제목(title); 대체 스타일 시트의 이름을 설정합니다. - 허용된 ARIA 역할(role) 속성(attribute) 값들:
link
(기본 값 - 설정 하지 마세요).- 허용된 ARIA 상태(state)와 속성(property) 속성(attribute)들:
- 범용 aria-* 속성(attribute)들
- 허용된 역할(role)들에 적용 가능한 모든
aria-*
속성(attribute)들. role
값에 대한- DOM 인터페이스:
-
interface HTMLLinkElement : HTMLElement { attribute DOMString href; attribute DOMString? crossOrigin; attribute DOMString rel; attribute DOMString rev; [SameObject, PutForwards=value]readonly attribute DOMTokenList relList; attribute DOMString media; attribute DOMString hreflang; attribute DOMString type; [SameObject, PutForwards=value] readonly attribute DOMTokenList sizes; }; HTMLLinkElement implements LinkStyle;
link
요소(element)는 작성자가 그들의 문서를 다른 리소스들에 연결시키는 것을 허용합니다.
링크(들)의 목적지는 href
속성(attribute)에 의해
주어지고, 이 속성(attribute)는 존재해야(must) 하고 유효한 잠정적으로 공백으로 둘러 싸일 수 있는 비어있지 않은 URL을
포함해야(must) 합니다. href
속성이 존재하지 않ㄴ흔다면, 요소(element)는
링크를 정의하지 않습니다.
link
요소(element)는 rel
속성(attribute)을 가져야(must) 합니다.
rel
속성(attribute)이 사용되었다면, 요소(element)는 head
요소(element)에
제한됩니다.
표현된 링크의 유형 (관계)는 rel
속성(attribute)의
값에 의해 주어지고, 이것이 존재한다면, 공백으로 분리된 토큰 집합인
값을 가져야(must) 합니다. 허용된 키워드와 그것들의 의미(meanings)는
이후 섹션에서 정의됩니다. rel
속성(attribute)이 존재하지 않는다면 키워드를 가지지 않거나,
사용된 어떤 키워드도 이 명세에서의 정의를 따라 허용된 것이 아니라면, 요소(element)는 어떤 연결도
생성하지 않습니다.
링크의 두 카테고리들은 link
요소(element)를 사용하여 생성될 수 있습니다: 외부 리소스들로의 링크들과 하이퍼링크들. §4.8.6 Link types 섹션은 특정 링크 유형이 외부 리소스인지 하이퍼링크인지를 정의합니다.
한 개 link
요소(element)는 여러 개의 링크들을 (일부는 외부 리소스 링크일 수 있고
일부는 하이퍼링크일 수 있습니다) 생성할 수 있습니다; 정확히 어떤 그리고 몇 개의 링크들이 생성 되는지는 rel
속성(attribute)에 주어진 키워드에 달려 있습니다. 유저 에이전트들은 요소(element) 단위가
아닌 링크 단위로 처리해야(must) 합니다.
link
요소(element)에 대해 생성 된 각 링크는 별도로 처리됩니다. 예를 들어, rel="stylesheet"
를
가진 두 개의 link
요소(element)가 있따면, 각각은 독립적으로 자신의 속성(attbribute)에 의해
영향을 받습니다. 마찬가지로, next stylesheet
값을 가진 rel
속성(attribute)을
가진 단일 link
요소(element)가 있다면, 이것은 (next
키워드에 대한) 하이퍼링크와
(stylesheet
키워드에 대한) 외부 리소스 링크를
생성하고, 그것들은 다른 속성(attribute)들에 의해 (media
나 title
같은)
다르게 영향을 받습니다.
link
요소(element)는 두 하이퍼링크들을 (동일한 페이지에 대한) 생성합니다 :
<link rel="author license" href="/about">
이 요소(element)에 의해 생성된 두 링크들은 의미(semantic)가 현재 페이지의 작성자에 대한 정보를 가진 대상 페이지인 하나와, 의미(semantic)가 현재 페이지가 어떤 라이센스 하에 제공되는지에 관한 정보를 가지는 대상 페이지인 하나입니다.
link
와 a
요소(element)들은 href
에 의해 명시된 리소스로부터 현재 문서로의 역방향 연결 관계를 설명하는데 사용되는 rev
속성(attribute)도 가질 수 있습니다.
이것이 존재한다면 이 속성(attribute)의 값은 공백으로 분리된 토큰 집합이어야 합니다. rel
속성(attribute)처럼, §4.8.6 Link types은 rev
속성(attribute)에 대한 허용된 키워드와 그것들의 의미(meanings)를 설명합니다. rel
과 rev
속성(attribute)들은 동일 요소(element)에 모두 존재할 수 있습니다.
역방향 링크는 링크의 역방향 관계를 나타내는 방법입니다.
값이 정방향 관계를 ("링크가 나에게 관계되는 방법") 전달하는 rel
속성(attribute)과는
대조적으로, rev
속성(attribute)은 유사한 관계들이 역방향으로 ("내가 이 링크에 관계되는
방법") 노출되도록 허용합니다. 이 값들은 유저 에이전트들이 연결된 문서의 보다 포괄적인 지도를 만들 수
있게 할 수 있습니다.
rel
과 rev
속성(attribute)들을 가지고 기술될 수 있습니다:
"chapter1.html" URL를 가진 문서
<link href="chapter2.html" rel="next" rev="prev">
"chapter2.html" URL를 가진 문서
<link href="chapter1.html" rel="prev" rev="next"> <link href="chapter3.html" rel="next" rev="prev">
chapter1.html에서 chapter2.html로의 연결은 정방향으로 시리즈에서 "next
" 챕터이고,
역방향으로는 (chapter2.html에서 chapter1.html으로) "previous
" 챕터 입니다.
rel
과 rev
를 사용하여
다음과 같이 기술 될 수 있습니다:
<ol> <li><a href="chapter1.html" rev="toc" rel="next">chapter 1</a></li> <li><a href="chapter2.html" rev="toc"></a>chapter 2</li> <li><a href="chapter3.html" rev="toc"></a>chapter 3</li> </ol>
콘텐트 목록에서 "next
" 논리 경로는 rel
을 사용하여 노출 된 첫 번째 챕터 입니다.
각 챕터 링크는 현재 문서가 매 챕터에 대한 콘텐트 목록 문서 임을 나타내는 "toc
" rev
값을 가집니다.
crossorigin
속성(attribute)은 CORS 설정 속성(attribute)입니다. 이것은 외부 리소스 링크와
함께 사용하도록 의도된 것입니다.
외부 리소스로의 링크에 대한 정확한 동작은 관련 링크 유형에 대해 정의된 정확한 관계에 달려있습니다. 일부 속성(attribute)들은 외부 리소스가 적용 될지 (아래 정의된 대로) 여부를 제어합니다.
DOM에 표현되는 외부 리소스에 대해 (예를 들어, 스타일시트), DOM 표현은 리스소가 적용 되지 않는다 하더라도 사용 가능 하게 되어야(must) 합니다 (모듈 교차 출처 제한). 리소스를 획득하기 위해, 유저 에이전트는 다음 단계들을 수행해야(must) 합니다:
-
href
속성(attribute)의 값이 빈 문자열이라면, 이 단계들을 중단합니다. -
요소(element)의 노드 문서에 관련하여,
href
속성(attribute)에 의해 주어진 URL을 해석합니다. 그것이 실패한다면, 이 단계들을 중단합니다. 그렇지 않으면, url을 결과 URL 레코드로 둡니다. -
corsAttributeState를 요소(element)의
crossorigin
콘텐트 속성(attribute)의 현재 상태로 둡니다. -
request를 url과 corsAttributeState가 주어진 잠재적 CORS 요청 생성의 결과로 둡니다.
-
request의 클라이언트를
link
요소(element)의 노드 문서의Window
객체의 환경 설정 객체로 둡니다. -
request를 가져옵니다.
유저 에이전트들은 적용되지 않은 모든 리소스들을 능동적으로 가져오는 대신, 그것들이 필요할 경우 그 리소스를 얻기 위해 시도하기로 선택할 수 있습니다.
외부 리소스를 가져올 때 사용된 프로토콜의 (예를 들어, HTTP) 의미(semantics)를 따라야(must) 합니다. (예를 들어, 리다이렉트가 뒤따르는 것과 404 응답은 외부 리소스가 적용되지 않는 것을 야기합니다.)
일단 리소스를 얻으려는 시도와 그것의 중요한 하위 리소스들이 완료되면,
유저 에이전트는 로드가 성공적이었다면, link
요소(element)에 load
라는 단순 이벤트를 발생시키기 위한 작업을 대기열에 넣거나,
리소스나 그것의 중요한 하위 리소스들의 하나가 어떤 이유로
(예를 들어, DNS 오류, HTTP 404 응답, 너무 빨리 닫히는 연결, 지원되지 않은 Content-Type) 완전한
로드가 실패되었다면, link
요소(element)에 error
라는 단순 이벤트를 발생시키기 위한 작업을 대기열에 넣습니다.
리소스나 하위 리소스들 처리에 비 네트워크 오류들은 (예를 들어, CSS 해석 오류, PNG 디코딩 오류)
이 문단의 목적을 위한 실패가 아닙니다.
이 작업들에 대한 작업 소스는 DOM 조작 작업 소스입니다.
요소(element)는 리소스와 그것의 중요한 하위 리소스들을 얻기 위한 모든 시도가 완료될 때까지 요소(element)의 노드 문서의 로드 이벤트를 지연시켜야(must) 합니다. (유저 에이전트가 아직 얻으려고 시도하지 않은 리소스는, 예를 들어 리소스가 필요하기를 기다리고 있기 때문에, 로드 이벤트를 지연시키지 않습니다.)
대화형 유저 에이전트들은 유저 인터페이스의 어딘가에서 link
요소(element)를 사용하여 생성된 하이퍼링크들을 따르기 위한 방법을 사용자에게 제공할 수 있습니다.
정확한 인터페이스는 이 명세에 정의되지 않지만, 문서 내 각 link
요소(element)를 가지고 생성된 각
하이퍼링크에 대해, 일부 형식이나 다른 것에서 (아마도 간소화 된), 다음 정보를 (아래 정의된 대로,
요소(element)의 속성으로부터 얻어진) 포함할 수 있습니다.
-
이 문서와 리소스 (
rel
속성(attribute)에 의해 주어진) 사이의 관계 -
리소스의 제목 (
title
속성(attribute)에 의해 주어진). -
리소스의 주소 (
href
속성(attribute)에 의해 주어진). -
리소스의 언어 (
hreflang
속성(attribute)에 의해 주어진). -
리소스에 대한 최고의 매체 (
media
속성(attribute)에 의해 주어진).
유저 에이전트들은 리소스의 유형과 같은 (type
속성(attribute)에 의해 주어진), 다른
정보를 포함할 수 있습니다.
link
요소(element)와 그것의 rel
속성(attribute)을 가지고 생성된 하이퍼링크들은 전체
페이지에 적용됩니다. 이것은 컨텍스트가 문서 안의 링크의 위치에 의해 주어진 위치인 링크의 유형을
나타내는, a
와 area
요소(element)의 rel
속성(attribute)과 대조를 이룹니다.
media
속성(attribute)은 리소스가 적용될 매체를 말해줍니다.
값은 유효한 미디어 쿼리 목록이어야(must) 합니다.
media
속성(attribute)은 순수하게 조언적이고, and
문제의 문서가 어떤 매체에 대해 설계되었는지를 설명합니다.
하지만, 링크가 외부 리소스 링크라면, media
속성(attribute)은 지시적인 것입니다. 유저 에이전트는 media
속성(attribute)의 값이 환경과 일치하고 다른 관련 조건들이 적용되는 경우 외부 리소스를
적용해야(must)하고, 그렇지 않으면 적용하지 않아야(must) 합니다.
외부 리소스는 그것의 적용 가능성 제한 내에서 정의된 추가 제한 사항을 가질 수 있습니다.
예를 들어, CSS 스타일 시트는 일부 @media
블럭을 가질 수 있습니다. 이 명세는
그러한 추가 제한 사항이나 요구사항을 재정의 하지 않습니다.
media
속성(attribute)이 생력되었다면 기본 값은 기본값에 의해 링크가 모든 매체에
적용 됨을 의미하는 "all
" 입니다.
link
요소(element)의 hreflang
속성(attribute)은 a
요소(element)의 hreflang
속성(attribute)과 동일한 의미를 가집니다.
type
속성(attribute)은 링크되는 리소스의 MIME 타입을 제공합니다. 이것은 순수하게 조언적입니다. 값은 유효한 MIME 타입이어야(must) 합니다.
외부 리소스 링크에 대해, type
속성(attribute)은
유저 에이전트가 지원하지 않는 리소스를 가져오는 것을 방지할 수 있도록 유저 에이전트에 대한 힌트로
사용됩니다. 속성(attribute)이 존재하지 않는다면, 유저 에이전트는 (그것이 유효한 MIME 타입, 예를 들어, 빈 문자열이라 하더라도) 리소스가 주어진
유형의 것으로 추정해야(must) 합니다. 속성(attribute)이 생략되었고, 외부 리소스 링크 유형이 정의된
기본 유형을 가진다면, 유저 에이전트는 리소스를 그 유형의 것으로 추정해야(must) 합니다. 유저 에이전트가
주어진 링크 관계에 대해 주어진 MIME 타입을 지원하지 않는다면, 유저 에이전트는
리소스를 획득하지 않아야(should) 합니다; 유저 에이전트가 주어진 링크 관계에
대해 주어진 MIME 타입을 지원하지 않는다면, 유저 에이전트는 외부 리소스 링크의 특정 유형에 대해 명시된 대로 적절한 시간에
리소스를 획득해야(should) 합니다. 속성(attribute)이 생략되었고, 외부 리소스 링크
유형이 정의된 기본 유형을 가지지 않고, 유형이 알려져 있고 지원되는 경우 유저 에이전트가 리소스를 획득 한다면, 유저 에이전트는 그것이 지원된다는 가정 하에 리소스를 획득 해야(should) 합니다.
type
속성(attribute)을 믿을만한 것으로 간주하지 않아야(must) 합니다
— 리소스를 가져오는데에, 유저 에이전트들은 type
속성(attribute)을 그것의 실제
유형을 결정하기 위해 사용하지 않아야(must) 합니다. 오직 실제 유형은 (다음 문단에 정의된 것과 같이)
리소스에 적용 할지 여부를 결정짓기 위해서 사용되는 것이지, 앞서 언급된 가정된 유형이
아닙니다.
외부 리소스 링크 유형이 리소스의 Content-Type 메타데이터 처리에 대한 규칙을 정의한다면, 그 규칙은 적용됩니다. 그렇지 않고, 리소스가 이미지가 예상된다면, 유저 에이전트들은 리소스의 Content-Type 메타데이터로부터 유형이 결정된 official type을 가지고 이미지 스니핑 규칙들을 적용할 수 있고, 결과로 나온 계산 된 리소스의 유형을 그것이 실제 유형인것 처럼 사용할 수 있습니다. 그렇지 않고, 이 조건들을 적용하거나 유저 에이전트가 이미지 스니핑 규칙을 적용하지 않기로 한다면, 유저 에이전트는 리소스의 유형을 결정하기 위해 리소스의 Content-Type 메타데이터를 사용해야(must) 합니다. 유형 메타데이터가 없고 외부 리소스 링크 유형이 정의된 기본 유형을 가진다면, 유저 에이전트는 리소스를 그 유형의 것으로 추정해야(must) 합니다.
stylesheet
링크 유형은 리소스의 Content-Type 메타데이터 처리에 대한 규칙을 정의합니다.
유저 에이전트가 리소스의 유형을 설정 할 때, 유저 에이전트는 지원되는 유형의 것이고 다른 관련 조건이 적용된다면 리소스를 적용해야(must)하고, 그렇지 않으면 리소스를 무시해야(must) 합니다.
<link rel="stylesheet" href="A" type="text/plain"> <link rel="stylesheet" href="B" type="text/css"> <link rel="stylesheet" href="C">
...CSS 스타일 시트만을 지원하는 호환 유저 에이전트는 B와 C파일을 가져오고, A파일은 생략할
것입니다 (text/plain
은 CSS 스타일 시트에 대한 MIME 타입이
아니기 때문에).
B와 C 파일에 대해, 이것은 이후 서버에 의해 반환된 실제 유형을 검사할 것입니다. text/css
로 보내어진 것들에 대해, 이것은 스타일 시트를 적용할 것이지만, text/plain
으로 라벨링 된 것들에 대해 혹은 다른 유형에 대해서는 그렇지 않을 것입니다.
두 파일 중 하나가 Content-Type 메타데이터 없이 혹은, Content-Type: "null"
과 같은 구문적으로 틀린 유형을 가지고 반환된다면, stylesheet
링크들에 대한 기본 유형이 효과를 낼 것입니다. 그 기본 유형이 text/css
이기 때문에, 스타일 시트는 그럼에도 불구하고 적용 될 것입니다.
title
속성(attribute)은 링크의 제목(title)을
제공합니다. 한 가지 예외를 가지고, 이것은 순수하게 조언적입니다. 값은 텍스트입니다. 예외 사항은 title
속성(attribute)이 대체 스타일 시트 세트를
정의하는 스타일 시트에 대한 것입니다.
link
요소(element)들의 title
속성(attribute)은 제목이 부모 요소(element)의
제목을 상속 받지 않는 링크라는 점에서 대다수 다른 요소(element)들의 범용 title
속성(attribute)과는 차이가 있습니다: 그것은 단지 제목을 가지지 않습니다.
sizes
속성(attribute)은 icon
링크 유형과 함께 사용됩니다.
속성(attribute)은 icon
키워드를 명시한 rel
속성(attribute)을 가지지 않는 link
요소(element)들에 명시되지 않아야(must) 합니다.
link
요소(element)들의 활성화 동작은 다음 단계들을 수행하는 것입니다:
-
link
요소(element)에 의해 생성된 하이퍼링크를 따라갑니다.
HTTP Link:
헤더가 지원된다면, HTTP 메세지에 주어진 순서에 따라, 문서 내 모든
링크들 앞에 오는 것으로 추정되어야(must) 합니다. 이 헤더들은 관련 명세에 주어진 규칙을 따라 처리
됩니다. [HTTP] [RFC5988]
HTTP 링크의 등록 관계 유형: 헤더는 HTML 링크 유형들과 구별되고, 따라서 그것들의 의미는 동일한 이름의 HTML 유형들과 다를 수 있습니다.
IDL 속성(attribute)들 href
, rel
, rev
, media
, hreflang
, type
, sizes
는 동일한 이름의 각 콘텐트 속성(attribute)들을 반영해야(must) 합니다.
crossOrigin
IDL 속성(attribute)은
콘텐트 속성(attribute)을 반영해야(must) 합니다.
IDL 속성(attribute) relList
은 rel
콘텐트 속성을 반영 해야(must) 합니다.
relList
의 DOMTokenList
의 지원되는 토큰들은 link
요소(element)들에 허용되고 유저 에이전트에 의해 지원된 HTML 링크 유형들에 정의된 키워드들입니다.
rel
의 지원되는 토큰들은 link
요소(element)들에 허용되고, 처리 모델에 영향을 주고, 유저 에이전트에 의해 지원되는 HTML 링크 유형들에 정의된 키워드들입니다. 가능한 지원되는 토큰들은 alternate
, dns-prefetch, icon
, preconnect, prefetch, prerender, stylesheet
입니다. rel
의 지원되는 토큰들은 유저 에이전트가 처리 모델에 대해 구현하는
이 목록의 토큰들을 포함해야(must) 합니다.
다른 명세들은 [RESOURCE-HINTS]과 같은, 다른 링크 유형들에 정의
된 HTML 링크 유형들을 추가할 수 있습니다. 이 명세들은 그들의 링크
유형들이 rel
의 지원되는 토큰들에 포함되도록 요구할 수 있습니다.
LinkStyle
인터페이스는 또한 이 요소(element)에 의해 구현됩니다. [CSSOM]
link
요소(element)들의 세트가 일부 스타일 시트들을 제공합니다:
<!-- a persistent style sheet --> <link rel="stylesheet" href="default.css"> <!-- the preferred alternate style sheet --> <link rel="stylesheet" href="green.css" title="Green styles"> <!-- some alternate style sheets --> <link rel="alternate stylesheet" href="contrast.css" title="High contrast"> <link rel="alternate stylesheet" href="big.css" title="Big fonts"> <link rel="alternate stylesheet" href="wide.css" title="Wide screen">
<link rel=alternate href="/en/html" hreflang=en type=text/html title="English HTML"> <link rel=alternate href="/fr/html" hreflang=fr type=text/html title="French HTML"> <link rel=alternate href="/en/html/print" hreflang=en type=text/html media=print title="English HTML (for printing)"> <link rel=alternate href="/fr/html/print" hreflang=fr type=text/html media=print title="French HTML (for printing)"> <link rel=alternate href="/en/pdf" hreflang=en type=application/pdf title="English PDF"> <link rel=alternate href="/fr/pdf" hreflang=fr type=application/pdf title="French PDF">
4.2.5. meta
요소(element)
- 카테고리:
- 메타데이터 콘텐트.
- 이 요소(element)가 사용될 수 있는 컨텍스트:
-
charset
속성(attribute)이 존재하거나, 요소(element)의http-equiv
속성(attribute)이 인코딩 선언 상태에 있다면:head
요소(element) 안. -
http-equiv
속성(attribute)이 존재하지만 인코딩 선언 상태에 있지 않다면:head
요소(element) 안. -
http-equiv
속성(attribute)이 존재하지만 인코딩 선언 상태에 있지 않다면:head
요소(element)의 자식인noscript
요소(element) 안. -
name
속성(attribute)이 존재한다면: 메타데이터 콘텐트가 기대되는 곳. - 콘텐트 모델:
- 없음.
- text/html에서 태그 생략:
- 종료 태그 없음.
- 콘텐트 속성(attribute)들:
- 범용 속성(attribute)들
name
— 메타데이터 이름http-equiv
— 선처리(pragma) 지시자content
— 요소(element)의 값charset
— 문자 인코딩 선언- 허용된 ARIA 역할(role) 속성(attribute) 값들:
- 없음
- 허용된 ARIA 상태(state)와 속성(property) 속성(attribute)들:
- 범용 aria-* 속성(attribute)들
- DOM 인터페이스:
-
interface HTMLMetaElement : HTMLElement { attribute DOMString name; attribute DOMString httpEquiv; attribute DOMString content; };
meta
요소(element)는 title
, base
, link
, style
, script
요소(element)들을 사용하여 나타낼 수 없는 메타데이터의 다양한 종류를 나타냅니다.
meta
요소(element)는 name
속성(attribute)으로 문서 수준의 메타데이터를, http-equiv
속성(attribute)으로 선처리(pragma)
지시자들을, charset
속성(attribute)으로 HTML 문서가 문자열 형식으로 직렬화 될 때
(예를 들어, 네트워크나 디스크 기억 장치를 통한 전송에 대해) 파일의 문자 인코딩 선언을 나타낼 수 있습니다.
name
, http-equiv
, charset
속성(attribute)들 중 정확히 하나는
명시 되어야(must) 합니다.
name
나 http-equiv
가 명시되었다면, content
속성(attribute)도
명시되어야(must) 합니다. 그렇지 않으면 생략 되어야(must) 합니다.
charset
속성(attribute)은 문서에 사용된 문자
인코딩을 명시합니다. 이것이 문자 인코딩 선언 입니다.
속성(attribute)이 XML 문서에 존재한다면, 그 값은 문자열
"utf-8
"에 ASCII 대소문자 구분 없이 일치해야(must)
합니다 (그리고 문서는 따라서 그 인코딩으로 UTF-8을 사용하도록 강제됩니다).
meta
요소(element)의 charset
속성(attribute)은 XML 문서들에
영향을 가지지 않고, XHTML로부터 그리고 XHMTL로의 마이그레이션을 가능하게 하기 위해서만 허용됩니다.
문서 당 charset
속성(attribute)을 가진 meta
요소(element)는 하나를 초과하여
존재하지 않아야(must) 합니다.
content
속성(attribute)은 요소(element)가 그
목적에 대해 사용될 때 문서 메타데이터의 값이나 선처리(pragma) 지시자의 값을 제공합니다. 허용된
값은 이 명세의 다음 섹션에 설명된 대로, 정확한 컨텍스트에 달려 있습니다.
meta
요소(element)가 name
속성(attribute)을
가진다면, 문서 메테데이터를 설정합니다. 문서 메타데이터는, 이름을 제공하는 meta
요소(element)의 name
속성(attribute)과, 값을 제공하는 동일한 요소(element)의 content
속성,
이름-값 쌍의 용어로 표현됩니다. 이름은 메타데이터의 측면이 설정하는 것을 명시합니다; 유효한 이름들과
그 값의 의미가 다음 섹션에 설명되어 있습니다. meta
요소(element)가 content
속성을
가지지 않는다면, 메타데이터 이름-값 쌍의 값은 빈 문자열 입니다.
name
과 content
IDL 속성(attribute)들은 동일한
이름의 각각의 콘텐트 속성(attribute)들을 반영해야(must) 합니다. IDL
속성(attribute) httpEquiv
는 콘텐트
속성(attribute) http-equiv
를 반영해야(must) 합니다.
4.2.5.1. 표준 메타데이터 이름들
이 명세는 meta
요소(element)의 name
속성(attribute)에 대한 몇 가지 이름들을
정의합니다.
이름들은 ASCII 대소문자 구분이 없고, ASCII 대소문자 비구분 방법으로 비교되어야(must) 합니다.
-
값은 페이지가 나타내는 웹 어플리케이션의 이름을 제공하는 짧은 자유 형식의 문자열이어야(must) 합니다. 페이지가 웹 어플리케이션이 아니라면,
application-name
메타데이터 이름은 사용되지 않아야(must) 합니다. 각 이름의 언어를 명시하기 위한lang
속성을 사용하여 웹 어플리케이션의 이름의 번역이 제공될 수 있습니다.주어진 언어와
application-name
값으로 설정하는name
속성(attribute)을 가진meta
요소(element)는 문서 당 하나를 초과하여 존재하지 않아야(must) 합니다.제목(title)은 어플리케이션의 이름이 되는 것 대신에 특정 순간의 상태 메세지와 페이지의 상태와 유사한 것을 포함할 수 있기 때문에, 유저 에이전트들은 페이지의title
보다 우선적으로 UI에서 어플리케이션 이름을 사용할 수 있습니다.주어진 언어의 정렬된 목록을 (예를 들어, 영국 영어, 미국 영어, 영어) 사용하기 위한 어플리케이션 이름을 찾기 위해, 유저 에이전트들은 다음 단계들을 수행해야(must) 합니다:
-
languages를 언어의 목록으로 둡니다.
-
default language를
Document
의 루트 요소(element)의 언어가 있다면 그것으로두고, 그 언어는 알 수 없는 것이 아닙니다. -
default language가 있다면, 그리고 그것이 languages의 언어 중 어떠한 것과도 동일한 언어가 아니라면, languages에 그것을 추가(append) 합니다.
-
winning language를 값
application-name
로 설정된name
속성(attribute)을 가지고 언어가 문제의 언어인Document
의meta
요소(element)에 있는 languages의 첫 번째 언어로 둡니다.언어들어 어떠한 것도 그러한
meta
요소(element)를 가지지 않는다면, 이 단계들을 중단합니다; 주어진 어플리케이션 이름이 없습니다. -
트리 순서에 따라 값
application-name
로 설정된name
속성(attribute)을 가지고 언어가 winning language인Document
의 첫 번째meta
요소(element)의content
속성(attribute)의 값을 반환합니다.
이 알고리즘은 페이지에 대한 이름이 요구될 때, 예를 들어 북마크에 라벨을 붙이기 위해, 브라우저에 의해 사용됩니다. 알고리즘에 제공될 언어는 사용자가 선호하는 언어가 될 것입니다.
-
-
값은 페이지의 작성자 하나의 이름을 제공하는 자유 형식의 문자열이어야(must) 합니다.
-
값은 페이지를 설명하는 자유 형식의 문자열이어야(must)합니다. 값은 페이지의 디렉토리에서 사용하기에, 예를 들어, 검색엔진에서, 적절해야(must) 합니다. 문서 당 값
description
로 설정된name
속성(attribute)을 가진meta
요소(element)는 하나를 초과하여 존재하지 않아야(must) 합니다. -
값은 문서를 생성하는데 사용된 소프트웨어 패키지들의 하나를 확인하는 자유 형식의 문자열이어야(must) 합니다. 이 값은 소프트웨어에 의행 생성되지 않은 마크업의 페이지에는, 예를 들어, 텍스트 에디터로 사용자에 의해 작성된 마크업의 페이지에는 사용되지 않아야(must) 합니다.
여기 "Frontweaver"라고 불리는 도구가, 페이지의head
요소(element)에서, 페이지를 생성하는데 사용된 것으로 그 자신을 식별하기 위해, 그것의 출력물에 포함할 수 있는 것이 있습니다.<meta name=generator content="Frontweaver 8.2">
-
값은 각각이 페이지에 관련된 키워드인, 콤마로 분리된 토큰의 집합이어야(must) 합니다.
영국 고속도로의 서체에 대한 이 페이지는meta
요소(element)를 사용자가 페이지를 찾는데 사용할 수 있는 몇 가지 키워드를 명시하기위해 사용합니다:<!DOCTYPE HTML> <html lang="en-GB"> <head> <title>Typefaces on UK motorways</title> <meta name="keywords" content="british,type face,font,fonts,highway,highways"> </head> <body> ...
이 기능은 역사적으로 신뢰할 수 없고 사용자에게 도움이 되지 않는 방법으로 결과를 내는 스팸 검색 엔진을 위한 방법으로 오해시킬 만큼 사용되어 왔기 때문에 많은 검색 엔진들은 그 키워드들을 고려하지 않습니다.
작성자가 페이지에 대해 적절한 것으로서 명시한 키워드들의 목록을 얻기 위해 , 유저 에이전트는 다음 단계들을 수행해야(must) 합니다:-
keywords을 빈 목록으로 둡니다.
-
name
속성(attribute)과name
속성(attribute)의 값이keywords
인content
속성(attribute)을 가진 각meta
요소(element)에 대해, 다음 하위 단계들을 수행합니다:-
결과 토큰들이 있다면 keywords에 추가(add) 합니다.
-
keywords로부터 중복을 제거합니다.
-
keywords를 반환합니다. 이것은 작성자가 페이지에 적절한 것으로 명시한 키워드의 목록입니다.
유저 에이전트들은 값의 신뢰성에 대한 확신이 불충분 할 경우 이 정보를 사용하지 않아야(should) 합니다.
예를 들어, 사이트 별 검색 엔진의 색인을 덧붙이기 위해 시스템에 페이지의 키워드 정보를 사용하기 위한 콘텐츠 관리 시스템은 타당할 것이지만, 이 정보를 사용하는 대규모 콘텐트 제공 웹사이트는 특정 사용자가 부적절한 키워드의 사용을 통해 랭킹 메커니즘을 희롱하는 시도를 하는 것을 발견할 가능성이 있습니다.
-
4.2.5.2. 다른 메타데이터 이름들
미리 정의된 메타데이터 이름들의 세트에 대한 확장들은 WHATWG Wiki MetaExtensions 페이지에 등록될 수 있습니다. [WHATWGWIKI]
누구든지 유형을 추가하기 위해 언제든지 WHATWG Wiki MetaExtensions 페이지를 자유롭게 수정할 수 있습니다. 이 새로운 이름들은 다음 정보를 가지고 명시되어야(must) 합니다:
-
키워드(keyword)
-
정의되는 실제 이름. 이름은 다른 정의된 이름과 혼란스럽게 유사하지 않아야(should) 합니다 (예를 들어, 대소문자만 다른).
-
간단한 설명(brief description)
-
그 안에 값이 요구되는 형식을 포함하여, 메타데이터의 이름이 의미하는 것의 짧은 비규범적 설명
-
명세(specification)
-
메타데이터 이름의 의미와 요구사항들의 더 자세한 설명으로의 링크. 다른 위키의 페이지나 외부 페이지로의 링크가 될 수 있습니다.
-
동의어(synonyms)
-
정확히 동일한 처리 요구사항을 가지는 다른 이름들의 목록. 작성자는 동의어로 정의된 이름을 사용하지 않아야(should)합니다. 그것들은 유저 에이전트들이 레거시 콘텐트를 지원하는 것을 허용하도록 의도되었을 뿐입니다. 누구나 실제로 사용되지 않는 동의어를 제거 할 수 있습니다; 레거시 콘텐트와 호환성을 위한 동의어로서 처리되도록 요구되는 이름들만 이 방법으로 등록됩니다.
-
상태(status)
-
다음 중 하나:
-
제안 됨(proposed)
-
폭넓은 검토와 승인을 받지 않은 이름. 누군가 그것을 제한했고 곧 사용하게 될 것입니다.
-
승인 됨(ratified)
-
폭넓은 검토와 승인을 받은 이름. 이것은 올바르지 않은 방법으로 사용되는 경우를 포함하여 이름을 사용하는 페이지를 처리하는 방법을 분명하게 정의하는 명세를 가집니다.
-
중단 됨(discontinued)
-
폭넓은 검토를 받고 불충분함이 발견된 메타데이터 이름. 기존 페이지들이 이 메티데이터 이름을 사용하고 있지만, 새로운 페이지들은 그것을 방지해야(should) 합니다. "간단한 설명"과 "명세" 항목은 어떠한 것이라도, 작성자가 대신 사용해야 하는 것의 자세한 내용을 제공할 것입니다.
메타데이터 이름이 기존 값과 중복된 것으로 발견되면, 그것은 제거되고 기존 값에 대한 동의어로 포함되어야(should) 합니다.
메타데이터 사용되거나 명시되지 않고 이름이 한 달 이상 "제안 됨" 상태에 등록되어있다면, 레지스트리로부터 제거될 수 있습니다.
메타데이터 이름이 "제안 됨" 상태로 추가되었고 기존 값과 중복되는 것이 발견된다면, 그것은 제거되고 기존 값에 대한 동의어로 포함되어야(should) 합니다. 메타데이터 이름이 "제안 됨" 상태로 추가되었고 위험한 것으로 발견된다면, 그것은 "중단 됨" 상태로 변경되어야(should) 합니다.
누구든 언제든지 상태를 변경할 수 있지만, 위 정의에 따라서 그렇게만 해야(should) 합니다.
-
작성자가 이 명세 혹은 위키 페이지에 의해 정의되지 않은 새로운 메타데이터 이름을 사용하는 경우, 적합성 검사기는 위에 기술된 상세 내용을 가지고, "제안 됨" 상태로 위키에 값을 추가하도록 제안해야(should) 합니다.
값들이 URL들이 되는 메타데이터 이름들은 제안되거나 받아들여지지 않아야(must) 합니다.
링크들은 meta
요소(element)가 아니라, link
요소(element)를 사용해서 표현되어야(must) 합니다.
4.2.5.3. 선처리(pragma) 지시자들
meta
요소(element)에 http-equiv
속성(attribute)이 명시되어 있다면,
요소(element)는 선처리(pragma) 지시자입니다.
http-equiv
속성(attribute)은 열거 속성입니다. 다음
표는 이 속성(attribute)에 대해 정의된 키워드들을 나열합니다. 키워드와 함께 행들의 첫 번째 칸에
주어진 상태는 그 키워드가 일치하는 상태를 제공합니다. 마지막 열에 언급된 바와
같이 키워드의 일부는 부적합 합니다.
상태 | 키워드 | 메모 |
---|---|---|
Content Language | content-language
| 부적합 |
Encoding declaration | content-type
| |
Default style | default-style
| |
Refresh | refresh
| |
Cookie setter | set-cookie
| 부적합 |
meta
요소(element)가 문서에 삽입되는
경우, 그것의 http-equiv
속성(attribute)이 존재하고 위 상태 중 하나를 나타낸다면,
유저 에이전트는 다음 목록에 정의된 대로, 그 상태에 대해 적절한 알고리즘을 수행해야(must) 합니다: -
콘텐트 언어 상태 (
http-equiv="content-language"
) -
이 기능은 부적합합니다. 작성자들은 대신
lang
속성(attribute)을 사용하도록 권장됩니다.이 선처리(pragma)는 선처리 설정 기본 언어를 설정합니다. 그 선처리(pragma)가 성공적으로 처리될 때까지, 선처리 설정 기본 언어가 존재하지 않습니다.
-
meta
요소(element)가content
속성(attribute)을 가지지 않는다면, 이 단계들을 중단합니다. -
요소(element)의
content
속성(attribute)이 U+002C 콤마 문자 (,)를 포함한다면, 이 단계들을 중단합니다. -
input을 요소(element)의
content
속성(attribute)의 값으로 둡니다. -
position를 input의 첫 번째 문자를 가리키게 합니다.
-
공백 문자들이 아닌 일련의 문자를 수집합니다.
-
candidate를 이전 단계로부터 결과로 나온 문자열로 둡니다.
-
candidate가 빈 문자열이라면, 이 단계들을 중단합니다.
-
선처리 설정 기본 언어를 candidate로 설정합니다.
값이 공백으로 구분된 토큰들로 구성된다면, 첫 번째 이후 토큰들은 무시됩니다.
이 선처리(pragma)는 동일한 이름의 HTTP
Content-Language
헤더와 동일하지 않습니다. 한 개 언어 태그를 초과한 HTTPContent-Language
값들은 이 선처리(pragma)에 의해 비유효한 것으로 거부될 것입니다. [HTTP] -
-
인코딩 선언 상태 (
http-equiv="content-type"
) -
인코딩 선언 상태는 단지
charset
속성(attribute) 설정의 대체 형식입니다: 이것이 문자 인코딩 선언입니다. 이 상태의 유저 에이전트 요구사항들은 모두 명세의 해석 섹션에 의해 처리됩니다.인코딩 선언 상태에 있는
http-equiv
속성(attribute)을 가진meta
요소(elements)들에 대해,content
속성(attribute)은 ASCII 대소문자 구분 없이 다음으로 구성된 문자열에 일치하는 값을 가져야 합니다: 리터럴 문자열 "text/html;
", 그 뒤로 선택적으로 얼마든지의 공백 문자들, 그 뒤로 리터럴 문자열 "charset=
", 그 뒤로 문자 인코딩 선언의 문자 인코딩의 레이블들 중 하나.문서는 인코딩 선언 상태에 있는
http-equiv
속성(attribute)을 가진meta
요소(element)와charset
속성(attribute)을 가진meta
요소(element)를 모두 포함하지 않아야(must) 합니다.인코딩 선언 상태는 HTML 문서들과 XML 문서들에서 사용될 수 있습니다. 인코딩 선언 상태가 XML 문서들에서 사용된다면, 문자 인코딩의 이름은 문자열 "
UTF-8
"에 대해 ASCII 대소문자 구분 없이 일치해야(must) 합니다 (그리고 문서는 따라서 그것의 인코딩으로 UTF-8을 사용하도록 강제 됩니다).인코딩 선언 상태는 XML 문서들에서 어떤 영향도 가지지 않고, XHTML로 그리고 XHTML로부터 마이그레이션을 가능하게 하기 위하여만 허용됩니다.
-
기본 스타일 상태 (
http-equiv="default-style"
) -
이 선처리(pragma)는 기본 대체 스타일 시트 세트의 이름을 설정합니다.
-
meta
요소(element)가content
속성(attribute)을 가지지 않거나, 그 속성(attribute)의 값이 빈 문자열이라면, 이 단계들을 중단합니다. -
우선되는 스타일 시트 세트를 요소(element)의
content
속성(attribute)의 값으로 설정합니다. [CSSOM]
-
-
새로고침 상태 (
http-equiv="refresh"
) -
이 선처리(pragma)는 시한(일정 시간 후 작동하도록 장치된) 리다이렉트로 동작합니다.
-
새로고침 상태에 있는
http-equiv
속성(attribute)을 가진 다른meta
요소(element)는 이미 성공적으로 처리되었다면 (즉, 그것이 삽입될 때 유저 에이전트가 그것을 처리하고 end라고 라벨링 된 단계에 도달할 경우), 이 단계들을 중단합니다. -
meta
요소(element)가content
속성(attribute)을 가지지 않거나, 그 속성(attribute)의 값이 빈 문자열이라면, 이 단계들을 중단합니다. -
input을 요소(element)의
content
속성(attribute)의 값으로 둡니다. -
position을 input의 첫 번째 문자를 가리키게 합니다.
-
ASCII 숫자들인 일련의 문자를 수집하고, 음이 아닌 정수 해석에 대한 규칙을 사용하여 결과 문자열을 해석합니다. 수집된 일련의 문자들이 빈 문자열이라면, 번호가 해석되지 않을 것입니다; 이 단계들을 중단합니다. 그렇지 않으면, time을 해석된 숫자로 둡니다.
-
ACSII 숫자들이고 U+002E 마침표 문자 (.)인 일련의 문자를 수집합니다. 수집된 모든 문자들을 무시합니다.
-
position이 input의 끝을 지났다면, end라고 라벨링 된 단계로 건너뜁니다.
-
position에 의해 가리켜진 input 내 문자가 U+003B 세미콜론 문자 (;)나, U+002C 콤마 문자 (,)나, 공백 문자가 아니라면, 이 단계들을 중단합니다.
-
position에 의해 가리켜진 input 내 문자가 U+003B 세미콜론 문자 (;)나, U+002C 콤마 문자 (,) 라면, position을 다음 문자로 전진시킵니다.
-
position이 input의 끝을 지났다면, end라고 라벨링 된 단계로 건너뜁니다.
-
url을 position에 있는 문자로부터 문자열의 끝까지 input의 부분 문자열과 같게 합니다.
-
position에 의해 가리켜진 input 내 문자가 U+0055 라틴 대문자 U (U)이거나 U+0075 라틴 소문자 U (u)라면, position을 다음 문자로 전진시킵니다. 그렇지 않으면, skip quotes로 라벨링 된 단계로 건너뜁니다.
-
position에 의해 가리켜진 input 내 문자가 U+0052 라틴 대문자 R (R)이거나 U+0072 소문자 R (r)이라면, position을 다음 문자로 전진시킵니다. 그렇지 않으면, Parse라고 라벨링 된 단계로 건너뜁니다.
-
position에 의해 가리켜진 input 내 문자가 U+004C 라틴 대문자 L (L)이거나 U+006C 라틴 소문자 L (l)이라면, position을 다음 문자로 전진시킵니다. 그렇지 않으면 Parse라고 라벨링 된 단계로 건너뜁니다.
-
position에 의해 가리켜진 input 내 문자가 U+003D 등호 기호 (=)라면, position를 다음 문자로 전진시킵니다. 그렇지 않으면, Parse로 라벨링 된 단계로 건너뜁니다.
-
Skip quotes: position에 의해 가리켜진 input 내 문자가 U+0027 어포스트로피 문자 (')나 U+0022 따옴표 문자 (")라면, quote를 그 문자로 두고, position을 다음 문자로 전진시킵니다. 그렇지 않으면, quote를 빈 문자열로 둡니다.
-
url을 position에 있는 문자부터 문자열의 끝까지 input의 부분 문자열과 같게 합니다.
-
quote가 빈 문자열이 아니고, url 내에 quote와 동일한 문자가 있다면, 그 문자에서 url을 버리기 때문에, 그것과 모든 다음의 문자들은 제거됩니다.
-
Parse:
meta
요소(element)의 노드 문서에 관련하여 url을 해석합니다. 그것이 실패한다면, 이 단계들을 중단합니다. 그렇지 않으면, urlRecord을 결과 URL 레코드로 둡니다. -
End: 다음 단계들 중 하나 이상을 수행합니다:
-
새로 고침이 완료 된 후 (아래 정의된 대로), 사용자가 리다이렉트를 취소하지 않았고
meta
요소(element)의 노드 문서의 활성화 샌드박싱 플래그 세트가 샌드박스 된 자동 기능 브라우징 컨텍스트 플래그 세트를 가지지 않는다면,Document
의 브라우징 컨텍스트를 교체 가능하고, 그리고 소스 브라우징 컨텍스트로서Document
'의 브라우징 컨텍스트를 가진 urlRecord로 탐색 합니다.이전 문단의 목적을 위해, 새로고침은 다음 두 조건 발생 이후 즉시 만료된다고 합니다:
-
소스 브라우징 컨텍스트로서
Document
의 브라우징 컨텍스트를 가지고, 브라우징 컨텍스트를 urlRecord로 탐색하는 인터페이스를 사용자에게 제공합니다. -
아무 것도 하지 않습니다.
그밖에, 유저 에이전트는, 어떠한 것이라도, 모든 타이머의 상태, 시간이 초과된 모든 리다이렉션의 목적지 등등을 포함하여 작동의 모든 측면을 예외 없이 사용자에게 알릴 수 있습니다.
-
새로고침 상태 상태에 있는
http-equiv
속성(attribute)을 가진meta
요소(element)들에 대해,content
속성(attribute)은 다음으로 구성되는 값을 가져야(must) 합니다:-
유효한 음이 아닌 정수, 혹은
-
유효한 음이 아닌 정수, 그 뒤로 U+003B 세미콜론 문자 (;), 그 뒤로 하나 이상의 공백 문자들, 그 뒤로 문자열 "
URL
"에 ASCII 대소문자 구분 없이 일치하는 부분 문자열, 그 뒤로 U+003D 등호 기호 (=), 그 뒤로 리터럴 U+0027 어포스트로피 문자 (')나 U+0022 따옴표 문자 (")로 시작하지 않는 유효한 URL.
전자의 경우, 정수는 페이지가 리로드 되기 전 몇 초를 나타냅니다; 후자의 경우 정수는 주어진 URL로 페이지가 교체되기 몇 초 전을 나타냅니다.
뉴스 조직의 프론트 페이지는 매 5분 마다 서버로부터 페이지가 자동으로 리로드 되는 것을 보장하기 위해, 페이지의head
요소(element)에 다음 마크업을 포함할 수 있습니다:<meta http-equiv="Refresh" content="300">
일련의 페이지는 다음과 같은 마크업을 사용하여, 순서에 따라 각 페이지가 다음 페이지로 새로고침 되도록 만드는 것에 의해 자동적인 슬라이드 쇼로 사용될 수 있습니다:<meta http-equiv="Refresh" content="20; URL=page4.html">
-
쿠키 설정자 (
http-equiv="set-cookie"
) -
이 선처리(pragma)는 HTTP 쿠키를 설정합니다. [COOKIES]
이것은 부적합 합니다. 실제 HTTP 헤더들이 대신 사용되어야(should) 합니다.
-
meta
요소(element)가content
속성(attribute)을 가지지 않거나 그 속성(attribute)의 값이 빈 문자열이라면, 이 단계들을 중단합니다. -
"비 HTTP" API를 통해 UTF-8로 인코드 된 요소(element)의
content
속성(attribute) 값으로 구성되는, 문서의 주소에 대해 쿠키 설정 문자열을 수신하는 것 처럼 행동합니다. [COOKIES] [ENCODING]
-
-
콘텐트 보안 정책 상태 (
http-equiv="content-security-policy"
) -
이 선처리(pragma)는
Document
에 콘텐트 보안 정책을 강제 합니다. [CSP3]-
meta
요소(element)가content
속성(attribute)을 가지지 않거나, 그 속성(attribute)의 값이 빈 문자열이라면, 이 단계들을 중단합니다. -
policy 를
meta
요소(element)의content
속성(attribute)의 값에 콘텐트 보안 정책의 직렬화 된 콘텐트 보안 정책 해석을 실행한 결과로 둡니다. -
policy부터의
report-uri
,frame-ancestors
,sandbox
지시자들의 모든 발생들을 제거합니다. -
policy 정책을 강제합니다.
콘텐트 보안 정책 상태에 있는
http-equiv
속성(attribute)을 가진meta
요소(element)들에 대해,content
속성(attribute)은 유효한 콘텐트 보안 정책으로 구성되는 값을 가져야(must) 하고, 어떤report-uri
나,frame-ancestors
나,sandbox
지시자들을 포함하지 않아야(must) 합니다.content
속성(attribute)에 주어진 콘텐트 보안 정책은 현재 문서에 강제될 것입니다.
-
한 번에 문서에 어떤 특정 상태를 가진 meta
요소(element)는 하나를 초과하여 존재하지 않아야(must)
합니다.
4.2.5.4. 다른 선처리(pragma) 지시자들
선처리(pragrm) 지시자들의 미리 정의된 세트에 대한 확장들은 특정 조건 하에, WHATWG Wiki PragmaExtensions 페이지에 등록될 수 있습니다.
그 확장들은 영구 메시지 헤더 필드 레지스트리에 등록된 HTTP 헤더와 같은 이름을 사용해야(must) 하고, HTTP 헤더에 대해 기술된 것과 같은 동작을 가져야(must) 합니다. [IANAPERMHEADERS]
메타데이터를 설명하는 헤더에 해당하는 선처리(Pragma) 지시자들이나, 특정 유저 에이전트 처리를 요구하지 않는 선처리(Pragma) 지시자들은 등록되지 않아야(must) 합니다; 대신에, 메타데이터 이름들을 사용하세요. HTTP 처리 모델에 (예를 들어, 캐싱) 영향을 주는 헤더에 해당하는 선처리(Pragma) 지시자들은 그것들은 HTTP 수준 동작에서 HTML을 구현하는 유저 에이전트들과 그렇지 않은 유저 에이전트들에 차이가 발생될 것이기 때문에, 등록되지 않아야(must) 합니다.
누구든지 이 조건들을 만족하는 선처리(pragma) 지시자를 추가하기 위해 언제든지 WHATWG Wiki PragmaExtensions 페이지를 자유롭게 수정할 수 있습니다. 그 등록들은 다음 정보를 명시해야(must) 합니다:
-
키워드(keyword)
-
정의되는 실제 이름. 이름은 동일한 요구사항을 가진 앞서 등록된 HTTP 이름과 일치해야(must) 합니다.
-
간단한 설명(brief description)
-
선처리(pragma) 지시자의 목적에 대한 짧은 비 규범적 설명.
-
명세(specification)
-
해당하는 HTTP 헤더를 정의하는 명세로의 링크.
4.2.5.5. 문서의 문자 인코딩 명시하기
문자 인코딩 선언은 문서를 저장하거나 전송하는데 사용되는 명시된 문자 인코딩에 의한 메커니즘입니다.
다음 제약 사항들이 문자 인코딩 선언에 적용됩니다:
-
주어진 문자 인코딩 이름은 파일 직렬화에 사용된 문자 인코딩의 레이블들 중 하나에 ASCII 대소문자 구분 없이 일치해야(must) 합니다. [ENCODING]
-
문자 인코딩 선언은 문자 참조들이나 어떤 종류의 문자 이스케이프의 사용 없이 직렬화 되어야(must) 합니다.
-
문자 인코딩 선언을 포함하는 요소(element)는 문서의 처음 1024 바이트 내에서 완전히 직렬화 되어야(must) 합니다.
게다가, meta
요소(element)들에 몇 가지 제약 사항 때문에, 문서 당 하나의 meta
기반 문자 인코딩 선언만 존재 할 수 있습니다.
HTML 문서가 BOM으로 시작하지 않고 그것의 인코딩이
명시적으로 Content-Type 메타데이터에 의해 주어지지 않고, 문서가 iframe
srcdoc
문서가 아니라면, 사용된
문자 인코딩은 ASCII 호환 인코딩이어야(must) 하고, 인코딩은 charset
속성(attribute)을 가진 meta
요소(element)나 인코딩 선언 상태에 있는 http-equiv
속성(attribute)을 가진 meta
요소(element)를 사용하여 명시되어야(must) 합니다.
인코딩이 US-ASCII일 지라도, 문자 인코딩이 양식, 스크립트에 의해 생성된 URL들 등에서 사용자에 의해 입력된 비 ASCII 문자들을 처리하기 위해 필요하기 때문에, 문자 인코딩 선언은 (Content-Type 메타데이터나 파일에 명시적으로) 요구됩니다.
문서가 iframe
srcdoc
문서라면,
문서는 문서 인코딩 선언을 가지지 않아야(must) 합니다.
(이 경우에는, iframe
가 포함된 문서의 일부이기 때문에 소스는 이미 디코드 되어있습니다).
HTML 문서가 charset
속성(attribute)을 가진 meta
요소(element)나 문자 인코딩 상태에 있는 http-equiv
속성(attribute)을 가진 meta
요소(element)를 포함한다면, 사용된 문자
인코딩은 ASCII 호환 인코딩이어야(must) 합니다.
작성자들은 UTF-8을 사용해야(should) 합니다. 적합성 검사기들은 작성자들이 레거시 인코딩을 사용하지 않도록 조언할 수 있습니다. [ENCODING]
작성 도구들은 새롭게 생성되는 문서들에 대해 UTF-8 사용을 기본으로 해야(should) 합니다. [ENCODING]
작성자들은 WHATWG 인코딩 표준에 정의되지 않은 인코딩을 사용하지 않아야(must) 합니다. 추가적으로, 작성자들은 ISO-2022-JP를 사용하지 않아야(should) 합니다. [ENCODING]
WHATWG 인코딩 표준에 정의되지 않은 일부 인코딩들은, U+0020부터 U+007E까지 범위에 해당하는 문자들과 다른 문자들을 인코드하기 위해, 0x20부터 0x7E까지의 범위의 바이트를 사용하고, 잠재적인 보안 취약점을 나타냅니다: 유저 에이전트는 아마도 정상적인 평문 콘텐트를 HTML 태그와 자바스크립트로 해석하게 될 수도 있습니다.
위 Note 부분은 일부 번역이 잘못 되었을 수 있습니다.
비 UTF-8 인코딩을 사용하는 것은 기본 값으로 문서의 문자 인코딩을 사용하는 양식 제출과 URL 인코딩에서 예기치 않은 결과를 가져 올 수 있습니다.
XHTML에서, 필요하다면, XML 선언은 인라인 문자 인코딩 정보에 사용되어야(should) 합니다.
head
요소(element) 안에) 다음 마크업을 포함할 수 있습니다:
<meta charset="utf-8">
XML에서, 마크업의 최 상단에, XML 선언이 대신 사용될 것입니다:
<?xml version="1.0" encoding="utf-8"?>
4.2.6. style
요소(element)
- 카테고리:
- 메타데이터 콘텐트.
- 이 요소(element)가 사용될 수 있는 컨텍스트:
- 메타데이터 콘텐트가 기대 되는 곳.
-
head
요소(element)의 자식인noscript
요소(element) 안. - 콘텐트 모델:
-
type
속성(attribute)의 값에 달려있지만, 아래 본문에 기술된 요구사항들에 일치해야(must) 합니다. - text/html에서 태그 생략:
- 어느 태그도 생략 가능하지 않습니다.
- 콘텐트 속성(attribute)들:
- 범용 속성(attribute)들
media
— 적용 가능한 매체nonce
- 콘텐트 보안 정책 검사에 사용되는 암호화 임시값 [CSP3]type
— 삽입된 리소스의 유형- 또한,
title
속성(attribute)은 이 요소(element)에서 특별한 의미를 가집니다: 대체 스타일 시트 세트 이름. - 허용된 ARIA 역할(role) 속성(attribute) 값들:
- 없음
- 허용된 ARIA 상태(state)와 속성(property) 속성(attribute)들:
- 범용 aria-* 속성(attribute)들
- DOM 인터페이스:
-
interface HTMLStyleElement : HTMLElement { attribute DOMString media; attribute DOMString nonce; attribute DOMString type; }; HTMLStyleElement implements LinkStyle;
CSP3 지시자에 기반한 style
요소(element)를 차단하는 네이티브 구현은 알려진 것이 없습니다. 따라서 이 기능은 신뢰되지 않아야(should) 합니다.
style
요소(element)는 작성자들이 그들의 문서에 스타일 정보를 삽입시키는 것을 허용합니다. style
요소(element)는 스타일링 처리 모델에 몇 가지 입력 중 하나입니다. 요소(element)는
사용자에게 콘텐트를 나타내지 않습니다.
type
속성(attribute)은 스타일링 언어를 제공합니다.
속성(attribute)이 존재한다면, 그 값은 스타일링 언어를 지정하는 유효한 MIME
타입이어야(must) 합니다. charset
파라미터는 명시되지 않아야(must) 합니다.
속성(attribute)이 존재하지 않는다면 사용되는 type
속성(attribute)에 대한 기본 값은
"text/css
"입니다. [RFC2318]
charset
파라미터는 여기 MIME 타입들과 비교할 목적을 위해 알려져지 않은 파라미터로 취급되어야(must)
합니다. media
속성(attribute)은 스타일이 적용되는 매체를
알립니다. 값은 유효한 미디어 쿼리 목록이어야(must)합니다. 유저 에이전트는 media
속성(attribute)의 값이 환경과 일치하고 다른 관련 조건들이 적용되는 경우 스타일을
적용해야(must)하고, 그렇지 않으면 적용하지 않아야(must) 합니다.
스타일은 범위에 따라, 예를 들어 @media
블럭을 사용하는 CSS에서, 더 제한될 수
있습니다. 이 명세는 그러한 추가적인 제약 사항이나 요구사항들을 재정의 하지 않습니다.
media
속성(attribute)이 생략되었다면, 기본 값은 기본적으로 스타일이 모든 매체에 적용
됨을 의미하는 "all
"입니다.
style
요소(element)는 문서의 head
에 나타나도록 제한됩니다.
nonce
속성(attribute)은 요소(element)에 의해
명시된 스타일이 문서에 적용될 것인지 아닌지를 결정하기 위해 콘텐트
보안 정책으로 사용될 수 있는 암호화 임시 값("한 번 사용되는 숫자")을 나타냅니다. 값은 텍스트
입니다. [CSP3]
style
요소(element)들의 title
속성(attribute)은 대체 스타일 시트 세트들을 정의합니다. style
요소(element)가 title
속성(attribute)을 가지지 않는다면, 제목(title)을 가지지 않습니다;
조상들의 title
속성(attribute)은 style
요소(element)에 영향을 주지 않습니다. [CSSOM]
style
요소(element)들의 title
속성(attribute)은 link
요소(element)들의 title
속성(attribute)과 같이, 제목(title)이 없는 style
블럭이 부모
요소(element)의 제목(title)을 상속하지 않는 점에서 범용 title
속성(attribute)과
다릅니다: 그것은 단지 제목(title)을 가지지 않습니다.
style
요소(element)의 textContent
는 유니코드인 문자 세트인 다음 ABNF의 style
산출물과 일치해야(must) 합니다. [ABNF]
style = no-c-start *( c-start no-c-end c-end no-c-start ) no-c-start = < any string that doesn’t contain a substring that matches c-start > c-start = "<!--" no-c-end = < any string that doesn’t contain a substring that matches c-end > c-end = "-->"
style
요소(element)의 type
속성(attribute)에 의해 명시된 스타일 시트 언어에 대해 적용하는 style
블럭 업데이트 알고리즘을 수행해야(must)
합니다:
-
요소(element)가 HTML 해석기나 XML 해석기의 열린 요소(element)들의 스택에서 사라진 경우,
-
요소(element)가 HTML 해석기나 XML 해석기의 열린 요소(element)들의 스택에 없고, 문서로 삽입되거나 문서에서 제거되는 경우,
-
요소(element)가 HTML 해석기나 XML 해석기의 열린 요소(element)들의 스택에 없고, 그것의 자식 노드들 중 하나가 스크립트에 의해 수정되는 경우,
순수 텍스트로 구성된 스타일링 언어에 대한 (XML과 반대로), style
요소(element)의 스타일 데이터는 트리 순서에 따라, style
요소(element)의 자식인 모든 Text
노드들의 (주석들이나 요소(element)들 같은 다른
노드들이 아닌) 콘텐트의 연결입니다. XML 기반 스타일링 언어에 대한, 스타일
데이터는 style
요소(element)의 모든 자식 노드들로 구성됩니다.
CSS(text/css
)에 대한 style
블럭 업데이트 알고리즘은 다음과 같습니다:
-
element를
style
요소(element)로 둡니다. -
element가 연관된 CSS 스타일 시트를 가진다면, 문제의 CSS 스타일 시트를 제거합니다.
-
element가
Document
안에 없다면, 이 단계들을 중단합니다. -
요소(element)의 인라인 동작은 콘텐트 보안 정책에 의해 차단되어야(should) 하는가? 알고리즘이
style
요소(element)에서 실행된 경우 "Blocked
"와, "style
", 그리고style
요소(element)의 스타일 데이터를 반환한다면, 이 단계들을 중단합니다. [CSP3] -
다음 속성(property)들을 가지고 CSS 스타일 시트를 생성합니다:
-
text/css
-
element
-
element의
media
속성(attribute) .이것은 속성(attribute)의 현재 값의 복사본 보다는, 속성(attribute)에 대한 (아마도 현재는 없을 수도 있습니다) 참조입니다. CSSOM 명세는 속성(attribute)이 동적으로 설정, 변경, 제거될 때 일어나는 것을 정의합니다.
-
element의
title
속성(attribute).다시, 이것은 속성(attribute)에 대한 참조입니다.
-
해제.
-
설정.
-
null
-
기본 값으로 남음.
-
초기화되지 않은 채로 남음.
이 명세는 다른 스타일링 언어의 style
블럭 업데이트 알고리즘을 정의하지
않습니다.
스타일 시트의 중요한 하위 리소스들이 있는 경우 이를 얻기 위한
시도가 완료되거나, 스타일 시트가 중요한 하위 리소스들을 가지지
않는 경우 스타일 시트가 해석되고 처리될 때, 유저 에이전트는 로드가 성공적이거나 중요한 하위 리소스들이 없었다면 style
요소(element)에 load
라는 단순 이벤트를 발생시키기 위한 작업을 대기열에 넣어야(must) 하거나, 스타일 시트의 중요한 하위 리소스들 중 하나가 어떤 이유로 (예를 들어, DSN 오류,
HTTP 404 응답, 너무 빨리 닫히는 연결, 지원되지 않은 Content-Type) 완전한 로드가 실패되었다면 style
요소(element)에 error
라는 단순 이벤트를 발생시키기
위한 작업을 대기열에 넣어야(must) 합니다. 스타일 시트나 그것의 하위
리소스들 처리에서 비 네트워크 오류는 (예를 들어, CSS 해석 오류들, PNG 디코딩 오류들) 이 단락의
목적에 대한 실패가 아닙니다.
이 작업들에 대한 작업 소스는 DOM 조작 작업 소스입니다.
요소(element)는 스타일 시트의 하위 리소스들이 있다면 이들을 획득하기 위한 모든 시도가 완료될 때까지, 요소(element)의 노드 문서의 로드 이벤트를 지연시켜야(must) 합니다.
이 명세는 스타일 시스템을 명시하지 않지만, CSS는 대다수 브라우저에 의해 지원되는 것으로 예상됩니다. [CSS-2015]
LinkStyle
인터페이스 또한 이 요소(element)에 의해 구현됩니다. [CSSOM]
<!DOCTYPE html><html> <head> <title>My favorite book</title> <style> body { color: black; background: white; } em { font-style: normal; color: red; } </style> </head> <body> <p>My <em>favorite</em> book of all time has <em>got</em> to be <cite>A Cat’s Life</cite>. It is a book by P. Rahmel that talks about the <i lang="la">Felis Catus</i> in modern human society.</p> </body> </html>
4.2.7. 스타일링과 스크립팅의 상호작용
스타일 시트들은, link
요소(element)나, style
요소(element)나, <?xml-stylesheet?>
PI나, HTTP Link
헤더나 어떤 다른 메커니즘에
의해 추가되었든지 간에, 초기에 해제되어 있는 스타일 시트 준비 플래그를 가집니다.
스타일 시트가 적용될 준비가 될 경우, 그것의 스타일 시트 준비 플래그가 설정됩니다. 스타일 시트가 다른 리소스들을 참조하지 않았다면 (예를 들어, @import
규칙들 없는 style
요소(element)에 의해 주어진 내부 스타일 시트였다면), 스타일 규칙들은 즉시 스크립트에 사용할 수 있게 되어야(must) 합니다; 그렇지 않으면, 스타일
규칙들은 이벤트 반복이 그것의 렌더링 업데이트 단계에 도달할 때에만
스크립트에 사용할 수 있게 되어야(must) 합니다.
HTML 해석기나 XML 해석기의 Document
의
컨텍스트에서 스타일 시트는 요소(element)가 그 Document
의 해석기에 의해 생성되었고,
요소(element)가 style
요소(element)나 요소(element)가 해석기에 의해 생성 되었을 때 외부 리소스 링크인 link
요소(element)이고, 요소(element)의
스타일 시트가 요소(element)가 해석기에 의해 생성되었을 때 활성화 되었고, 요소(element)의 스타일 시트 준비 플래그가 아직 설정되지 않았고, 마지막에 이벤트 반복이 단계 1에 도달했을 때 요소(element)가 그 Document
에 있었고
유저 에이전트가 아직 그 특정 스타일 시트를 포기하지 않았다면, 스크립트들을 차단하는 스타일 시트라고
알려집니다. 유저 에이전트는 언제든지 스타일 시트를 포기할 수 있습니다.
스타일 시트가 로드되기 전에 스타일 시트를 포기하는 것은, 스타일 시트가 결국 여전히 로드한다면, 스크립트가 잘못된 정보를 가지고 작동되는 결과를 초래할 수 있음을 의미합니다. 예를 들어, 스타일 시트가 요소(element)의 색상을 녹색으로 설정하지만, 결과 스타일을 검사하는 스크립트는 시트가 로드되기 전에 실행된다면, 스크립트는 요소(element)가 검정색임을 (혹은 기본 색상인 어떤 색상) 발견하게 될 것이고, 따라서 잘못된 선택을 (예를 들어, 녹색 대신, 페이지의 다른 곳에서 검정색을 사용하도록 결정한) 만들 수 있습니다. 구현자는 잘못된 정보를 사용하는 스크립트의 가능성과 느린 네트워크 요청이 끝나기를 기다리는 동안 아무 것도 하지 않는 것의 성능 영향을 조정해야(must) 합니다.
Document
는 그 Document
의 컨텍스트에서 스크립트들을 차단하는 스타일 시트가 있거나,
그 Document
가 부모 브라우징 컨텍스트를 가지고 그 부모 브라우징 컨텍스트의 활성 문서가 스크립트들을 차단하는 스타일 시트를 가지는 브라우징 컨텍스트에 있다면 스크립트들을 차단하는 스타일 시트를 가집니다.
Document
는 위 단락에서 기술된 바와 같은 스크립트들을 차단하는 스타일 시트를 가지지 않는다면 스크립트들을 차단하는 스타일 시트를 가지지 않습니다.