또한 참고: 번역본.
Copyright © 2026 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.1 속성을 [HTML] 요소에서 사용할 때의 작성 규칙(작성자 준수 요구사항)을 정의합니다. 이 명세의 주요 목적은 작성자(즉, 웹 개발자)가 사용하는 준수 검사 도구에서 적용할 요구사항을 정의하는 것입니다. 이러한 요구사항은 ARIA를 사용하여 호스트 언어 [HTML]의 기능을 보완하거나 확장하는 맞춤형 인터페이스 및 위젯을 포함한 웹 콘텐츠 개발에 있어 작성자에게 도움을 줍니다.
이 절에서는 발행 당시 이 문서의 상태를 설명합니다. 현재 W3C 발행물 목록과 이 기술 보고서의 최신 개정판은 W3C 표준 및 초안 색인에서 확인할 수 있습니다.
HTML의 ARIA는 [HTML] 명세 모듈입니다. 이 명세 모듈에서 참조하지만 명시적으로 정의하지 않은 모든 HTML 기능, 적합성 요구사항 또는 용어는 HTML 표준에서 정의합니다.
이 명세가 2021년 12월 09일 W3C 권고안이 된 이후 다음과 같은 실질적인 변경 사항이 적용되었습니다:
summary 요소의 역할과 속성을 명확히 합니다.
role 및
aria-* 속성을 지정할 수 있도록 label 요소를
업데이트합니다.
selectedcontent 요소를 추가하고, 맞춤형
select 요소의 맥락에서 사용될 때 button 요소에
허용되는 사항을 업데이트합니다.
html 요소가 generic 요소이며,
해당
요소에 document 역할과 generic 역할 중 어느 것도 사용하지 않는 것이
권장됨을 명확히 합니다.
math 역할을 허용하도록 img 요소를 업데이트합니다.
img 역할보다 선호되는 동의어로 image 역할을 포함하도록 업데이트합니다.
hidden 속성과 함께 사용할 때 aria-hidden의 허용 사항을 명확히 합니다.
separator 역할을 허용하도록 button 요소와 input type=button,image,reset,submit 요소를
업데이트합니다.
img 요소의
허용 사항을 업데이트합니다.
group 역할로 업데이트된 매핑에 따라 address 및 hgroup 요소의 허용 사항을
업데이트합니다.
doc-glossary 역할을 허용하도록 aside 요소를
업데이트합니다.
button, input type=button, input type=image
input type=reset 및 input type=submit 요소를 업데이트합니다.
role=deletion을 사용하는 것이 중복으로 간주됨을 나타내도록
s 요소에 허용되는 역할을 업데이트합니다.
summary 요소에 허용되는 aria-* 속성과 역할을
조건부로 개정합니다.
li 요소에
허용되는 역할을 업데이트합니다.
search 요소가 추가되었습니다.
body 요소에서 aria-hidden=true을 허용하지 않습니다.
doc-example을 포함하도록 figure 요소에 허용되는 역할을 업데이트합니다.
datalist 요소에서 역할과 aria-* 속성을
허용하지 않습니다.
checked 속성을 지원하는 요소에 aria-checked를
사용해서는 안 됩니다.
nav
요소에 none 및 presentation 역할을 허용합니다.
dl 요소의 자식인 경우 div 요소에
허용되는 역할을 제한합니다.
button 요소에 combobox 역할을 허용합니다.
input type=button 요소에
combobox 및 checkbox 역할을 허용합니다.
li 요소에 허용되는 doc-biblioentry 및
doc-endnote 역할을 변경합니다.
이러한 역할은 디지털
출판 WAI-ARIA 모듈 1.1에서 사용이 중단되었습니다.
img alt="some text" 요소에 radio 역할을 허용합니다.
wbr
요소에는 none 및 presentation 역할만 허용합니다.
br 및 wbr 요소에는
aria-hidden 전역 속성만 허용합니다.
section 요소에 group 역할을 허용합니다.
href가 없는 area
요소에 link 및 button 역할을 허용합니다.
picture 요소에 aria-hidden 속성을 허용합니다.
이 명세에 적용된 전체 변경 사항 목록(정보 제공 및 편집상 업데이트 포함)은 GitHub에서 종료된 모든 풀 리퀘스트를 참조하십시오.
이 문서는 접근 가능한 리치 인터넷 애플리케이션 워킹 그룹이 권고안 트랙을 사용하여 권고안으로 발행했습니다.
W3C는 이 명세를 웹 표준으로 널리 배포할 것을 권고합니다.
W3C 권고안은 광범위한 합의 형성 후 W3C와 그 회원이 승인하고, 워킹 그룹 회원이 구현에 대해 로열티 없는 라이선스를 제공하기로 약정한 명세입니다. 이 권고안의 향후 업데이트에는 새로운 기능이 포함될 수 있습니다.
이 문서는 W3C 특허 정책에 따라 운영되는 그룹에서 작성했습니다. W3C는 그룹의 산출물과 관련하여 이루어진 모든 특허 공개의 공개 목록을 유지합니다. 해당 페이지에는 특허 공개 지침도 포함되어 있습니다. 자신이 알고 있는 특허에 필수 청구항이 포함되어 있다고 믿는 개인은 W3C 특허 정책 제6절에 따라 정보를 공개해야 합니다.
이 문서는 2025년 8월 18일 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으로 노출되기 때문입니다.
<!-- 이렇게 하지 마십시오! -->
<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 시맨틱
(역할, 상태 및 속성)을 암시합니다.
각 행의 세 번째 셀은 작성자가 요소에 지정할 수 있는 ARIA role 값과
aria-* 속성을 정의합니다. 세 번째 열의 셀에 모든 role이라는 용어가
포함된 경우, 요소에 모든 role 값을 사용할 수 있음을 나타냅니다. 그러나
작성자가 이러한 요소에 해당 요소의 암시적 역할, generic 역할 또는
ARIA에서 사용 중단된 역할을 지정하는 것은
권장되지 않습니다.
세 번째 열의 셀에 role 없음이라는 용어가 포함된 경우,
작성자가 암시적 ARIA 시맨틱이나 HTML 요소의 네이티브 시맨틱을
덮어써서는 안 됨을 나타냅니다.
WAI-ARIA는 금지된 상태 및 속성이 있는 역할을 식별합니다. 이러한 역할에서는 작성자가 특정 WAI-ARIA 속성을 지정할 수 없습니다. 이러한 암시적 WAI-ARIA 역할을 노출하는 HTML 요소에서도 작성자가 해당 WAI-ARIA 속성을 지정할 수 없습니다.
이름 지정 금지로 식별된
요소는, 작성자가 지정한 이름을 허용하는 명시적
WAI-ARIA 역할로 해당 요소의 암시적 역할을 덮어쓸 수 있는 경우를 제외하고, 작성자가
aria-label 또는 aria-labelledby 속성을 지정해서는 안 되는
요소입니다. 자세한 내용은 4.1
요소의 이름을 지정하기 위한 ARIA 속성 사용 요구사항을 참조하십시오.
암시적 ARIA 시맨틱과 일치하는 ARIA role 및/또는 aria-* 속성을
설정하는 것은 권장되지 않지만, 일부 상황에서는 이러한 속성을 명시적으로 설정하는 것이
도움이 될 수 있습니다. 예를 들어,
특정 요소의 암시적 ARIA 시맨틱을 노출하지 않는 사용자 에이전트에 도움이 됩니다.
다음 표에 설명된 대로 디지털 출판 WAI-ARIA 모듈 1.1
role 값을 사용하는 것은 적합하지만, 이러한 역할의 사용은
웹사이트 구현을 위한 것이 아닙니다. 디지털 출판
업계의 범위를 벗어난 목적으로 이러한 역할을 사용하는 경우 의도한 경험이 사용자에게 제공되는지 확인하기 위해
추가적인 수동 테스트가 필요합니다.
| HTML 요소 |
암시적 ARIA 의미론 (마크업에서 이를 명시적으로 지정하는 것은 권장하지 않음(NOT RECOMMENDED)) |
ARIA 역할, 상태 및 속성 허용 범위 |
|---|---|---|
a
및
href
|
role=link
|
역할:
DPub 역할:
전역
참고
링크를 프로그래밍 방식으로 "비활성화됨"으로 전달해야 하는 경우
href
속성을 제거한다.
|
a
및
href
없음
|
role=generic
|
모든
그 외에는 전역
|
abbr
|
대응하는 역할 없음 |
그 외에는 전역
|
address
|
role=group
|
그 외에는 전역
|
area
및
href
|
role=link
|
전역 |
area
및
href
없음
|
role=generic
|
역할:
그 외에는 전역
|
article
|
role=article
|
역할:
전역 |
aside
|
role=complementary
|
역할:
DPub 역할:
전역 |
audio
|
대응하는 역할 없음 |
역할:
전역 |
| 자율 사용자 정의 요소 |
작성자가 정의한
그 외에는 |
그 외에는 모든
그 외에는 전역
|
b
|
role=generic
|
모든
그 외에는 전역
|
base
|
대응하는 역할 없음 |
|
bdi
|
role=generic
|
모든
그 외에는 전역
|
bdo
|
role=generic
|
모든
그 외에는 전역
|
blockquote
|
role=
|
모든
전역 |
body
|
role=generic
|
그 외에는 전역
|
br
|
대응하는 역할 없음 |
역할:
작성자는 |
button
|
|
역할:
전역
|
canvas
|
대응하는 역할 없음 |
전역 |
caption
|
role=
|
그 외에는 전역
|
cite
|
대응하는 역할 없음 |
그 외에는 전역
|
code
|
role=
|
그 외에는 전역
|
col
|
대응하는 역할 없음 |
|
colgroup
|
대응하는 역할 없음 |
|
data
|
role=generic
|
모든
그 외에는 전역
|
datalist
|
role=listbox
|
|
dd
|
대응하는 역할 없음 |
전역 |
del
|
role=
|
모든
그 외에는 전역
|
details
|
role=group
|
전역 |
dfn
|
role=term
|
전역 |
dialog
|
role=dialog
|
역할:
전역 |
div
|
role=generic
|
그 외에는 전역
|
dl
|
대응하는 역할 없음 |
역할:
전역 |
dt
|
대응하는 역할 없음 |
역할:
전역 |
em
|
role=
|
모든
그 외에는 전역
|
embed
|
대응하는 역할 없음 |
역할:
전역 |
fieldset
|
role=group
|
역할:
전역 |
figcaption
|
대응하는 역할 없음 |
역할:
그 외에는 전역
|
figure
|
role=figure
|
DPub 역할:
그 외에
전역 |
footer
|
그 외에는 |
역할:
DPub 역할:
그 외에는 전역
|
form
|
|
역할:
전역 참고
|
| 폼 연관 사용자 정의 요소 |
작성자가 정의한
그 외에는 |
그 외에는 폼 관련 역할:
그 외에는 전역
|
h1 to h6
|
role=heading,
aria-level = 요소 태그 이름의 숫자
|
역할:
DPub 역할:
전역 |
head
|
대응하는 역할 없음 |
|
header
|
그 외에는 |
역할:
그 외에는 전역
|
hgroup
|
role=group
|
그 외에는 전역
|
hr
|
role=separator
|
역할:
DPub 역할:
전역 |
html
|
role=generic
|
|
i
|
role=generic
|
모든
그 외에는 전역
|
iframe
|
대응하는 역할 없음 |
역할:
전역 |
img
|
img에 비어 있지 않은
alt
(alt="some text")가 있거나 다른
img
이름 지정 방법으로 접근 가능한 이름이 제공되는 경우,
또는 img에 alt도 접근 가능한 이름도 없는 경우:role=img or image
|
역할:
DPub 역할:
전역
|
img
및 빈 alt, 접근 가능한 이름 없음
|
|
|
input type=button
|
role=button
|
역할:
전역 |
input type=checkbox
|
role=checkbox
|
역할:
작성자는
그 외에는 모든 전역
참고
HTML
|
input type=color
|
대응하는 역할 없음 |
전역 |
input type=date
|
대응하는 역할 없음 |
전역 |
input type=datetime-local
|
대응하는 역할 없음 |
전역 |
input type=email
및
list
속성 없음
|
role=textbox
|
전역 |
input type=file
|
대응하는 역할 없음 |
전역 |
| 대응하는 역할 없음 |
|
|
input type=image
|
role=button
|
다음 역할은 허용되지만 권장되지 않는다:
전역
가능한 경우 작성자는 지정된 역할을 허용하는 다른 HTML 요소,
예를 들어 |
input type=month
|
대응하는 역할 없음 |
전역 |
input type=number
|
role=spinbutton
|
전역 |
input type=password
|
대응하는 역할 없음 |
전역 |
input type=radio
|
role=radio
|
역할:
작성자는
그 외에는 모든 전역
참고
HTML
|
input type=range
|
role=slider
|
작성자는
그 외에는 모든
전역 |
input type=reset
|
role=button
|
다음 역할은 허용되지만 권장되지 않는다:
전역
가능한 경우 작성자는 지정된 역할을 허용하는 다른 HTML 요소,
예를 들어 |
input type=search,
및
list
속성 없음
|
role=searchbox
|
전역 |
input type=submit
|
role=button
|
다음 역할은 허용되지만 권장되지 않는다:
전역
가능한 경우 작성자는 지정된 역할을 허용하는 다른 HTML 요소,
예를 들어 |
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
|
대응하는 역할 없음 |
전역 |
input type=url
및
list
속성 없음
|
role=textbox
|
전역 |
input type=week
|
대응하는 역할 없음 |
전역 |
ins
|
role=
|
모든
그 외에는 전역
|
kbd
|
대응하는 역할 없음 |
그 외에는 전역
|
label
|
대응하는 역할 없음 |
그 외에
그 외에는 전역
|
legend
|
대응하는 역할 없음 |
그 외에는 전역
|
li
|
그 외에는
|
부모 목록 요소에 암시적 또는 명시적
그 외에 부모 목록 요소가 암시적 또는 명시적
전역 작성자는 다음의 폐기된 DPub 역할을 사용하지 않는 것이
좋다:
|
link
|
대응하는 역할 없음 |
|
main
|
role=main
|
전역 |
map
|
대응하는 역할 없음 |
|
mark
|
대응하는 역할 없음 |
그 외에는 전역
|
math
|
role=math
|
전역 |
menu
|
role=list
|
역할:
전역 |
meta
|
대응하는 역할 없음 |
|
meter
|
role=
|
작성자는
그 외에는 모든
전역 |
nav
|
role=navigation
|
역할:
DPub 역할:
전역 |
noscript
|
대응하는 역할 없음 |
|
object
|
대응하는 역할 없음 |
역할:
전역 |
ol
|
role=list
|
역할:
전역 |
optgroup
|
role=group
|
전역 |
option
요소가 옵션
목록에 있거나
datalist에서
제안을 나타내는 경우
|
role=option
|
작성자는
전역 |
output
|
role=status
|
전역 |
p
|
role=
|
모든
그 외에는 전역
|
param
|
대응하는 역할 없음 |
|
picture
|
대응하는 역할 없음 |
작성자는 |
pre
|
role=generic
|
모든
그 외에는 전역
|
progress
|
role=progressbar
|
작성자는
그 외에는
모든 전역 |
q
|
role=generic
|
모든
그 외에는 전역
|
rp
|
대응하는 역할 없음 |
전역 |
rt
|
대응하는 역할 없음 |
그 외에는 전역
|
ruby
|
대응하는 역할 없음 |
전역 |
s
|
role=
|
모든
그 외에는 전역
|
samp
|
role=generic
|
모든
그 외에는 전역
|
script
|
대응하는 역할 없음 |
|
search
|
|
역할:
전역 |
section
|
그 외에는 |
역할:
DPub 역할:
전역 |
select
(드롭다운
상자로 렌더링됨)
|
role=combobox
|
역할:
작성자는
그 외에는
모든 전역 |
select
(목록
상자로 렌더링됨)
|
role=listbox
|
작성자는
그 외에는
모든 전역 |
selectedcontent
|
role=generic
|
그 외에 사용자 정의 가능한
그 외에는 전역
|
slot
|
대응하는 역할 없음 |
|
small
|
role=generic
|
모든
그 외에는 전역
|
source
|
대응하는 역할 없음 |
|
span
|
role=generic
|
모든
그 외에는 전역
|
strong
|
role=
|
그 외에는 전역
|
style
|
대응하는 역할 없음 |
|
sub
|
role=
|
모든
그 외에는 전역
|
summary
|
참고
summary 요소에 노출되는 역할은 사용자 에이전트와 보조 기술에 따라 달라질 수 있다.
|
전역
그 외에 |
sup
|
role=superscript
|
모든
그 외에는 전역
|
SVG
|
SVG AAM에서 정의된
role=graphics-document
|
모든
전역 |
table
|
role=table
|
전역 |
tbody
|
role=rowgroup
|
모든
전역 |
td
|
상위
상위
상위 |
상위
그 외에 상위
전역 |
template
|
대응하는 역할 없음 |
|
textarea
|
role=textbox
|
전역 |
tfoot
|
role=rowgroup
|
모든
전역 |
th
|
상위
상위
상위 |
상위
그 외에 상위
전역 |
thead
|
role=rowgroup
|
모든
전역 |
time
|
role=time
|
그 외에는 전역
|
title
|
대응하는 역할 없음 |
|
tr
|
role=row
|
상위
전역 |
track
|
대응하는 역할 없음 |
|
u
|
role=generic
|
모든
그 외에는 전역
|
ul
|
role=list
|
역할:
전역 |
var
|
대응하는 역할 없음 |
그 외에는 전역
|
video
|
대응하는 역할 없음 |
역할:
전역 |
wbr
|
대응하는 역할 없음 |
역할:
작성자는 |
표의 두 번째 열에서 대응하는
역할 없음으로 표시된 요소에는 암시적 ARIA 의미 체계가 없지만, 이러한 요소에도
의미가 있으며
이 의미는 ARIA에서 제공하지 않는 역할, 상태 및 속성으로 표현될 수 있고,
접근성 API를 통해 보조 기술 사용자에게 노출될 수 있다.
따라서 작성자는 나열된 요소의 의미 체계를 재정의하기보다는
div
또는
span과
같은 의미적으로 중립적인 요소에 role 속성을 추가하는 것이 권장된다.
작성자는 여기에서 제공하는 내용을 넘어 HTML에서 ARIA를 사용하는 방법에 관한 지침으로 다음 문서를 활용하는 것이 권장된다:
작성자는 작성자가 이름을 지정할 수 있도록 허용하는 암시적 또는 명시적 ARIA 역할이 있는 요소에
접근 가능한
이름을 지정하기 위해 aria-label
및 aria-labelledby
속성을 사용할 수 있다. Accessible Rich Internet Applications (WAI-ARIA)
1.2는 작성자가
이름을 지정할 수 있는 역할과 작성자의 이름 지정이
금지되는 역할을 정의한다.
작성자는 이름을 지정할 수 없는 암시적 WAI-ARIA 역할이 있는 요소에 aria-label 또는
aria-labelledby를 지정해서는 안 된다. 작성자의 이름 지정을 금지하는
암시적 WAI-ARIA 역할을 가진 HTML
요소는 4.
HTML에서 ARIA 속성 사용을 위한 문서 적합성 요구사항에 식별되어 있다.
다음 마크업 예제는 작성자의 이름 지정을 금지하는 암시적 ARIA 역할을 가진 HTML 요소의 일부를 보여준다.
<!-- 다음과 같이 하지 마시오! -->
<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>
별도로 명시하지 않는 한 작성자는 aria-* 의미 체계가 예상되는 HTML 요소에서
해당 HTML 동등 속성 대신 aria-* 속성을 사용할 수 있다.
예를 들어 작성자는
button
요소에 aria-disabled=true를 지정하면서 disabled 속성을 사용하는 대신
button을 기능적으로 비활성화하는 데 필요한 스크립팅도 구현할 수 있다.
WAI-ARIA의 호스트 언어 의미 체계와의
충돌에 명시된 대로,
HTML 요소가 aria-* 속성과 해당 호스트 언어(HTML)
동등 속성을 모두 사용하는 경우 사용자 에이전트는 WAI-ARIA 속성을
무시해야 한다. 즉, 동일한 암시적 ARIA 의미 체계를 가진
네이티브 HTML 속성이 우선한다. 이러한 이유로 작성자는 요소에 네이티브 HTML
속성과 동등한 aria-* 속성을 둘 다 지정하지 않는 것이 좋다.
추가적인 작성자별 요구사항은 각 속성을 검토한다.
다음 표는 aria-* 속성과 동등한 HTML 요소 및 그 속성을 나타낸다.
첫 번째 열의 셀에 있는 각 언어 기능(요소 및 속성)은 같은 행의
두 번째 열 셀에 제시된 ARIA 의미 체계(상태 및 속성)를 암시한다.
각 행의 세 번째 셀은 작성자가 동일한
암시적 ARIA
의미 체계를 제공하는 aria-* 속성 사용 요구사항과 함께
네이티브 HTML 기능을 사용할 수 있는 방법을 정의한다.
| HTML 기능 |
암시적 ARIA 의미 체계 |
HTML 기능 및 aria-* 속성에 관한 작성자 지침
|
|---|---|---|
checked
속성이 허용되는 모든 요소
|
aria-checked="true"
|
HTML에서
작성자는 요소의 체크됨
상태
또는 불확정 체크 값이
작성자는 해당 속성을 허용하는 WAI-ARIA 역할을 가진 다른 모든 요소에
|
disabled
속성이 허용되는 모든 요소. 여기에는
option
disabled
및
optgroup
disabled가
포함된다
|
aria-disabled="true"
|
HTML에서
작성자는 HTML에서
작성자는
작성자는 |
placeholder
속성이 허용되는 모든 요소
|
aria-placeholder="..."
|
HTML에서
작성자는 HTML에서
작성자는 |
max 속성이 허용되는 모든 요소: meter
max,
progress
max,
및 input
max
|
aria-valuemax="..."
|
HTML에서
작성자는
작성자는
작성자는 |
min 속성이 허용되는 모든 요소: meter
min
및 input
min
|
aria-valuemin="..."
|
HTML에서
작성자는
작성자는
작성자는 |
readonly 속성을 허용하는 모든 요소:
input
readonly,
textarea
readonly
및
readonly를
허용하는 폼
연관
사용자 정의 요소
|
aria-readonly="true"
|
HTML에서
작성자는 해당 속성을 허용하는 WAI-ARIA 역할을 가진 모든 요소에
작성자는
작성자는 |
|
참고
이는 |
aria-readonly="false"
|
작성자는 isContentEditable="true"인 요소에
aria-readonly="true"를 설정해서는 안 된다.
|
required 속성이 허용되는 모든 요소: input
required,
textarea
required,
및 select
required
|
aria-required="true"
|
HTML에서
작성자는 HTML에서
작성자는
작성자는 |
colspan
속성이 허용되는 모든 요소: td 및 th
|
aria-colspan="..."
|
HTML에서
작성자는
작성자는 |
rowspan
속성이 허용되는 모든 요소:
td 및 th
|
aria-rowspan="..."
|
HTML에서
작성자는
작성자는 |
ARIA 명세의 폐기된 요구사항 절은 ARIA 기능이 폐기된 것으로 표시된 경우 작성자에게 새 콘텐츠에서 해당 기능을 사용하지 않도록 권고한다고 명시한다.
다음 역할 및 속성은 ARIA 및 DPub ARIA의 폐기된 기능이다. 적합성 검사기는 이러한 기능의 폐기 상태를 작성자에게 경고해야 한다. 가능한 경우 작성자는 폐기된 기능의 대안을 사용하는 것이 권고된다.
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에는 이들이 제안했던 기능을
대체하는 기능이 없다.
작성자는 모든 role 토큰 값 및 값이
토큰으로 정의된
모든 상태 또는 속성 속성(aria-*)에 ASCII 소문자를 사용하는 것이
좋다.
최신 브라우저는 role 또는 aria-* 속성 값을 ASCII
대소문자를 구분하지 않는 것으로 처리하지만, 모든 보조 기술이 이러한 값을
올바르게 구문 분석하는 것은 아니다.
상호 운용성 문제를 줄이기 위해 작성자는 aria-* 및 role 속성 값에
ASCII
소문자를 사용할 것을 강력히 권장한다. 또한 작성자는 콘텐츠가 사용자에게
올바르게 노출되는지 확인하기 위해 다양한 브라우저와 보조 기술 조합으로
철저히 테스트하는 것이 권장된다.
이 절은 비규범적이다.
다음 표는 [HTML]
명세에 정의된 콘텐츠 종류 및 허용되는
자손 정보를 동등한 role을 가진 요소에 매핑하고 확장한다.
열 1은 각 ARIA role에 대한 규범적 Accessible Rich Internet Applications (WAI-ARIA)
1.2 정의로 연결된다.
열 2는 각 role이 HTML 요소에 사용될 때 속하는 콘텐츠
종류 범주를 식별한다.
열 3은 명시적 role이 지정된 요소의 자손이 될 수 있는
HTML 요소의 종류를 나타내며, 대개 동일한 암시적 역할을 가진
HTML 요소와 일치한다.
예를 들어
button
요소에는 암시적 role=button이 있다.
HTML에서 button 요소는 구문 콘텐츠를
자손으로 허용하며, 대화형 콘텐츠
또는 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(자손 허용사항)에서 해당 역할에 대해 "'필수 소유 요소'를 참조"하도록 표시하여 식별되어 있다.
비규범적(비표준)으로 표시된 섹션과 마찬가지로, 이 명세에 있는 모든 작성 가이드라인, 다이어그램, 예제 및 주석 또한 비규범적입니다. 이 명세의 그 외 모든 내용은 규범적입니다.
본 문서에서 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.1] 또는 [HTML]의 기능을 정의하지 않는다. 대신 HTML에서 ARIA 검사를 지원한다고 주장하는 적합성 검사기를 위한 규칙과 지침을 제공하며, 작성자를 위한 지침도 제공한다.
따라서, 이 명세는 새로운 기능을 정의하지 않으므로, 현재 알려진 개인정보 보호 또는 보안 영향이 없습니다.
Referenced in:
Referenced in:
Referenced in:
Referenced in: