이 문서는 Role Attribute 1.0 - An attribute to support the role classification of elements (W3C Recommendation 28 March 2013)의 한국어 번역본입니다.
이 문서에 오역 및 오타를 포함할 수 있습니다. 가능하면 원문도 확인하시길 바랍니다.

공개일
2015-12-03
번역자:
조은 <apes0123@gmail.com>

W3C

Role 속성 1.0

요소의 역할(Role) 분류를 지원하는 속성

2013년 3월 28일 W3C 권고안

이 버전:
http://www.w3.org/TR/2013/REC-role-attribute-20130328/
최신 발행 버전:
http://www.w3.org/TR/role-attribute/
최신 에디터 문서:
http://www.w3.org/WAI/PF/role-attribute/
이전 버전:
http://www.w3.org/TR/2012/PR-role-attribute-20121213/
Editor:
Shane McCarron, Applied Testing and Technology, Inc., shane@aptest.com
Authors:
Ben Adida, Creative Commons
Mark Birbeck, webBackplane
Steven Pemberton, CWI/W3C®
T. V. Raman, Google, Inc.
Richard Schwerdtfeger, IBM Corporation

이 문서의 errata를 확인하시길 바랍니다. 표준에 따른 변경을 포함하고 있을 수 있습니다.

번역본도 제공합니다.

이 문서의 표준버전은 영문 버전으로만 제공합니다. 표준이 아닌 번역본이 있을 수 있습니다.


요약

이 스펙문서에서는 작성자가 요소의 목적에 대해 기계가 추출가능한 시멘틱 정보를 마크업 언어에 명시할 수 있도록 하는 Role 속성을 정의합니다. 접근성, 디바이스 적응, 서버 사이드 프로세싱 및 복잡한 데이터 설명 관련 사용 케이스도 있습니다. 이 속성은 어떤 마크업 언어에도 사용할 수 있습니다. 특히, 스키마 구현체는 XHTML 모듈화[XHTML-MODULARIZATION11-2e]를 기반으로 한 언어로 쉽게 제공합니다.

role 속성은 만약 언어가 독자적인 role 속성을 정의하지 않은 경우, XML 베이스 언어의 role로 정의된 리치 인터넷 어플리케이션 접근성 (WAI-ARIA)를 지원해야할 필요가 있습니다. [WAI-ARIA] 이게 프로토콜 및 포맷 워킹그룹에 의해 Role 속성이 발행된 근거라 할지라도, 속성은 더 많은 범용 사용 케이스를 가져야할 필요가 있습니다.

이 문서의 상태

이 섹션은 이 문서가 발행되었을 때 상태에 대해 기술합니다. 다른 문서가 이 문서를 대체할 수 있습니다. 현재 W3C에서 발행한 기술 리포트의 최신 버전은 W3C 기술 인덱스 at http://www.w3.org/TR/에서 확인할 수 있습니다.

이 문서는 Web Accessibility InitiativeProtocols & 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장에 의거하여 정보를 공개해야 할 필요가 있습니다.

목차

1. 소개

이 섹션은 표준에 준하지 않습니다.

이 문서는 문서의 접근성 및 시멘틱 마크업을 향상시키는 데 도움을 주고자 할 때 사용하도록 설계된 속성을 정의합니다. 이는 접근성 커뮤니티와 다른 그룹들이 함께 개발하여 문서 콘텐츠의 의미를 쉽게 설명하도록 제작하였습니다.

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 속성의 정의와 일치하며, 속성의 값과 함께 '용어'의 사용이 제한되어 사용할 수 있습니다.

2. 적합성

이 스펙문서 내에서 표준에 준하지 않습니다라고 표기된 섹션을 포함한, 모든 작성 가이드라인, 다이어그램, 예제 및 노트는 표준에 준하지 않는 내용입니다. 그 외 모든 건 표준에 준하는 내용입니다.

이 스펙문서에서 사용하는 키워드 MUST, MUST NOT, REQUIRED, SHOULD, SHOULD NOT, RECOMMENDED, MAY, OPTIONAL은 [RFC2119]에 기술되어있는대로 해석합니다.

2.1 문서 적합성

Role 속성은 단독으로 문서 타입을 나타내지는 않습니다. Role 속성은 SVG, HTML, XHTML 같은 다른 호스트 언어에 융화될 의도를 가지고 있습니다. Role 속성 문서 적합성은 그 호스트 언어 내에서 필수라 소개한 설비와 이 스펙 문서 내 필수라 소개한 설비만 필수 요구사항인 문서입니다. 이러한 문서는 아래 모든 조건을 충족해야합니다.

  1. 이 문서는 호스트 언어 구현체에서 표현하는 제약조건을 반드시 준수해야합니다. [MUST]

  2. 만약 호스트 언어 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에 정의되어있습니다. 루트 요소의 시작 태그 예제는 아래와 같이 보입니다:

    예제 1
    <mylang xmlns="http://www.example.com/dtd/mylang"
            xmlns:xh="http://www.w3.org/1999/xhtml" xml:lang="en" >
    

2.2 호스트 언어 적합성

Role 속성이 호스트 언어에 포함될 때, 이 스펙문서 내 설비 요구사항 전체를 반드시 호스트 언어에 포함해야합니다. [MUST] 또한, 이 스펙문서에서 정의한 속성은 반드시 호스트 언어의 콘텐츠 모델 내에 포함해야합니다. [MUST]

3. Role 속성

이 스펙문서는 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 속성을 적절히 사용한 좋은 예제입니다:

예제 2
<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>

3.1 역할 콜렉션 확장

role 값을 추가해서 정의할 수 있습니다. 어휘 작성자는 반드시 그 어휘에서 사용할 몇몇 추가 role 값을 정의해야 합니다. [MUST] 그 어휘와 관련한 URI는 어휘 내 역할의 정의를 발견하는 인간 및 기계를 허용하는 리소스로 해결해야합니다. [SHOULD]

노트

리소스의 좋은 예제는 [XHTML-VOCAB]의 기본 어휘 문서입니다. 이 문서는 RDF 기본 컨텍스트의 머신-발견을 위한 [RDFA-CORE] 섹션 9의 요구사항에 호환하는 포맷을 사용합니다.

4. RDFa와 함께 Role 사용하기

만약 호스트 언어가 @role 속성을 포함하며, RDFa 프로세서가 호스트 언어의 역할에 따라 호스트 언어로 작성된 문서를 프로세싱할 때 role 속성을 위한 세 벌을 추가로 생성할 수도 있습니다. [MAY] 만약 세 벌을 추가로 생성하는 경우, 이는 반드시 아래 규칙대로 생성되야합니다: [MUST]

노트

@role 값이 TERMorCURIEorAbsIRIs 데이터타입을 사용해 정의되는 걸 기억하시길 바랍니다. RDFa 프로세서는 [RDFA-CORE]에서 정의한 그 데이터 타입 역할을 사용하는 값을 해석해야 합니다.

A. XHTML Role 속성 모듈

A.1 DTD 구현체

XHTML Role 속성의 DTD 구현체는 [XHTML-MODULARIZATION11-2e]에서 정의하는 요구사항을 포함해야합니다. 그 결과로써, DTD 구현체는 주소 네임 모듈 선언을 제공해야합니다.

A.1.1 주소 네임 모듈

이 모듈이 파라미터 엔티티 %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 -->
	

A.2 스키마 구현체

XTHML Role 속성 모듈의 스키마 구현체는 [XHTML-MODULARIZATION11-2e]에서 정의하는 요구사항을 포함해야합니다. 여기 예제 구현체를 포함합니다.

A.2.1 속성 모듈

<?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>

B. 감사의 말

이 문서의 개발에 아래 사람들의 공헌이 있었습니다.

B.1 Participants in the PFWG at the time of publication

  1. David Bolter (Mozilla)
  2. Sally Cain (Royal National Institute of Blind People (RNIB))
  3. Alex Qiang Chen (University of Manchester)
  4. Charles Chen (Google, Inc.)
  5. Michael Cooper (W3C/MIT)
  6. James Craig (Apple, Inc.)
  7. Steve Faulkner (Invited Expert, The Paciello Group)
  8. Geoff Freed (Invited Expert, NCAM)
  9. Kentarou Fukuda (IBM)
  10. Georgios Grigoriadis (SAP AG)
  11. Jon Gunderson (Invited Expert, UIUC)
  12. Markus Gylling (DAISY Consortium)
  13. Sean Hayes (Microsoft Corporation)
  14. Kenny Johar (Microsoft Corporation)
  15. Shilpi Kapoor (BarrierBreak Technologies)
  16. Matthew King (IBM Corporation)
  17. Diego La Monica (International Webmasters Association / HTML Writers Guild (IWA-HWG))
  18. Rajesh Lal (Nokia Corporation)
  19. Gez Lemon (International Webmasters Association / HTML Writers Guild (IWA-HWG))
  20. Anders Markussen (Opera Software)
  21. Shane McCarron (Invited Expert, ApTest)
  22. Charles McCathieNevile (Opera Software)
  23. Mary Jo Mueller (IBM Corporation)
  24. James Nurthen (Oracle Corporation)
  25. Joshue O Connor (Invited Expert, NCBI Centre for Inclusive Technology)
  26. Sarah Pulis (Media Access Australia)
  27. T.V. Raman (Google, Inc.)
  28. Janina Sajka (Invited Expert, The Linux Foundation)
  29. Joseph Scheuhammer (Invited Expert, Inclusive Design Research Centre, OCAD University)
  30. Stefan Schnabel (SAP AG)
  31. Richard Schwerdtfeger (IBM Corporation)
  32. Lisa Seeman (Invited Expert)
  33. Cynthia Shelly (Microsoft Corporation)
  34. Andi Snow-Weaver (IBM Corporation)
  35. Gregg Vanderheiden (Invited Expert, Trace Research and Development Center)
  36. Léonie Watson (Nomensa)
  37. Gottfried Zimmermann (Invited Expert, Access Technologies Group)

B.2 Other previously active PFWG participants and contributors

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.

B.3 Enabling funders

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.

C. 참고 문서

C.1 표준 참고 문서

[RDFA-CORE]
Shane McCarron et al. RDFa Core 1.1: Syntax and processing rules for embedding RDF through attributes. 7 June 2012. W3C Recommendation. URL: http://www.w3.org/TR/2012/REC-rdfa-core-20120607/
[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Internet RFC 2119. URL: http://www.ietf.org/rfc/rfc2119.txt
[XHTML-MODULARIZATION11-2e]
Shane McCarron. XHTML™ Modularization 1.1 Second Edition. 29 July 2010. W3C Recommendation. URL: http://www.w3.org/TR/2010/REC-xhtml-modularization-20100729
[XHTML-VOCAB]
XHTML 2 Working Group. XHTML Vocabulary. URL: http://www.w3.org/1999/xhtml/vocab
[XML10]
C. M. Sperberg-McQueen et al. Extensible Markup Language (XML) 1.0 (Fifth Edition). 26 November 2008. W3C Recommendation. URL: http://www.w3.org/TR/2008/REC-xml-20081126/
[XML10-4e]
C. M. Sperberg-McQueen et al. Extensible Markup Language (XML) 1.0 (Fourth Edition). 16 August 2006. W3C Recommendation. URL: http://www.w3.org/TR/2006/REC-xml-20060816/

C.2 정보 참고 문서

[HTML5]
Robin Berjon et al. HTML5. 17 December 2012. W3C Candidate Recommendation. URL: http://www.w3.org/TR/html5/
[WAI-ARIA]
James Craig; Michael Cooper et al. Accessible Rich Internet Applications (WAI-ARIA) 1.0. 24 February 2009. W3C Working Draft. URL: http://www.w3.org/TR/2009/WD-wai-aria-20090224
[XML-NAMES11]
Andrew Layman et al. Namespaces in XML 1.1 (Second Edition). 16 August 2006. W3C Recommendation. URL: http://www.w3.org/TR/2006/REC-xml-names11-20060816