또한 참고: 번역본.
Copyright © 2025 World Wide Web Consortium. W3C® liability, trademark and permissive document license rules apply.
이 명세서는 Accessible Rich Internet Applications (WAI-ARIA) 1.2 및 Digital Publishing WAI-ARIA Module 1.0 속성을 [HTML] 요소에 사용하는 저작 규칙(저자 준수 요구사항)을 정의합니다. 이 명세서의 주요 목적은 저자(즉, 웹 개발자)가 사용하는 준수 검사 도구와 함께 사용할 요구사항을 정의하는 것입니다. 이러한 요구사항은 저자가 ARIA를 활용하여 호스트 언어 [HTML]의 기능을 보완하거나 확장하는 맞춤형 인터페이스 및 위젯을 포함한 웹 콘텐츠를 개발하는 데 도움이 됩니다.
이 섹션은 문서가 발행된 시점의 상태를 설명합니다. 현재 W3C 발행 목록과 이 기술 보고서의 최신 개정판은 W3C 표준 및 드래프트 인덱스에서 확인할 수 있습니다.
ARIA in HTML은 [HTML] 명세 모듈입니다. 이 명세 모듈에서 참조하지만 명확하게 정의하지 않은 HTML 기능, 준수 요구사항 또는 용어는 HTML Standard에서 정의됩니다.
이 명세서가 2021년 12월 9일 W3C 권고안이 된 이후, 다음과 같은 실질적인 추가 및/또는 수정이 제안되었습니다:
label 요소가 라벨링 가능한 요소와 연결되어 있지 않을 때 role 및
aria-* 속성 지정 허용.
selectedcontent 요소 추가 및 맞춤형 select 요소 맥락에서
button 요소 허용 사항 업데이트.
html 요소는 generic 요소이며, document 또는
generic 역할은 추천되지 않음.
img 요소에 math 역할을 허용.
image 역할을 img 역할의 권장 동의어로 포함.
hidden 속성과 함께 사용할 때 aria-hidden 허용 명확화.
separator 역할 허용.
img 요소의 허용 사항이 요소가 접근 가능한 이름을 가졌는지 여부에 따라 달라짐.
address 및 hgroup 요소의 허용 사항이
group 역할의 업데이트된 매핑에 따라 변경됨.
aside 요소가 dpub doc-glossary 역할을 허용.
button, input type=button, input type=image
input type=reset, input type=submit 요소의 허용 역할 일치.
s 요소 허용 역할에 role=deletion 사용 시 중복임을 명시.
summary 요소에 조건적으로 허용되는 aria-* 속성과 역할 수정.
li 요소의 역할 허용을 요소의 리스트 조상 관계 유무에 따라 수정.
search 요소 추가.
body 요소에서 aria-hidden=true 금지.
figure 요소 역할 허용에 doc-example 추가.
datalist 요소에 역할 및 aria-* 속성 금지.
aria-checked는 checked 속성을 지원하는 요소에서 사용하지 않음.
nav 요소에 none 및 presentation 역할 허용.
dl 요소의 자식인 경우 div 요소의 역할 허용 제한.
button 요소에 combobox 역할 허용.
input type=button 요소에 combobox 및
checkbox 역할 허용.
li 요소에 doc-biblioentry 및 doc-endnote 역할 허용
변경.
이 역할들은 Digital Publishing WAI-ARIA Module 1.1에서
사용 중단됨.
img alt="some text" 요소에 radio 역할 허용.
wbr 요소에 none 및 presentation 역할만 허용.
br와 wbr 요소에는
aria-hidden 글로벌 속성만 허용.
section 요소에 group 역할 허용.
area 요소(href 없음)에 link 및 button 역할
허용.
picture 요소에 aria-hidden 속성 허용.
문서를 검토하는 사람은 문서에서 스타일링으로 후보 추가 및/또는 수정을 확인할 수 있습니다:
후보 수정 사항은 문서에서 표시됩니다.
후보 추가 사항은 문서에서 표시됩니다.
이 문서는 웹 애플리케이션 워킹 그룹에서 권고안 절차를 통해 권고안으로 발행되었습니다. 이전 권고안 이후 실질적 변경 및 새로운 기능을 도입하는 후보 개정사항이 포함되어 있습니다.
W3C는 이 명세서가 웹 표준으로 널리 배포되기를 권장합니다.
W3C 권고안은 광범위한 합의 형성 후 W3C와 회원의 승인을 받은 명세서이며, 워킹 그룹 구성원이 구현을 위한 로열티 프리 라이선스를 약속합니다. 향후 권고안 업데이트에는 새로운 기능이 포함될 수 있습니다.
후보 추가 사항은 문서에서 표시됩니다.
후보 수정 사항은 문서에서 표시됩니다.
이 문서는 W3C 특허 정책에 따라 운영되는 그룹에서 제작되었습니다. W3C는 공개 특허 공개 목록을 관리합니다. 해당 페이지에는 특허 공개 절차도 포함되어 있습니다. 특정 특허에 대해 실제로 알고 있는 사람이 해당 특허가 필수 청구항(Claims)을 포함한다고 판단하는 경우, W3C 특허 정책 6항에 따라 정보를 공개해야 합니다.
이 문서는 2023년 11월 3일 W3C 프로세스 문서에 의해 관리됩니다.
이 섹션은 규범적이지 않습니다.
ARIA를 사용하면 저자는 네이티브 HTML의 현재 기능을 뛰어넘는 의미론을 지정할 수 있습니다. 이는 저자가 Widget을 만들거나 네이티브 HTML 기능이 단독으로는 불가능한 접근성 상태 및 속성을 노출할 수 있기 때문에 매우 유용합니다.
예를 들어 button 요소에는 "pressed" 상태를 노출하는 네이티브 HTML 기능이 없습니다.
ARIA는 aria-pressed 속성을 지정하여 요소의 의미론을 확장할 수 있도록 하며,
이를 통해 시각적 제어와 일치하는 청각 UI를 구현할 수 있습니다.
다음 예제에서 button 요소는 웹 애플리케이션 내 설정의 상태를 토글할 수 있습니다.
aria-pressed 속성을 사용하여 button 요소를 보강하며, "pressed" 상태가 되면 해당 정보가 보조 기술 사용자에게 노출됩니다.
<button aria-pressed=true>...</button>
특정 aria-* 속성은 특정 role을 가진 요소에서만 사용할 수 있지만,
이에 해당하는 네이티브 HTML 속성은 HTML에서 현재 유효하지 않은 경우도 있습니다.
예를 들어 HTML에는 비활성화된 하이퍼링크(a href 요소)를 직접적으로 표현하는 개념이 없습니다.
<a href="..." disabled> ... </a>와 같은 구문은 유효하지 않으며, 보조 기술에 전달되지 않습니다.
ARIA는 이 부분에서 HTML과 다르며, role=link가 지정된 요소에 aria-disabled 속성을 허용합니다.
저자가 HTML 하이퍼링크에 aria-disabled=true를 지정하면 사용자 에이전트는 해당 하이퍼링크를 기능적으로 다르게 처리하지 않지만(여전히 클릭 가능/작동),
보조 기술에는 비활성화된 상태로 노출됩니다.
마찬가지로 네이티브 HTML option 요소는 select의 자손일 때 selected만 설정할 수 있지만,
명시적으로 option 역할을 가진 요소는 aria-selected 뿐만 아니라 aria-checked 속성도 허용하여,
네이티브 select 요소의 기능을 뛰어넘는 위젯/구문을 지원할 수 있습니다.
이런 경우처럼 ARIA와 HTML이 기능적으로 유사하지만 허용 범위가 다를 때, 지원 불일치나 사용자 경험 불일치가 발생할 수 있습니다. HTML이 지원하지 않는 기능을 ARIA로 구현해야 할 때에는 완전한 ARIA 사용자 위젯으로 직접 구현하는 것이 저자와 사용자 모두에게 더 나은 선택일 수 있습니다.
다음 예제는 하이퍼링크가 비활성화 상태임을 전달해야 하는 경우입니다.
HTML은 하이퍼링크에 disabled 속성 사용을 허용하지 않으며,
aria-disabled=true를 사용하면 보조 기술에는 비활성화 상태로 전달되지만 실제로 요소가 비활성화되지는 않습니다.
하이퍼링크를 실제로 비활성화하고 전달하려면 a 요소에서 href를 제거해 placeholder를 만든 후,
ARIA를 적용하여 의도하는 역할과 상태를 전달하는 것이 가장 효과적입니다.
<a role=link aria-disabled=true>...</a>
이 섹션은 규범적이지 않습니다.
ARIA는 사용자가 노출받을 요소의 역할을 수정하거나 교정할 때 유용합니다. 하지만 button과 같은 대화형 요소를, 일반적으로 비대화형 요소에 노출되는
역할(예: heading)로 덮어쓰는 것은 저자나 사용자 모두에게 거의 이롭지 않습니다.
예를 들어 다음 예제는 button 요소에 role=heading을 사용합니다.
이는 허용되지 않습니다. button 요소는 기본 기능이 있으며, heading 역할에 대한 사용자 기대와 충돌하기 때문입니다.
<button role="heading">search</button>
저자는 button의 기본 기능과 표현을 제거하기 위해 추가적인 조치를 취해야 하며,
그렇게 하더라도 사용자가 웹 페이지를 어떻게 이용하느냐에 따라(예: 윈도우즈 고대비 테마, 브라우저의 리더 모드 등)
요소의 암시적 기능을 완전히 억제할 수 없는 경우가 있습니다.
다음 예제는 button 요소에 명시적으로 role=button을 지정한 경우를 보여줍니다.
이 역할을 지정하는 것은 불필요합니다. "button" 요소는 이미 암시적으로 button 역할이 노출되기 때문입니다.
실제로 이러한 중복은 예기치 않은 부작용 없이 마크업만 불필요하게 장황해지며,
다른 저자에게 잘못된 관행을 전달할 수 있습니다. 불필요한 역할 지정이 문제를 일으킬 수 있는 예제는 3.3
부작용에 유의하기
섹션을 참고하세요.
<!-- 이렇게 하지 마세요! -->
<button role="button">...</button>
마찬가지로 다음은 fieldset 요소에 role=group을, main 요소에
role=Main을 사용합니다.
fieldset 요소는 암시적으로 role=group이 노출되며, main 요소는 암시적으로
role=main이 노출됩니다.
실제로 이러한 선언은 보조 기술 사용자에게 예기치 않은 부작용을 일으키지 않지만, role 값이 ASCII 소문자로 선언되어야 합니다.
자세한 내용은 4.4
ARIA 역할, 상태 및 속성의 대소문자 요구사항을 참고하세요.
<!-- 이렇게 하지 마세요! -->
<fieldset role="group">...</fieldset>
<!-- 또는 이렇게! -->
<main role="Main">...</main>
다음은 ul 요소에 role=list를 사용한 경우입니다.
ul 요소는 암시적으로 list 역할이 있으므로 명시적으로 역할을 추가하는 것은 일반적으로 중복이며 권장되지 않습니다.
하지만 일부 사용자 에이전트는 리스트 마커가 시각적으로 제거된 경우 암시적 ARIA 의미론을 억제합니다.
이런 특정 상황에서 노출이 필요하다면 명시적으로 역할을 추가할 수 있습니다.
<!-- 일반적으로 이렇게 하지 마세요! -->
<ul role="list">...</ul>
다음은 summary 요소에 role=button을 사용한 예제입니다.
이는 불필요하며 크로스 플랫폼 문제를 일으킬 수 있습니다.
예를 들어 요소가 상태를 올바르게 노출하지 못하게 하거나, button 역할을 강제함으로써
플랫폼이나 브라우저 특유의 역할 노출이 방해됩니다.
<details>
<!-- 이렇게 하지 마세요! -->
<summary role="button">more information</summary>
...
</details>
Accessible
Rich Internet Applications (WAI-ARIA) 1.2는 저자가 사용하면 안 되는 여러 역할을 정의합니다.
이 중 많은 역할은 추상 역할로 분류되며, 저자가 사용하지 않도록 명시되어
있습니다.
다음 예제는 추상 select 역할의 잘못된 사용을 보여줍니다. 저자는 실제로 combobox 역할을 사용하려 했을 가능성이 높습니다.
<!-- 이렇게 하지 마세요! -->
<div role="select" ...>...</div>
ARIA는 또한 generic 역할을 정의하는데,
이는 보다 구체적인 ARIA 의미론이 없는 여러 HTML 요소와 기능적 동등성을 제공하기 위함입니다.
예를 들어 HTML의 div와 span 요소 등이 해당합니다.
ARIA는 generic 역할의 사용을 저자에게 권장하지 않으며, 주로 사용자 에이전트 구현자용입니다.
다음 예제에서는 generic 역할을 사용하는 대신 저자는 article 요소 대신 div를 사용하는 것이
바람직합니다.
만약 HTML 요소를 변경할 수 없다면, role=presentation 또는 role=none을 지정하여
article의 암시적 역할을 제거할 수 있습니다.
<!-- 이렇게 하지 마세요! -->
<article role="generic" ...>...</article>
또한 ARIA의 호스트 언어 의미론 충돌 부분에서는 저자가 상태와 속성을 노출하기 위해 네이티브 HTML 기능과 ARIA 속성을 모두 사용하면, 호스트 언어의 기능이 명시적 ARIA 속성보다 우선한다고 명시합니다.
예를 들어 다음 예제에서 저자는 HTML의 input type=checkbox를 사용하며 aria-checked=true도 지정했습니다.
그러나 사용자 에이전트는 aria-checked 속성을 무시해야 하며,
폼 컨트롤의 네이티브 기능에 기반하여 상태를 노출합니다.
<!-- 이렇게 하지 마세요! -->
<input type="checkbox" checked aria-checked="false">
ARIA를 사용하여 HTML 기능이 보조 기술 사용자에게 노출되는 방식을 변경할 수 있지만,
이러한 수정은 HTML의 파싱 및 허용 콘텐츠 모델을 변경하지 않습니다.
예를 들어 div는 어떤 역할이든 지정할 수 있으나,
그렇다고 해서 HTML의 규칙을 벗어나 사용할 수 있는 것은 아닙니다.
예를 들어 다음 예제에서 저자는 div 요소에 role=link를 지정하였습니다.
HTML은 하이퍼링크(role=link)가 p 요소의 자손일 수 있지만,
HTML 파서는 div가 p 요소의 자손이 되는 것을 허용하지 않습니다.
<!-- 이렇게 하지 마세요! -->
<p>
... <div role=link tabindex=0>...</div> ...
</p>
HTML 파서는 위 마크업을 다음과 같이 출력합니다:
<!-- 이전 예제의 마크업은 다음처럼 렌더링됩니다 -->
<p>...</p>
<div role=link tabindex=0>...</div>
...
<p></p>
<!-- div 대신 span 사용. span은 p 요소의 허용 자손입니다! -->
<p>
... <span role=link tabindex=0>...</span> ...
</p>
본 명세서는 각 HTML 요소에 지정 가능한 ARIA 속성을 명시하지만, 역할이 허용되더라도 사용 맥락에 따라 렌더링 및 접근성 문제가 발생할 수 있음을 보여줍니다.
아래 표는 HTML 문서에서 ARIA 마크업 사용에 대한 요소별 규범적 문서 준수 요구사항을 제공합니다. 또한 암시적 ARIA 의미론이 적용되는 HTML 요소를 식별합니다. 이 요소들의 암시적 ARIA 의미론은 HTML AAM에서 정의됩니다.
첫 번째 열에 있는 각 언어 기능(요소)은 동일 행의 두 번째 열에 있는 ARIA 의미론(역할, 상태, 속성)을 암시합니다.
각 행의 세 번째 열은 저자가 해당 요소에 MAY 지정할 수 있는 ARIA role 값과 aria-*
속성을 정의합니다. 세 번째 열에 Any role이 포함되어 있으면, 해당 요소에 어떤 role
값도 MAY 사용할 수 있음을 의미합니다. 하지만 저자가 요소의 암시적 역할,
generic 역할, 또는 ARIA에서 사용 중단된 역할을 지정하는 것은 NOT RECOMMENDED입니다.
세 번째 열에 No
role이 포함되어 있으면, 저자는 HTML 요소의 암시적 ARIA 의미론이나 네이티브 의미론을 덮어써서는 MUST NOT 안 됩니다.
WAI-ARIA는 금지된 상태와 속성을 가진 역할을 정의합니다. 이러한 역할은 특정 WAI-ARIA 속성을 저자가 지정할 수 없습니다. 해당 암시적 WAI-ARIA 역할을 노출하는 HTML 요소도 저자가 해당 WAI-ARIA 속성을 지정하는 것을 금지합니다.
이름 지정 금지(Naming
prohibited)로 식별된 요소는 저자가 MUST
NOT aria-label 또는 aria-labelledby 속성을 지정해서는 안 됩니다. 단, 해당 요소가 암시적 역할을
저자가 이름 지정이 가능한 명시적 WAI-ARIA 역할로 덮어쓰는 경우는 예외입니다. 더 자세한 정보는 4.1
요소 명명에 ARIA 속성 사용을 위한 요구사항을 참고하세요.
ARIA role 및 aria-* 속성을 암시적 ARIA 의미론과 일치하도록 지정하는 것은 NOT RECOMMENDED이지만, 어떤 경우에는 이러한 속성을 명시적으로 지정하는 것이 도움이 될 수 있습니다. 예를 들어, 특정 요소에
대해 암시적 ARIA 의미론을 노출하지 않는 사용자 에이전트의 경우입니다.
다음 표에 제시된 대로 Digital Publishing WAI-ARIA Module 1.0
role 값을 사용하는 것은 준수에 해당하지만, 이러한 역할은 웹사이트 구현용이 아닙니다. 디지털 출판 산업의 범위를 넘어 이 역할을 사용할 경우, 의도한 사용자
경험을 제공하기 위해 추가적인 수동 테스트가 필요합니다.
| HTML 요소 |
암시적 ARIA 의미론 (마크업에서 이를 명시적으로 지정하는 것은 권장하지 않음(NOT RECOMMENDED)) |
ARIA 역할, 상태 및 속성 허용 범위 |
|---|---|---|
a
와 함께
href
|
role=link
|
역할:
DPub 역할:
글로벌
참고
링크를 프로그램적으로 "비활성화됨"으로 전달해야 하는 경우,
href 속성을
제거하세요.
|
a
에
href
없음
|
role=generic
|
모든
그 외에는, 글로벌
|
abbr
|
해당 역할 없음(No corresponding role) |
그 외에는, 글로벌
|
address
|
role=group
|
모든
그 외에는, 글로벌
|
area
와 함께
href
|
role=link
|
글로벌 |
area
에
href
없음
|
role=generic
|
역할:
그 외에는, 글로벌
|
article
|
role=article
|
역할:
글로벌 |
aside
|
role=complementary
|
역할:
DPub 역할:
글로벌 |
audio
|
해당 역할 없음(No corresponding role) |
역할:
글로벌 |
| 독립형 커스텀 요소 |
작성자가 정의한
그렇지 않다면 |
그렇지 않다면, 모든
이름 지정 금지 (
그 외에는, 글로벌
|
b
|
role=generic
|
모든
그 외에는, 글로벌
|
base
|
해당 역할 없음(No corresponding role) |
|
bdi
|
role=generic
|
모든
그 외에는, 글로벌
|
bdo
|
role=generic
|
모든
그 외에는, 글로벌
|
blockquote
|
role=
|
모든
글로벌 |
body
|
role=generic
|
그 외에는, 글로벌
|
br
|
해당 역할 없음(No corresponding role) |
역할:
작성자는 MAY |
button
|
|
역할:
글로벌
|
canvas
|
해당 역할 없음(No corresponding role) |
글로벌 |
caption
|
role=
|
그 외에는, 글로벌
|
cite
|
해당 역할 없음(No corresponding role) |
그 외에는, 글로벌
|
code
|
role=
|
모든
그 외에는, 글로벌
|
col
|
해당 역할 없음(No corresponding role) |
|
colgroup
|
해당 역할 없음(No corresponding role) |
|
data
|
role=generic
|
모든
그 외에는, 글로벌
|
datalist
|
role=listbox
|
|
dd
|
해당 역할 없음(No corresponding role) |
글로벌 |
del
|
role=
|
모든
그 외에는, 글로벌
|
details
|
role=group
|
글로벌 |
dfn
|
role=term
|
모든
글로벌 |
dialog
|
role=dialog
|
역할:
글로벌 |
div
|
role=generic
|
그 외에는, 글로벌
|
dl
|
해당 역할 없음(No corresponding role) |
역할:
글로벌 |
dt
|
해당 역할 없음(No corresponding role) |
역할:
글로벌 |
em
|
role=
|
모든
그 외에는, 글로벌
|
embed
|
해당 역할 없음(No corresponding role) |
역할:
글로벌 |
fieldset
|
role=group
|
역할:
글로벌 |
figcaption
|
해당 역할 없음(No corresponding role) |
역할:
그 외에는, 글로벌
|
figure
|
role=figure
|
DPub 역할:
반대로,
글로벌 |
footer
|
그렇지 않으면, |
역할:
DPub 역할:
이름 지정 금지 (
그 외에는, 글로벌
|
form
|
|
역할:
글로벌 참고
|
| 폼 연관 커스텀 요소 |
작성자가 정의한
그렇지 않다면 |
그렇지 않다면, 폼 관련 역할:
이름 지정 금지 (
그 외에는, 글로벌
|
h1 to h6
|
role=heading,
aria-level = 요소 태그 이름의 숫자
|
역할:
DPub 역할:
글로벌 |
head
|
해당 역할 없음(No corresponding role) |
|
header
|
그렇지 않으면 |
역할:
이름 지정 금지 (
그 외에는, 글로벌
|
hgroup
|
role=group
|
모든
그 외에는, 글로벌
|
hr
|
role=separator
|
역할:
DPub 역할:
글로벌 |
html
|
role=generic
|
|
i
|
role=generic
|
모든
그 외에는, 글로벌
|
iframe
|
해당 역할 없음(No corresponding role) |
역할:
글로벌 |
img에 비어 있지 않은
alt
(alt="some text")가 있거나 다른
img
이름 지정 방법으로 접근 가능한 이름이 제공된 경우,
또는 img에 alt가 없고 이름이 제공되지 않은 경우:role=img or image
|
역할:
DPub 역할:
글로벌 |
|
img
에 접근 가능한 이름 없음
|
|
그 외에, |
input type=button
|
role=button
|
역할:
글로벌 |
input type=checkbox
|
role=checkbox
|
역할:
작성자는 MUST NOT
그 외에는, 모든 글로벌
참고
HTML의
|
input type=color
|
해당 역할 없음(No corresponding role) |
글로벌 |
input type=date
|
해당 역할 없음(No corresponding role) |
글로벌 |
input type=datetime-local
|
해당 역할 없음(No corresponding role) |
글로벌 |
input type=email
에
list
속성 없음
|
role=textbox
|
글로벌 |
input type=file
|
해당 역할 없음(No corresponding role) |
글로벌 |
| 해당 역할 없음(No corresponding role) |
|
|
input type=image
|
role=button
|
다음 역할은 허용되지만 권장하지 않음(NOT RECOMMENDED):
글로벌
가능하다면, 작성자는 지정하려는 역할을 허용하는 다른 HTML 요소(예: |
input type=month
|
해당 역할 없음(No corresponding role) |
글로벌 |
input type=number
|
role=spinbutton
|
글로벌 |
input type=password
|
해당 역할 없음(No corresponding role) |
글로벌 |
input type=radio
|
role=radio
|
역할:
작성자는 MUST NOT
그 외에는, 모든 글로벌
참고
HTML의
|
input type=range
|
role=slider
|
작성자는 SHOULD NOT
그 외에는, 모든
글로벌 |
input type=reset
|
role=button
|
|
input type=search,
에
list
속성 없음
|
role=searchbox
|
글로벌 |
input type=submit
|
role=button
|
|
input type=tel,
에
list
속성 없음
|
role=textbox
|
글로벌 |
input type=text
또는 type 누락/잘못된 경우, 그리고
list
속성 없음
|
role=textbox
|
역할:
글로벌 |
input type=text,
search,
tel,
url,
email,
또는 type 누락/잘못된 경우,
list
속성 있음
|
role=combobox
|
작성자는
그 외에는, 모든
글로벌 |
input type=time
|
해당 역할 없음(No corresponding role) |
글로벌 |
input type=url
에
list
속성 없음
|
role=textbox
|
글로벌 |
input type=week
|
해당 역할 없음(No corresponding role) |
글로벌 |
ins
|
role=
|
모든
그 외에는, 글로벌
|
kbd
|
해당 역할 없음(No corresponding role) |
그 외에는, 글로벌
|
label
|
해당 역할 없음(No corresponding role) |
그렇지 않고 이름 지정 금지 (
그 외에는, 글로벌
|
legend
|
해당 역할 없음(No corresponding role) |
그 외에는, 글로벌
|
li
|
그렇지 않고 |
부모 목록 요소가 암시적 또는 명시적으로
그 외에는, 부모 목록 요소가 암시적 또는 명시적으로
글로벌 작성자는 다음의 폐기된(deprecated) DPub 역할을 사용하지 않아야 함(SHOULD NOT):
|
link
|
해당 역할 없음(No corresponding role) |
|
main
|
role=main
|
글로벌 |
map
|
해당 역할 없음(No corresponding role) |
|
mark
|
해당 역할 없음(No corresponding role) |
그 외에는, global
|
math
|
role=math
|
글로벌 |
menu
|
role=list
|
역할:
글로벌 작성자는 폐기된(deprecated) |
meta
|
해당 역할 없음(No corresponding role) |
|
meter
|
role=
|
작성자는
그 외에는,
모든 글로벌 |
nav
|
role=navigation
|
역할:
DPub 역할:
글로벌 |
noscript
|
해당 역할 없음(No corresponding role) |
|
object
|
해당 역할 없음(No corresponding role) |
역할:
글로벌 |
ol
|
role=list
|
역할:
글로벌 작성자는 폐기된(deprecated) |
optgroup
|
role=group
|
글로벌 |
option
요소가 옵션 목록에 있거나
제안을 나타내는
datalist의
일부인 경우
|
role=option
|
작성자는
글로벌 |
output
|
role=status
|
모든
글로벌 |
p
|
role=
|
모든
그 외에는, global
|
param
|
해당 역할 없음(No corresponding role) |
|
picture
|
해당 역할 없음(No corresponding role) |
작성자는 |
pre
|
role=generic
|
모든
그 외에는, global
|
progress
|
role=progressbar
|
작성자는
그 외에는,
모든 글로벌 |
q
|
role=generic
|
모든
그 외에는, global
|
rp
|
해당 역할 없음(No corresponding role) |
글로벌 |
rt
|
해당 역할 없음(No corresponding role) |
그 외에는, global
|
ruby
|
해당 역할 없음(No corresponding role) |
글로벌 |
s
|
role=
|
모든
그 외에는, global
|
samp
|
role=generic
|
모든
그 외에는, global
|
script
|
해당 역할 없음(No corresponding role) |
|
search
|
|
역할:
글로벌 |
section
|
그렇지 않으면, |
역할:
DPub 역할:
글로벌 |
select
(multiple 속성이 없고 size 속성 값이 1보다 크지 않은 경우)
|
role=combobox
|
역할:
작성자는
그 외에는,
모든 글로벌 |
select
(multiple 속성이 있거나 size 속성 값이 1보다 큰 경우)
|
role=listbox
|
작성자는
그 외에는,
모든 글로벌 |
selectedcontent
|
role=generic
|
유효한
그 외에는, 해당 요소가 사용자 정의 가능한
그 외에는, 글로벌
|
slot
|
해당 역할 없음(No corresponding role) |
|
small
|
role=generic
|
모든
그 외에는, 글로벌
|
source
|
해당 역할 없음(No corresponding role) |
|
span
|
role=generic
|
모든
그 외에는, 글로벌
|
strong
|
role=
|
모든
그 외에는, 글로벌
|
style
|
해당 역할 없음(No corresponding role) |
|
sub
|
role=
|
모든
그 외에는, 글로벌
|
summary
|
해당 역할 없음(No corresponding role) 참고
많은(하지만 전부는 아님) 사용자 에이전트는
summary 요소를 암시적 ARIA
role=button으로 노출합니다.
|
글로벌
그 외에는, 작성자는 MAY 임의의
|
sup
|
role=superscript
|
모든
그 외에는, 글로벌
|
SVG
|
role=graphics-document (SVG AAM에서 정의)
|
모든
글로벌 |
table
|
role=table
|
모든
글로벌 |
tbody
|
role=rowgroup
|
모든
글로벌 |
td
|
조상
조상
조상 |
조상
그렇지 않고 조상
글로벌 |
template
|
해당 역할 없음(No corresponding role) |
|
textarea
|
role=textbox
|
글로벌 |
tfoot
|
role=rowgroup
|
모든
글로벌 |
th
|
조상
조상
조상 |
조상
그렇지 않고 조상
글로벌 |
thead
|
role=rowgroup
|
모든
글로벌 |
time
|
role=time
|
모든
그 외에는, 글로벌
|
title
|
해당 역할 없음(No corresponding role) |
|
tr
|
role=row
|
조상
글로벌 |
track
|
해당 역할 없음(No corresponding role) |
|
u
|
role=generic
|
모든
그 외에는, 글로벌
|
ul
|
role=list
|
역할:
글로벌
작성자는 폐기된(deprecated)
|
var
|
해당 역할 없음(No corresponding role) |
그 외에는, 글로벌
|
video
|
해당 역할 없음(No corresponding role) |
역할:
글로벌 |
wbr
|
해당 역할 없음(No corresponding role) |
역할:
작성자는 |
표의 두 번째 열에 해당 역할
없음(No corresponding role)으로 표시된 요소들은
암시적 ARIA 의미론을 갖지
않지만,
고유한 의미는 있으며 이러한 의미는 ARIA가 제공하지 않는 역할, 상태 및 속성으로 표현될 수 있고,
접근성 API를 통해 보조 기술 사용자에게 노출될 수 있습니다.
따라서 나열된 요소들의 의미를 재정의하기보다는,
의미적으로 중립적인
div
또는
span
같은 요소에 role 속성을 추가하는 것을 권장합니다.
저자들은 본 문서에서 제공하는 내용을 넘어, HTML에서 ARIA를 사용하는 방법에 대한 지침으로 다음 문서를 활용하는 것이 권장됩니다:
저자들은 MAY
aria-label 및
aria-labelledby
속성을 사용하여, 저자에 의한 이름 지정을 허용하는 암시적 또는 명시적 ARIA 역할을 가진 요소의
접근 가능한 이름을 지정할 수 있습니다.
Accessible
Rich Internet Applications (WAI-ARIA)
1.2는
저자에 의한 이름 지정을 허용하는 역할과
저자에 의한 이름 지정을 금지하는 역할을 정의합니다.
저자들은 MUST NOT
이름을 지정할 수 없는 암시적 WAI-ARIA 역할을 가진 요소에 aria-label 또는
aria-labelledby를 지정해서는 안 됩니다.
저자에 의한 이름 지정을 금지하는 암시적 WAI-ARIA 역할을 가진 HTML 요소는
4.
HTML에서 ARIA 속성 사용에 대한 문서 적합성 요건에 식별되어 있습니다.
다음 마크업 예시는 저자에 의한 이름 지정을 금지하는 암시적 ARIA 역할을 가진 HTML 요소들의 일부를 보여줍니다.
<!-- DO NOT do the following! -->
<p aria-label="...">...</p>
<span aria-label="...">...<span>
<code aria-label="...">...<code>
<div aria-labelledby="...">...</div>
다음 마크업 예시는 저자에 의한 이름 지정을 허용하는 명시적 WAI-ARIA 역할을 가진 요소들을 보여줍니다.
이러한 요소에 명시적 역할이 지정되어 있으므로, aria-label 및
aria-labelledby 속성 사용이 허용됩니다.
<p role="link" tabindex="0" aria-label="...">...</p>
<span role="button" tabindex="0" aria-label="...">...<span>
<div role="article" aria-labelledby="...">...</div>
달리 명시되지 않는 한, 저자들은 MAY HTML 요소에서 해당 aria-* 의미론이
기대되는 경우, 동등한 HTML 속성 대신 aria-* 속성을 사용할 수 있습니다.
예를 들어, 저자들은 MAY
aria-disabled=true를
button
요소에 지정하고, disabled 속성 대신에 버튼을 기능적으로 비활성화하기 위한 필요한 스크립팅을
구현할 수 있습니다.
WAI-ARIA의 호스트 언어 의미론과의 충돌에
명시된 바와 같이, HTML 요소가 aria-* 속성과 호스트 언어(HTML)의 동등 속성을
동시에 사용하는 경우, 사용자 에이전트는 MUST WAI-ARIA 속성을 무시합니다 —
동일한 암시적 ARIA
의미론을 가진
네이티브 HTML 속성이 우선합니다. 이러한 이유로, 저자들은 SHOULD NOT
하나의 요소에 네이티브 HTML 속성과 동등한 aria-* 속성을 모두 지정하지 않아야 합니다.
각 속성에 대한 저자 요건을 추가로 검토하십시오.
다음 표는 aria-* 속성과 동등성이 있는 HTML 요소 및 해당 속성들을 나타냅니다.
첫 번째 열의 각 셀(언어 기능: 요소와 속성)은 같은 행의 두 번째 셀에 주어진
ARIA 의미론(상태 및 속성)을 내포합니다. 각 행의 세 번째 셀은
네이티브 HTML 기능을 사용하는 방법과, 동일한
암시적 ARIA
의미론을 제공하는 aria-* 속성 사용 요건을 정의합니다.
| HTML 기능 |
암시적 ARIA 의미론 |
HTML 기능 및 aria-* 속성 저자 가이드
|
|---|---|---|
checked
속성을 허용하는 모든 요소
|
aria-checked="true"
|
HTML에서
저자들은 MUST NOT
저자들은 MAY 해당 속성을 허용하는 WAI-ARIA 역할을 가진 다른 어떤 요소에도
|
disabled
속성을 허용하는 모든 요소. 다음을 포함:
option
disabled
및
optgroup
disabled
|
aria-disabled="true"
|
HTML에서
저자들은 MAY
저자들은 SHOULD NOT
저자들은 MUST NOT
|
placeholder
속성을 허용하는 모든 요소
|
aria-placeholder="..."
|
HTML에서
저자들은 MAY
저자들은 MUST NOT
|
max 속성을 허용하는 모든 요소:
meter
max,
progress
max,
및 input
max
|
aria-valuemax="..."
|
HTML에서
저자들은 MAY
저자들은 SHOULD NOT
저자들은 MUST NOT
|
min 속성을 허용하는 모든 요소:
meter
min
및 input
min
|
aria-valuemin="..."
|
HTML에서
저자들은 MAY
저자들은 SHOULD NOT
저자들은 MUST NOT
|
readonly 속성을 허용하는 모든 요소:
input
readonly,
textarea
readonly
및 폼
연관
커스텀 요소(다음 속성을 허용하는 경우:
readonly)
|
aria-readonly="true"
|
HTML에서
저자들은 MAY
저자들은 SHOULD NOT
저자들은 MUST NOT
|
|
참고
이는
|
aria-readonly="false"
|
저자들은 MUST NOT
isContentEditable="true"인 요소에 aria-readonly="true"를
설정해서는 안 됩니다.
|
required 속성을 허용하는 모든 요소:
input
required,
textarea
required,
및 select
required
|
aria-required="true"
|
HTML에서
저자들은 MAY
저자들은 SHOULD NOT
저자들은 MUST NOT
|
colspan
속성을 허용하는 모든 요소: td, th
|
aria-colspan="..."
|
HTML에서
저자들은 SHOULD NOT
저자들은 MUST NOT
|
rowspan
속성을 허용하는 모든 요소:
td, th
|
aria-rowspan="..."
|
HTML에서
저자들은 SHOULD NOT
저자들은 MUST NOT
|
ARIA 명세의 Deprecated Requirements 절은, 어떤 ARIA 기능이 사용 중단으로 표시된 경우 새로운 콘텐츠에서 해당 기능을 사용하지 말 것을 저자에게 권고합니다.
다음 역할과 속성은 ARIA 및 DPub ARIA의 사용 중단 기능입니다. 적합성 검사 도구는 이러한 기능의 사용 중단 상태에 대해 저자에게 MUST 경고해야 합니다. 가능한 경우, 저자에게는 사용 중단 기능의 대안을 사용할 것을 권장합니다.
directory 역할은 WAI-ARIA
1.2에서 사용 중단 예정으로 표시되어 있습니다. 실제로 directory 역할은
암시적 또는 명시적으로 list 역할을 갖는 요소와 기능적 차이가 없습니다. 저자들은 HTML의 기본 목록 요소 중 하나
또는 ARIA의 list를 사용하는 것이 권장됩니다.
doc-biblioentry와 doc-endnote 역할은
Digital Publishing WAI-ARIA Module
1.1에서 사용 중단 예정으로 표시되어 있는데,
이는 이들이 암시적 또는 명시적으로 list 역할을 가진 요소의 유효한 자식이 아니기 때문입니다.
저자들은 이러한 역할 없이 표준 목록과 자식 li 요소를 사용할 수 있습니다.
aria-dropeffect와 aria-grabbed 특성은
WAI-ARIA
1.1에서 사용 중단되었습니다. 현재 이들이 제안했던 기능을 대체할 ARIA 기능은 없습니다.
저자들은 SHOULD 모든 role 토큰 값과,
값이 토큰으로 정의된
상태 또는 속성(aria-*) 특성에 대해
ASCII 소문자를 사용해야 합니다.
최신 브라우저는 role 또는 aria-* 특성 값을
ASCII 대소문자
구분 없음으로 처리하지만,
모든 보조 기술이 이러한 값을 올바르게 파싱하는 것은 아닙니다.
상호 운용성 문제를 줄이기 위해, 저자들은 aria-* 및 role 특성 값에
ASCII 소문자 사용을
강력히 권장합니다.
더불어, 다양한 브라우저와 보조 기술 조합으로 엄격히 테스트하여
콘텐츠가 사용자에게 올바르게 노출되는지 확인하는 것이 바람직합니다.
이 절은 비규범적입니다.
다음 표는 [HTML] 규격에 정의된
Kinds of content 및 허용된 하위 요소
정보를 동일한 role을 갖는 요소에 매핑(및 확장)합니다.
1열은 각 ARIA role에 대한 규범적 정의(Accessible Rich Internet Applications (WAI-ARIA)
1.2)로 연결됩니다.
2열은 HTML 요소에서 해당 role이 사용될 때 가지는 Kinds of
content
범주를 식별합니다.
3열은 명시적인 role이 지정된 요소의 하위로 올 수 있는 HTML 요소 유형을 나타내며,
종종 동일한 암시적 역할을 가진 HTML 요소와 일치합니다.
예를 들어,
button
요소는 암시적으로 role=button을 가집니다.
HTML에서 button 요소는 하위로 Phrasing content를 허용하며,
Interactive content나
tabindex 속성을 가진 하위 요소는 허용하지 않습니다. 따라서 role=button이 지정된
모든 요소도 동일한 하위 요소 제한을 따르며, 대화형 콘텐츠 하위 요소,
tabindex가 지정된 요소, 또는 3열에 식별된 대화형 콘텐츠 범주의 역할 값을 가진
요소들을 하위로 허용하지 않습니다.
<!-- 적합성 검사기는 오류를 보고합니다 -->
<button>
<div role="button">...</div>
</button>
<div role="button">
<button>...</button>
</div>
<div role="link">
<textarea>...</textarea>
</div>
또한 Accessible Rich Internet Applications (WAI-ARIA) 1.2에서 특정 하위 요소 요구 사항을 지정한 역할들이 있습니다. 이러한 역할은 3열(하위 요소 허용 범위)에서 해당 역할에 대해 "Required Owned Elements"를 참조하도록 표시되어 있습니다.
비규범적(비표준)으로 표시된 섹션과 마찬가지로, 이 명세에 있는 모든 작성 가이드라인, 다이어그램, 예제 및 주석 또한 비규범적입니다. 이 명세의 그 외 모든 내용은 규범적입니다.
본 문서에서 MAY, MUST, MUST NOT, NOT RECOMMENDED, SHOULD, SHOULD NOT이라는 주요 단어는 BCP 14 [RFC2119] [RFC8174] 에서 설명된 대로, 오직 모두 대문자로 표시된 경우에만 그 의미로 해석해야 합니다.
HTML 문서에서 ARIA 검사를 지원한다고 주장하는 준수 검사기는
MUST 이 명세에 정의된 대로 role 및 aria-* 속성의 준수 요구사항 검사를 구현해야
합니다.
HTML 요소에 대해
검사합니다.
준수하는 문서는 MUST NOT 이 명세에 따라 저자가 각
HTML 요소에 사용할 수
있는 값이 아닌
값으로 작성자가 정의한 role 또는 aria-* 속성이 포함되어서는 안 됩니다.
준수 검사기는 SHOULD 저자가
암시적 ARIA 의미론과 일치하는
role을 명시적으로 지정한 경우
실패로 표시해야 하며,
이는 저자가 이러한 역할을 명시적으로 설정하는 것이 NOT RECOMMENDED이기 때문입니다.
준수 검사기는 문서가 본 명세를 준수하지 않을 때, 자체 용어 및 심각도 수준을 정의할 수 있습니다(MAY).
이 절은 비규범적입니다.
이 명세는 [wai-aria-1.2], [dpub-aria-1.0] 또는 [HTML]의 기능을 정의하지 않습니다. 대신, HTML에서 ARIA 검사 지원을 주장하는 준수 검사기 및 저자에게 가이드라인과 규칙을 제공합니다.
따라서, 이 명세는 새로운 기능을 정의하지 않으므로, 현재 알려진 개인정보 보호 또는 보안 영향이 없습니다.
Referenced in:
Referenced in:
Referenced in:
Referenced in: