또한 참고: 번역본.
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 표준 및 초안 인덱스에서 확인할 수 있습니다.
ARIA in HTML은 [HTML] 명세 모듈입니다. 이 명세 모듈에서 참조하지만 명시적으로 정의하지 않은 모든 HTML 기능, 적합성 요구사항 또는 용어들은 HTML Standard에 의해 정의됩니다.
이 명세가 2021년 12월 9일 W3C 권고안(Recommendation)이 된 이후, 다음과 같은 실질적인 추가 및/또는 수정 사항이 제안되었습니다:
summary 요소의 역할과 속성을 명확히 함.
label 요소가 레이블이 가능한 요소에 연결되어 있지 않을 때 role 및
aria-* 속성 지정 허용.
selectedcontent 요소를 추가하고, 커스텀 select 요소의
문맥에서 사용될 때 button 요소에 대한 허용 사항을 업데이트함.
html 요소가 generic 요소임을 명확히 하며,
document와 generic 역할 모두 이 요소에 사용하는 것을 권장하지 않음을 명시.
img 요소에 math 역할 허용.
image 역할을 img 역할의 선호 동의어(preferred synonym)로 포함하도록 업데이트.
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 속성 허용.
문서의 검토자들은 문서에서 독특한 스타일링으로 후보 추가 및/또는 수정사항을 식별할 수 있습니다:
후보 수정 사항은 문서 내에 표시됩니다.
후보 추가 사항은 문서 내에 표시됩니다.
본 문서는 Accessible Rich Internet Applications Working Group에서 권고 트랙을 통해 권고안으로 발행하였습니다. 이전 권고안 이후 실질적인 변경 및 새로운 기능을 도입한 후보 개정을 포함합니다.
W3C는 본 명세의 웹 표준으로의 광범위한 배포를 권장합니다.
W3C 권고안(Recommendation)은 광범위한 합의 구축 후, 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이 노출됩니다.
실제로 이러한 선언은 보조 기술 사용자에게 예기치 않은 부작용을 일으키지 않지만, 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 의미
(역할, 상태, 속성)를 함의합니다.
각 행의 세 번째 셀은 작성자가 해당 요소에 지정할 수 있는 ARIA role 값과
aria-* 속성을 정의합니다.
세 번째 열의 셀에 Any role이라는
용어가 포함되어 있으면, 어떤 role 값이든
MAY
해당 요소에서 사용할 수 있음을 나타냅니다. 그러나,
작성자가 해당 요소의 암묵적 역할, generic 역할, 또는
ARIA에 의해 폐기된 역할을
이러한 요소에 지정하는 것은 권장되지 않습니다.
세 번째 열의 셀에 No
role이라는 용어가 포함되어 있으면,
작성자가 HTML 요소의 암묵적 ARIA 의미 또는 네이티브 의미를
덮어써서는 안 됨을 나타냅니다.
WAI-ARIA는 금지된 상태 및 속성을 갖는 역할을 식별합니다. 이러한 역할은 작성자가 특정 WAI-ARIA 속성을 지정하는 것을 허용하지 않습니다. 이러한 암묵적 WAI-ARIA 역할을 노출하는 HTML 요소 또한 작성자가 이러한 WAI-ARIA 속성을 지정하는 것을 금지합니다.
이름 지정 금지(Naming
prohibited)로 식별되는 요소는,
작성자가 aria-label 또는 aria-labelledby 속성을
지정해서는 안 되는 요소입니다. 단, 작성자가 이름 지정을 허용하는
명시적 WAI-ARIA 역할로 해당 요소의 암묵적 역할을 덮어쓸 수 있는 경우는 예외입니다.
자세한 내용은 4.1
ARIA 속성을 사용하여 요소에 이름을 지정하기 위한 요구사항을 참고하세요.
암묵적 ARIA 의미와 일치하는 ARIA role 및/또는 aria-* 속성을 설정하는 것은
권장되지 않습니다. 하지만 어떤 상황에서는 이러한 속성을 명시적으로 설정하는 것이
도움이 될 수 있습니다. 예를 들어,
일부 요소에 대해 암묵적 ARIA 의미를 노출하지 않는 사용자 에이전트의 경우가 그렇습니다.
아래 표에 설명된 대로 Digital Publishing WAI-ARIA Module 1.1의
role 값을 사용하는 것은 적합하지만,
이러한 역할의 사용은 웹사이트 구현을 위한 것이 아닙니다.
디지털 출판 산업의 범위를 넘어 이러한 역할을 사용할 경우,
의도한 경험이 사용자에게 제공되는지 보장하기 위해 추가적인 수동 테스트가 필요합니다.
| HTML 요소 |
암시적 ARIA 의미론 (마크업에서 이를 명시적으로 지정하는 것은 권장하지 않음(NOT RECOMMENDED)) |
ARIA 역할, 상태 및 속성 허용 범위 |
|---|---|---|
a
요소,
href
속성이 있는 경우
|
role=link
|
허용 역할:
DPub 역할:
글로벌
Note
링크를 "비활성화(disabled)"로 프로그래밍적으로 전달해야 하는 경우,
href 속성을 제거하세요.
|
a
( href
href
속성이 없는 경우)
|
role=generic
|
어떤
그 외에는, 전역
|
abbr
|
해당 역할 없음 |
그 외에는, 전역
|
address
|
role=group
|
어떤
그 외에는, 전역
|
area
( href
href
속성이 있는 경우)
|
role=link
|
다른
전역 |
area
( href
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 ~ h6
|
role=heading,
aria-level = 요소 태그 이름의 번호
|
역할:
DPub 역할:
전역 |
head
|
해당 역할 없음 |
role 또는 |
header
|
그 외에는 |
역할:
이름 지정 금지 —
그 외에는, 전역
|
hgroup
|
role=group
|
어떤
그 외에는, 전역
|
hr
|
role=separator
|
역할:
DPub 역할:
전역 |
html
|
role=generic
|
role 없음
(
ARIA |
i
|
role=generic
|
어떤
그 외에는, 전역
|
iframe
|
해당 역할 없음 |
역할:
전역 |
만약 img에 비어 있지 않은
alt
(alt="some text")가 있거나, 다른
img
이름 지정 방법으로 접근 가능한 이름이 제공되었거나,
또는 img에 alt가 없고 이름도 제공되지 않은 경우:role=img or image
|
역할:
DPub 역할:
전역 |
|
img
with no accessible name
|
만약
만약 |
만약
만약
ARIA
그 외에, 만약 |
input type=button
|
role=button
|
역할:
전역 |
input type=checkbox
|
role=checkbox
|
역할:
작성자는
그 외에는, 전역
Note
HTML
|
input type=color
|
해당 역할 없음 |
전역 |
input type=date
|
해당 역할 없음 |
전역 |
input type=datetime-local
|
해당 역할 없음 |
전역 |
input type=email
with no
list
attribute
|
role=textbox
|
role 없음
(
전역 |
input type=file
|
해당 역할 없음 |
전역 |
| 해당 역할 없음 |
role 없음 또는 |
|
input type=image
|
role=button
|
다음 역할은 허용되지만 권장되지 않음:
전역
가능한 경우 작성자는 지정된 역할을 허용하는 다른 HTML 요소,
예를 들어 |
input type=month
|
해당 역할 없음 |
전역 |
input type=number
|
role=spinbutton
|
role 없음
(
전역 |
input type=password
|
해당 역할 없음 |
전역 |
input type=radio
|
role=radio
|
역할:
작성자는
그 외에는, 전역
Note
HTML
|
input type=range
|
role=slider
|
작성자는
그 외에는, 모든
전역 |
input type=reset
|
role=button
|
|
input type=search,
with no
list
attribute
|
role=searchbox
|
role 없음
(
전역 |
input type=submit
|
role=button
|
|
input type=tel,
with no
list
attribute
|
role=textbox
|
role 없음
(
전역 |
input type=text
또는 누락되거나 잘못된 type을 가지며, list 속성이 없는 경우
|
role=textbox
|
역할:
전역 |
input type=text,
search,
tel,
url,
email,
또는 누락되거나 잘못된 type을 가지며,
list 속성이 있는 경우
|
role=combobox
|
role 없음
(
작성자는
그 외에는, 모든
전역 |
input type=time
|
해당 역할 없음 |
전역 |
input type=url
with no
list
attribute
|
role=textbox
|
role 없음
(
전역 |
input type=week
|
해당 역할 없음 |
전역 |
ins
|
role=
|
어떤
그렇지 않으면, 전역
|
kbd
|
해당 역할 없음 |
그렇지 않으면, 전역
|
label
|
해당 역할 없음 |
그렇지 않고 이름 지정 금지,
그렇지 않으면, 전역
|
legend
|
해당 역할 없음 |
그렇지 않으면, 전역
|
li
|
그렇지 않으면,
|
부모 목록 요소가 암묵적 또는 명시적
그렇지 않고 부모 목록 요소가 암묵적 또는 명시적
전역
작성자는 다음 deprecated DPub 역할을
사용하지 않아야 함:
|
link
|
해당 역할 없음 |
role 없음 또는 |
main
|
role=main
|
전역 |
map
|
해당 역할 없음 |
role 없음 또는 |
mark
|
해당 역할 없음 |
그렇지 않으면, 전역
|
math
|
role=math
|
전역 |
menu
|
role=list
|
역할:
전역 작성자는 deprecated
|
meta
|
해당 역할 없음 |
role 없음 또는 |
meter
|
role=
|
작성자는
그렇지 않으면, 모든
전역 |
nav
|
role=navigation
|
역할:
DPub 역할:
전역 |
noscript
|
해당 역할 없음 |
role 없음 또는 |
object
|
해당 역할 없음 |
역할:
전역 |
ol
|
role=list
|
역할:
전역 작성자는 deprecated
|
optgroup
|
role=group
|
전역 |
option
요소가
옵션
목록
에 있거나,
datalist
내에서 제안을 나타내는 경우
|
role=option
|
작성자는
전역 |
output
|
role=status
|
어떤
전역 |
p
|
role=
|
어떤
그렇지 않으면, 전역
|
param
|
해당 역할 없음 |
role 없음 또는 |
picture
|
해당 역할 없음 |
작성자는 |
pre
|
role=generic
|
Any
Otherwise, global
|
progress
|
role=progressbar
|
No
Authors SHOULD NOT use the
Otherwise,
any global |
q
|
role=generic
|
Any
Otherwise, global
|
rp
|
해당 역할 없음 |
Global |
rt
|
해당 역할 없음 |
Otherwise, global
|
ruby
|
해당 역할 없음 |
Global |
s
|
role=
|
Any
Otherwise, global
|
samp
|
role=generic
|
Any
Otherwise, global
|
script
|
No corresponding role |
No |
search
|
|
Roles:
Global |
section
|
Otherwise, |
Roles:
DPub Roles:
Global |
select
(with NO multiple attribute and NO size
attribute having value greater than 1)
|
role=combobox
|
Role:
Authors SHOULD NOT use the
Otherwise,
any global |
select
(with a multiple attribute or a size attribute
having value greater than 1)
|
role=listbox
|
No
Authors SHOULD NOT use the
Otherwise,
any global |
selectedcontent
|
role=generic
|
If used as a valid descendant of a
Otherwise, any
Otherwise, global
|
slot
|
해당 역할 없음 |
role 없음 또는 |
small
|
role=generic
|
어떤
그렇지 않으면, 전역
|
source
|
해당 역할 없음 |
role 없음 또는 |
span
|
role=generic
|
어떤
그렇지 않으면, 전역
|
strong
|
role=
|
어떤
그렇지 않으면, 전역
|
style
|
해당 역할 없음 |
role 없음 또는 |
sub
|
role=
|
어떤
그렇지 않으면, 전역
|
summary
|
Note
The exposed role of a
summary element can vary depending on the user agent
and assistive technology.
|
role 없음
if the
Global
Otherwise, if the |
sup
|
role=superscript
|
Any
Otherwise, global
|
SVG
|
role=graphics-document as defined by
SVG AAM
|
Any
Global |
table
|
role=table
|
Any
Global |
tbody
|
role=rowgroup
|
Any
Global |
td
|
No corresponding role if the ancestor
|
If the ancestor
Otherwise, if the ancestor
Global |
template
|
해당 역할 없음 |
role 없음 또는 |
textarea
|
role=textbox
|
No
Global |
tfoot
|
role=rowgroup
|
Any
Global |
th
|
No corresponding role if the ancestor
|
If the ancestor
Otherwise, if the ancestor
Global |
thead
|
role=rowgroup
|
Any
Global |
time
|
role=time
|
Any
Otherwise, global
|
title
|
해당 역할 없음 |
role 없음 또는 |
tr
|
role=row
|
If the ancestor
Global |
track
|
해당 역할 없음 |
role 없음 또는 |
u
|
role=generic
|
어떤
그렇지 않으면, 전역
|
ul
|
role=list
|
역할:
전역
작성자는 deprecated
|
var
|
해당 역할 없음 |
그렇지 않으면, 전역
|
video
|
해당 역할 없음 |
역할:
전역 |
wbr
|
해당 역할 없음 |
역할:
작성자는 |
두 번째 열에서 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-* 속성 저자 가이드
|
|---|---|---|
HTML에서
checked
속성이 허용되는 모든 요소
|
aria-checked="true"
|
HTML에서
작성자는 MUST NOT
작성자는 해당 속성을 허용하는 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.1] 또는 [HTML]의 기능을 정의하지 않습니다. 대신, HTML에서 ARIA를 검사할 수 있다고 주장하는 적합성 검사기(conformance checker)에 대한 규칙과 지침, 그리고 저자를 위한 안내를 제공합니다.
따라서, 이 명세는 새로운 기능을 정의하지 않으므로, 현재 알려진 개인정보 보호 또는 보안 영향이 없습니다.
Referenced in:
Referenced in:
Referenced in:
Referenced in: