이 문서는 Role Attribute 1.0 - An attribute to support the role classification of elements (W3C Recommendation 28 March 2013)의 한국어 번역본입니다.
이 문서에 오역 및 오타를 포함할 수 있습니다. 가능하면 원문도 확인하시길 바랍니다.
이 문서의 errata를 확인하시길 바랍니다. 표준에 따른 변경을 포함하고 있을 수 있습니다.
번역본도 제공합니다.
이 문서의 표준버전은 영문 버전으로만 제공합니다. 표준이 아닌 번역본이 있을 수 있습니다.
Copyright © 2006-2013 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. W3C liability, trademark and document use rules apply.
이 스펙문서에서는 작성자가 요소의 목적에 대해 기계가 추출가능한 시멘틱 정보를 마크업 언어에 명시할 수 있도록 하는 Role 속성을 정의합니다. 접근성, 디바이스 적응, 서버 사이드 프로세싱 및 복잡한 데이터 설명 관련 사용 케이스도 있습니다. 이 속성은 어떤 마크업 언어에도 사용할 수 있습니다. 특히, 스키마 구현체는 XHTML 모듈화[XHTML-MODULARIZATION11-2e]를 기반으로 한 언어로 쉽게 제공합니다.
role 속성은 만약 언어가 독자적인 role 속성을 정의하지 않은 경우, XML 베이스 언어의 role로 정의된 리치 인터넷 어플리케이션 접근성 (WAI-ARIA)를 지원해야할 필요가 있습니다. [WAI-ARIA] 이게 프로토콜 및 포맷 워킹그룹에 의해 Role 속성이 발행된 근거라 할지라도, 속성은 더 많은 범용 사용 케이스를 가져야할 필요가 있습니다.
이 섹션은 이 문서가 발행되었을 때 상태에 대해 기술합니다. 다른 문서가 이 문서를 대체할 수 있습니다. 현재 W3C에서 발행한 기술 리포트의 최신 버전은 W3C 기술 인덱스 at http://www.w3.org/TR/에서 확인할 수 있습니다.
이 문서는 Web Accessibility Initiative의 Protocols & Formats Working Group에서 발행한 Role 속성 W3C 권고안입니다. 이 문서는 W3C 멤버들, 소프트웨어 개발자, 다른 W3C 그룹 및 관심 파티에 의해 리뷰되고 디렉터가 승인하여 W3C 권고안이 된 문서입니다. 이 문서는 안정적인 문서이며 다른 문서에서 참조하거나 참고 재료로 사용하여도 됩니다. 권고안을 제정함으로써 W3C가 하는 역할은 스펙 문서에 주목을 끌고 개발을 널리 퍼뜨리는 것입니다. 이로 인해 웹의 상호운용성을 향상시킬 수 있습니다.
이 문서를 마침으로써, Role 속성의 이 버전은 더 이상 변경이 없을 것입니다. 프로토콜 및 포맷 워킹그룹은 Role 속성과 관련한 추가 개선은 이 스펙 문서의 미래 버전 대신 Accessible Rich Internet Applications (WAI-ARIA)의 미래 문서에서 추가될 거라 기대하고 있습니다. 워킹그룹은 Role 속성 권고안에 대한 코멘트에 답변할 계획을 가지고 있지는 않으나, errata 입력이나 기타 미래의 일을 고려하고 있습니다. instructions for commenting에 코멘트를 전송하거나 (권장), public-pfwg-comments@w3.org (comment archive)로 이메일을 보낼 수도 있습니다. Role 속성 1.0의 변경 히스토리도 제공합니다.
이 문서는 2004년 2월 6일 W3C 특허 정책을 따르는 그룹에서 작성하였습니다. W3C는 그룹의 성과물에 관련하여 모든 공개 특허 공개 리스트를 관리합니다. 여기에는 특허 공개에 대한 지시사항도 포함합니다. 특허에 대해서 충분한 지식이 있는 사람이, 스펙 문서의 Essential Claim(s)에 인정된다고 파악되는 경우, W3C 특허 정책 제 6장에 의거하여 정보를 공개해야 할 필요가 있습니다.
이 섹션은 표준에 준하지 않습니다.
이 문서는 문서의 접근성 및 시멘틱 마크업을 향상시키는 데 도움을 주고자 할 때 사용하도록 설계된 속성을 정의합니다. 이는 접근성 커뮤니티와 다른 그룹들이 함께 개발하여 문서 콘텐츠의 의미를 쉽게 설명하도록 제작하였습니다.
Role 속성 사용 케이스를 사용할 때 (독점적이지는 않지만) 중요한 건 [WAI-ARIA]를 지원하는 것입니다. Role 속성을 위한 중요한 사용 케이스를 지원합니다 [WAI-ARIA]. Role 속성은 Role Attribute in WAI-ARIA, Section 7.1의 요구사항을 따르며, 이는 WAI-ARIA role을 사용하는 속성을 포함하는 [XML10] 언어를 사용 가능하게 합니다. 이 문서가 발행되었을 때, WAI-ARIA를 사용하는 걸로 알려진 XML 베이스 언어는 없었으나, 이 속성은 (SVG 등에서) 미래에 지원할 계획이며 매우 중요합니다. 반면에, [HTML5]에서 WAI-ARIA 지원은 "role" 속성을 포함합니다. [HTML5]과 함께 저 속성을 사용할 때 이 스펙 문서 내 role 속성의 정의와 일치하며, 속성의 값과 함께 '용어'의 사용이 제한되어 사용할 수 있습니다.
이 스펙문서 내에서 표준에 준하지 않습니다라고 표기된 섹션을 포함한, 모든 작성 가이드라인, 다이어그램, 예제 및 노트는 표준에 준하지 않는 내용입니다. 그 외 모든 건 표준에 준하는 내용입니다.
이 스펙문서에서 사용하는 키워드 MUST, MUST NOT, REQUIRED, SHOULD, SHOULD NOT, RECOMMENDED, MAY, OPTIONAL은 [RFC2119]에 기술되어있는대로 해석합니다.
Role 속성은 단독으로 문서 타입을 나타내지는 않습니다. Role 속성은 SVG, HTML, XHTML 같은 다른 호스트 언어에 융화될 의도를 가지고 있습니다. Role 속성 문서 적합성은 그 호스트 언어 내에서 필수라 소개한 설비와 이 스펙 문서 내 필수라 소개한 설비만 필수 요구사항인 문서입니다. 이러한 문서는 아래 모든 조건을 충족해야합니다.
이 문서는 호스트 언어 구현체에서 표현하는 제약조건을 반드시 준수해야합니다. [MUST]
만약 호스트 언어가 XML [XML10-4e] 마크업 언어고
XHTML 네임스페이스http://www.w3.org/1999/xhtml
)에 속한다면, 추가 요구사항은 없습니다.
만약 호스트 언어가 XML 마크업 언어고 XHTML 네임스페이스에 속하지 않으며,
호스트 언어가 'no namespace' 내 이 속성을 포함하지 않을 때,
문서는 반드시 Role 속성 모듈 네임스페이스를 위한 XML 네임스페이스 선언을 포함해야합니다. [MUST]
[XML-NAMES11]
Role 속성 모듈을 위한 네임스페이스는 http://www.w3.org/1999/xhtml
에 정의되어있습니다.
루트 요소의 시작 태그 예제는 아래와 같이 보입니다:
<mylang xmlns="http://www.example.com/dtd/mylang" xmlns:xh="http://www.w3.org/1999/xhtml" xml:lang="en" >
Role 속성이 호스트 언어에 포함될 때, 이 스펙문서 내 설비 요구사항 전체를 반드시 호스트 언어에 포함해야합니다. [MUST] 또한, 이 스펙문서에서 정의한 속성은 반드시 호스트 언어의 콘텐츠 모델 내에 포함해야합니다. [MUST]
이 스펙문서는 role
속성을 정의합니다.
role
속성은 그 값에 한개 혹은 그 이상의 공백문자로 구분된 TERMorCURIEorAbsIRIs
를 취하며, 값은 [RDFA-CORE]에서 정의합니다.
값의 각 컴포넌트는 RDF를 사용해 정의한 어휘 용어에 일치하는 IRI에 매핑합니다. [SHOULD]
TERM 사용을 허용하는 @role, CURIE ([RDFA-CORE]에서 정의), 전체 IRI를 위해 데이터타입을 사용합니다. TERM은 어휘에서 가져오는 아이템입니다. @role을 사용하는 기본 어휘는 [XHTML-VOCAB]에서 정의합니다. 호스트 언어가 다른 기본 어휘를 정의할 수도 있습니다. [MAY]
기본 어휘에서 정의한 어휘 용어는 이 문서에 포함하지 않습니다. 그것들은 유지를 쉽게하기 위해 [XHTML-VOCAB]에서 정의합니다. 용어는 [WAI-ARIA]에서 도출되며, XHTML2 워킹그룹에서 이 문서에서 그 일을 수행하고 있습니다.
속성은 문서의 맥락에서 현재 요소의 역할(들)에 대해 설명합니다.
이 속성을 예로 들면, 어플리케이션과 보조 기술에서 요소의 목적을 결정하기 위해 사용할 수 있습니다.
이는 기기에 독자적인 방법으로 유저가 요소에서 특정 액션을 취해 해당 액션에 대한 결정 정보를 생성하거나 셀렉트 액션 활성화 등을 사용할 수 있게 합니다.
또한 도메인에서 정의한 방법으로 문서의 주석 부분을 위한 메커니즘을 사용할 수 있습니다. (예를 들면, 법률 용어 분류학)
심지어 role 속성을 요소에 시멘틱을 추가하기 위해 사용할 수 있더라도, div role="paragraph"
같이 의미상 중립 요소에서 시멘틱을 씌우는 것보다,
작성자는 p
같은 요소 고유의 시멘틱과 함께 사용해야 합니다. [SHOULD]
아래 예제는 role 속성을 적절히 사용한 좋은 예제입니다:
<div role="main"> <h1>This is the main content of the page</h1> <p>Here is some content that is the primary purpose of this web page.</p> </div>
role 값을 추가해서 정의할 수 있습니다. 어휘 작성자는 반드시 그 어휘에서 사용할 몇몇 추가 role 값을 정의해야 합니다. [MUST] 그 어휘와 관련한 URI는 어휘 내 역할의 정의를 발견하는 인간 및 기계를 허용하는 리소스로 해결해야합니다. [SHOULD]
리소스의 좋은 예제는 [XHTML-VOCAB]의 기본 어휘 문서입니다. 이 문서는 RDF 기본 컨텍스트의 머신-발견을 위한 [RDFA-CORE] 섹션 9의 요구사항에 호환하는 포맷을 사용합니다.
만약 호스트 언어가 @role 속성을 포함하며, RDFa 프로세서가 호스트 언어의 역할에 따라 호스트 언어로 작성된 문서를 프로세싱할 때 role 속성을 위한 세 벌을 추가로 생성할 수도 있습니다. [MAY] 만약 세 벌을 추가로 생성하는 경우, 이는 반드시 아래 규칙대로 생성되야합니다: [MUST]
bnode
입니다.
http://www.w3.org/1999/xhtml/vocab
에서 정의하는 어휘 내 role
용어입니다.http://www.w3.org/1999/xhtml/vocab#
의 어휘 범위 내에서 동작해야 합니다.
[MUST]@role 값이 TERMorCURIEorAbsIRIs
데이터타입을 사용해 정의되는 걸 기억하시길 바랍니다.
RDFa 프로세서는 [RDFA-CORE]에서 정의한 그 데이터 타입 역할을 사용하는 값을 해석해야 합니다.
XHTML Role 속성의 DTD 구현체는 [XHTML-MODULARIZATION11-2e]에서 정의하는 요구사항을 포함해야합니다. 그 결과로써, DTD 구현체는 주소 네임 모듈 선언을 제공해야합니다.
이 모듈이 파라미터 엔티티 %xhtml-role-attrs.qname;
으로 정의되었음을 노트하시길 바랍니다.
이 엔티티는 그 네임스페이스 내 요소에서 role 속성 사용을 허용하는 어떤 호스트 언어 내 요소의 속성 리스트에서 사용할 의도를 가지고 있습니다.
만약 호스트 언어가 네임스페이스 안에서 허용하지 않는다면, 호스트 언어 드라이버는 파라미터 엔티티 %XHTML-ROLE.prefixed;
를 INCLUDE
에 세팅해야하며,
%XHTML-ROLE.prefix;
를 XHTML Role 속성 모듈 속성을 위한 접두사 값으로 지정해야합니다.
<!-- ....................................................................... --> <!-- XHTML Role Qname Module ............................................ --> <!-- file: xhtml-role-qname-1.mod This is XHTML Role - the Role Attribute Module for XHTML. Copyright 2006 W3C (MIT, ERCIM, Keio), All Rights Reserved. This DTD module is identified by the PUBLIC and SYSTEM identifiers: PUBLIC "-//W3C//ENTITIES XHTML Role Attribute Qnames 1.0//EN" SYSTEM "http://www.w3.org/MarkUp/DTD/xhtml-role-qname-1.mod" Revisions: (none) ....................................................................... --> <!-- XHTML Role Attribute Qname (Qualified Name) Module This module is contained in two parts, labeled Section 'A' and 'B': Section A declares parameter entities to support namespace- qualified names, namespace declarations, and name prefixing for XHTML Role and extensions. Section B declares parameter entities used to provide namespace-qualified names for the XHTML role attribute: %role.qname; the xmlns-qualified name for @role ... XHTML Role extensions would create a module similar to this one. --> <!-- Section A: XHTML Role Attribute XML Namespace Framework ::::::::::::::: --> <!-- 1. Declare a %XHTML-ROLE.prefixed; conditional section keyword, used to activate namespace prefixing. The default value should inherit '%NS.prefixed;' from the DTD driver, so that unless overridden, the default behavior follows the overall DTD prefixing scheme. --> <!ENTITY % NS.prefixed "IGNORE" > <!ENTITY % XHTML-ROLE.prefixed "%NS.prefixed;" > <!-- 2. Declare a parameter entity (eg., %XHTML-ROLE.xmlns;) containing the URI reference used to identify the XHTML Role Attribute namespace --> <!ENTITY % XHTML-ROLE.xmlns "http://www.w3.org/1999/xhtml" > <!-- 3. Declare parameter entities (eg., %XML.prefix;) containing the default namespace prefix string(s) to use when prefixing is enabled. This may be overridden in the DTD driver or the internal subset of an document instance. If no default prefix is desired, this may be declared as an empty string. NOTE: As specified in [XMLNAMES], the namespace prefix serves as a proxy for the URI reference, and is not in itself significant. --> <!ENTITY % XHTML-ROLE.prefix "" > <!-- 4. Declare parameter entities (eg., %XHTML-ROLE.pfx;) containing the colonized prefix(es) (eg., '%XHTML-ROLE.prefix;:') used when prefixing is active, an empty string when it is not. --> <![%XHTML-ROLE.prefixed;[ <!ENTITY % XHTML-ROLE.pfx "%XHTML-ROLE.prefix;:" > ]]> <!ENTITY % XHTML-ROLE.pfx "" > <!-- declare qualified name extensions here ............ --> <!ENTITY % xhtml-role-qname-extra.mod "" > %xhtml-role-qname-extra.mod; <!-- 5. The parameter entity %XHTML-ROLE.xmlns.extra.attrib; may be redeclared to contain any non-XHTML Role Attribute namespace declaration attributes for namespaces embedded in XML. The default is an empty string. XLink should be included here if used in the DTD. --> <!ENTITY % XHTML-ROLE.xmlns.extra.attrib "" > <!-- Section B: XML Qualified Names ::::::::::::::::::::::::::::: --> <!-- 6. This section declares parameter entities used to provide namespace-qualified names for the XHTML role attribute. --> <!ENTITY % xhtml-role.role.qname "%XHTML-ROLE.pfx;role" > <!-- The following defines a PE for use in the attribute sets of elements in other namespaces that want to incorporate the XHTML role attribute. Note that in this case the XHTML-ROLE.pfx should be defined. --> <!ENTITY % xhtml-role.attrs.qname "%XHTML-ROLE.pfx;role CDATA #IMPLIED" > <!-- end of xhtml-role-qname-1.mod -->
XTHML Role 속성 모듈의 스키마 구현체는 [XHTML-MODULARIZATION11-2e]에서 정의하는 요구사항을 포함해야합니다. 여기 예제 구현체를 포함합니다.
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/" > <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" schemaLocation="xhtml-datatypes-1.xsd" /> <xs:annotation> <xs:documentation> This is the XML Schema attribute module for XHTML Role $Id: Overview.html,v 1.7 2013-03-28 15:13:26 cooper Exp $ </xs:documentation> <xs:documentation source="xhtml-copyright-1.xsd"/> <xs:documentation source="http://www.w3.org/TR/role-attribute#A_role"/> </xs:annotation> <xs:attribute name="role" type="xh11d:TERMorURIorCURIEs"/> </xs:schema>
이 문서의 개발에 아래 사람들의 공헌이 있었습니다.
Jim Allan (TSB), Simon Bates, Chris Blouch (AOL), Judy Brewer (W3C/MIT), Ben Caldwell (Trace), Charles Chen (Google, Inc.), Christian Cohrs, Dimitar Denev (Frauenhofer Gesellschaft), Donald Evans (AOL), Kentarou Fukuda (IBM Corporation), Becky Gibson (IBM), Alfred S. Gilman, Andres Gonzalez (Adobe Systems Inc.), Georgios Grigoriadis (SAP AG), Jeff Grimes (Oracle), Barbara Hartel, John Hrvatin (Microsoft Corporation), Masahiko Kaneko (Microsoft Corporation), Earl Johnson (Sun), Jael Kurz, Diego La Monica (International Webmasters Association / HTML Writers Guild (IWA-HWG)), Aaron Leventhal (IBM Corporation), Alex Li (SAP), Thomas Logan (HiSoftware), William Loughborough, Linda Mao (Microsoft), Anders Markussen (Opera Software), Matthew May (Adobe Systems Inc.), Artur Ortega (Yahoo!, Inc.), Lisa Pappas (Society for Technical Communication (STC)), Dave Pawson (RNIB), Stephen Pemberton (CWI), David Poehlman, Simon Pieters (Opera Software), T.V. Raman (Google, Inc.), Gregory Rosmaita, Tony Ross (Microsoft Corporation), Martin Schaus (SAP AG), Marc Silbey (Microsoft Corporation), Henri Sivonen (Mozilla), Henny Swan (Opera Software), Vitaly Sourikov, Mike Squillace (IBM), Ryan Williams (Oracle), Tom Wlodkowski.
This publication has been funded in part with Federal funds from the U.S. Department of Education, National Institute on Disability and Rehabilitation Research (NIDRR) under contract number ED-OSE-10-C-0067. The content of this publication does not necessarily reflect the views or policies of the U.S. Department of Education, nor does mention of trade names, commercial products, or organizations imply endorsement by the U.S. Government.