HTML에서의 ARIA

W3C 권고안

이 문서에 대한 추가 정보
이 버전:
https://www.w3.org/TR/2025/REC-html-aria-20250805/
최신 공식 버전:
https://www.w3.org/TR/html-aria/
최신 편집자 초안:
https://w3c.github.io/html-aria/
히스토리:
https://www.w3.org/standards/history/html-aria/
커밋 히스토리
구현 보고서:
https://w3c.github.io/html-aria/results/implementation-results.html
편집자:
Scott O'Hara (Microsoft)
Patrick H. Lauke (TetraLogical)
이전 편집자:
Steve Faulkner (TPGi) -
피드백:
GitHub w3c/html-aria (풀 리퀘스트, 새 이슈 등록, 오픈 이슈)
public-webapps@w3.org 제목 [html-aria] … 메시지 주제 … (아카이브)
정오표:
정오표 있음.

또한 참고: 번역본.


요약

이 명세서는 Accessible Rich Internet Applications (WAI-ARIA) 1.2Digital Publishing WAI-ARIA Module 1.0 속성을 [HTML] 요소에 사용하는 저작 규칙(저자 준수 요구사항)을 정의합니다. 이 명세서의 주요 목적은 저자(즉, 웹 개발자)가 사용하는 준수 검사 도구와 함께 사용할 요구사항을 정의하는 것입니다. 이러한 요구사항은 저자가 ARIA를 활용하여 호스트 언어 [HTML]의 기능을 보완하거나 확장하는 맞춤형 인터페이스 및 위젯을 포함한 웹 콘텐츠를 개발하는 데 도움이 됩니다.

이 문서의 상태

이 섹션은 문서가 발행된 시점의 상태를 설명합니다. 현재 W3C 발행 목록과 이 기술 보고서의 최신 개정판은 W3C 표준 및 드래프트 인덱스에서 확인할 수 있습니다.

ARIA in HTML은 [HTML] 명세 모듈입니다. 이 명세 모듈에서 참조하지만 명확하게 정의하지 않은 HTML 기능, 준수 요구사항 또는 용어는 HTML Standard에서 정의됩니다.

이 명세서가 2021년 12월 9일 W3C 권고안이 된 이후, 다음과 같은 실질적인 추가 및/또는 수정이 제안되었습니다:

문서를 검토하는 사람은 문서에서 스타일링으로 후보 추가 및/또는 수정을 확인할 수 있습니다:

후보 수정 사항은 문서에서 표시됩니다.

후보 추가 사항은 문서에서 표시됩니다.

이 문서는 웹 애플리케이션 워킹 그룹에서 권고안 절차를 통해 권고안으로 발행되었습니다. 이전 권고안 이후 실질적 변경 및 새로운 기능을 도입하는 후보 개정사항이 포함되어 있습니다.

W3C는 이 명세서가 웹 표준으로 널리 배포되기를 권장합니다.

W3C 권고안은 광범위한 합의 형성 후 W3C와 회원의 승인을 받은 명세서이며, 워킹 그룹 구성원이 구현을 위한 로열티 프리 라이선스를 약속합니다. 향후 권고안 업데이트에는 새로운 기능이 포함될 수 있습니다.

후보 추가 사항은 문서에서 표시됩니다.

후보 수정 사항은 문서에서 표시됩니다.

이 문서는 W3C 특허 정책에 따라 운영되는 그룹에서 제작되었습니다. W3C공개 특허 공개 목록을 관리합니다. 해당 페이지에는 특허 공개 절차도 포함되어 있습니다. 특정 특허에 대해 실제로 알고 있는 사람이 해당 특허가 필수 청구항(Claims)을 포함한다고 판단하는 경우, W3C 특허 정책 6항에 따라 정보를 공개해야 합니다.

이 문서는 2023년 11월 3일 W3C 프로세스 문서에 의해 관리됩니다.

1. HTML에서 ARIA 사용을 위한 저자 요구사항

저자는 MAY ARIA rolearia-* 속성을 사용하여 의미론을 변경할 수 있습니다. HTML 요소의 노출 의미를 WAI-ARIA에서 정의된 요구사항에 따라 사용할 수 있습니다. 단, ARIA 기능이 강한 네이티브 의미론 과 충돌하거나, 암시적 ARIA 의미론 과 동일한 경우에는 예외입니다. HTML의 기능에 대한 암시적 ARIA 의미론HTML 접근성 API 매핑 명세에서 정의됩니다.

본 명세서에서 정의하는 HTML에서 ARIA 기능 사용에 대한 제약은 저자가 실제 문서의 UI를 올바르게 반영하지 않는 보조 기술 제품이 의미 없는 UI 정보를 제공하는 것을 방지하기 위한 것입니다.

저자는 MUST NOT ARIA rolearia-* 속성을 4. HTML에서 ARIA 속성 사용을 위한 문서 준수 요구사항4.2 동등한 HTML 속성 대신 ARIA 속성 사용을 위한 요구사항 표에 명시된 의미론과 충돌하는 방식으로 사용해서는 안 됩니다. 저자가 ARIA rolearia-* 속성을 두 표 중 하나에 정의된 암시적 ARIA 의미론과 일치하는 값으로 설정하는 것은 NOT RECOMMENDED 입니다. 불필요하며, 예기치 않은 결과를 초래할 수 있습니다.

2. HTML을 확장하거나 달라지는 ARIA 의미론

이 섹션은 규범적이지 않습니다.

ARIA를 사용하면 저자는 네이티브 HTML의 현재 기능을 뛰어넘는 의미론을 지정할 수 있습니다. 이는 저자가 Widget을 만들거나 네이티브 HTML 기능이 단독으로는 불가능한 접근성 상태 및 속성을 노출할 수 있기 때문에 매우 유용합니다.

예를 들어 button 요소에는 "pressed" 상태를 노출하는 네이티브 HTML 기능이 없습니다. ARIA는 aria-pressed 속성을 지정하여 요소의 의미론을 확장할 수 있도록 하며, 이를 통해 시각적 제어와 일치하는 청각 UI를 구현할 수 있습니다.

다음 예제에서 button 요소는 웹 애플리케이션 내 설정의 상태를 토글할 수 있습니다. aria-pressed 속성을 사용하여 button 요소를 보강하며, "pressed" 상태가 되면 해당 정보가 보조 기술 사용자에게 노출됩니다.

예제 1: ARIA로 버튼의 눌림 상태 전달
<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를 적용하여 의도하는 역할과 상태를 전달하는 것이 가장 효과적입니다.

3. ARIA 오용 방지를 위한 저자 지침

이 섹션은 규범적이지 않습니다.

3.1 비대화형 역할로 대화형 요소를 덮어쓰지 않도록 주의

ARIA는 사용자가 노출받을 요소의 역할을 수정하거나 교정할 때 유용합니다. 하지만 button과 같은 대화형 요소를, 일반적으로 비대화형 요소에 노출되는 역할(예: heading)로 덮어쓰는 것은 저자나 사용자 모두에게 거의 이롭지 않습니다.

예를 들어 다음 예제는 button 요소에 role=heading을 사용합니다. 이는 허용되지 않습니다. button 요소는 기본 기능이 있으며, heading 역할에 대한 사용자 기대와 충돌하기 때문입니다.

예제 3: 잘못된 역할
<button role="heading">search</button>

저자는 button의 기본 기능과 표현을 제거하기 위해 추가적인 조치를 취해야 하며, 그렇게 하더라도 사용자가 웹 페이지를 어떻게 이용하느냐에 따라(예: 윈도우즈 고대비 테마, 브라우저의 리더 모드 등) 요소의 암시적 기능을 완전히 억제할 수 없는 경우가 있습니다.

3.2 중복 역할 지정 피하기

다음 예제는 button 요소에 명시적으로 role=button을 지정한 경우를 보여줍니다. 이 역할을 지정하는 것은 불필요합니다. "button" 요소는 이미 암시적으로 button 역할이 노출되기 때문입니다. 실제로 이러한 중복은 예기치 않은 부작용 없이 마크업만 불필요하게 장황해지며, 다른 저자에게 잘못된 관행을 전달할 수 있습니다. 불필요한 역할 지정이 문제를 일으킬 수 있는 예제는 3.3 부작용에 유의하기 섹션을 참고하세요.

예제 4: 버튼에 중복 역할
<!-- 이렇게 하지 마세요! -->
<button role="button">...</button>

마찬가지로 다음은 fieldset 요소에 role=group을, main 요소에 role=Main을 사용합니다. fieldset 요소는 암시적으로 role=group이 노출되며, main 요소는 암시적으로 role=main이 노출됩니다. 실제로 이러한 선언은 보조 기술 사용자에게 예기치 않은 부작용을 일으키지 않지만, role 값이 ASCII 소문자로 선언되어야 합니다. 자세한 내용은 4.4 ARIA 역할, 상태 및 속성의 대소문자 요구사항을 참고하세요.

예제 5: fieldset과 main에 중복 역할
<!-- 이렇게 하지 마세요! -->
<fieldset role="group">...</fieldset>
<!-- 또는 이렇게! -->
<main role="Main">...</main>

다음은 ul 요소에 role=list를 사용한 경우입니다. ul 요소는 암시적으로 list 역할이 있으므로 명시적으로 역할을 추가하는 것은 일반적으로 중복이며 권장되지 않습니다. 하지만 일부 사용자 에이전트는 리스트 마커가 시각적으로 제거된 경우 암시적 ARIA 의미론을 억제합니다. 이런 특정 상황에서 노출이 필요하다면 명시적으로 역할을 추가할 수 있습니다.

예제 6: 리스트에 중복 역할
<!-- 일반적으로 이렇게 하지 마세요! -->
<ul role="list">...</ul>

3.3 부작용에 유의하기

다음은 summary 요소에 role=button을 사용한 예제입니다. 이는 불필요하며 크로스 플랫폼 문제를 일으킬 수 있습니다. 예를 들어 요소가 상태를 올바르게 노출하지 못하게 하거나, button 역할을 강제함으로써 플랫폼이나 브라우저 특유의 역할 노출이 방해됩니다.

예제 7: 의도치 않은 결과
<details>
  <!-- 이렇게 하지 마세요! -->
  <summary role="button">more information</summary>
  ...
</details>

3.4 ARIA 규칙 준수

Accessible Rich Internet Applications (WAI-ARIA) 1.2는 저자가 사용하면 안 되는 여러 역할을 정의합니다. 이 중 많은 역할은 추상 역할로 분류되며, 저자가 사용하지 않도록 명시되어 있습니다. 다음 예제는 추상 select 역할의 잘못된 사용을 보여줍니다. 저자는 실제로 combobox 역할을 사용하려 했을 가능성이 높습니다.

예제 8: 추상 역할은 저자용이 아님
<!-- 이렇게 하지 마세요! -->
<div role="select" ...>...</div>

ARIA는 또한 generic 역할을 정의하는데, 이는 보다 구체적인 ARIA 의미론이 없는 여러 HTML 요소와 기능적 동등성을 제공하기 위함입니다. 예를 들어 HTML의 divspan 요소 등이 해당합니다. ARIA는 generic 역할의 사용을 저자에게 권장하지 않으며, 주로 사용자 에이전트 구현자용입니다.

다음 예제에서는 generic 역할을 사용하는 대신 저자는 article 요소 대신 div를 사용하는 것이 바람직합니다. 만약 HTML 요소를 변경할 수 없다면, role=presentation 또는 role=none을 지정하여 article의 암시적 역할을 제거할 수 있습니다.

예제 9: generic 역할 지정 금지
<!-- 이렇게 하지 마세요! -->
<article role="generic" ...>...</article>

또한 ARIA의 호스트 언어 의미론 충돌 부분에서는 저자가 상태와 속성을 노출하기 위해 네이티브 HTML 기능과 ARIA 속성을 모두 사용하면, 호스트 언어의 기능이 명시적 ARIA 속성보다 우선한다고 명시합니다.

예를 들어 다음 예제에서 저자는 HTML의 input type=checkbox를 사용하며 aria-checked=true도 지정했습니다. 그러나 사용자 에이전트는 aria-checked 속성을 무시해야 하며, 폼 컨트롤의 네이티브 기능에 기반하여 상태를 노출합니다.

예제 10: 암시적 checked 상태가 명시적 ARIA 속성보다 우선함
<!-- 이렇게 하지 마세요! -->
<input type="checkbox" checked aria-checked="false">

3.5 HTML 규칙 준수

ARIA를 사용하여 HTML 기능이 보조 기술 사용자에게 노출되는 방식을 변경할 수 있지만, 이러한 수정은 HTML의 파싱 및 허용 콘텐츠 모델을 변경하지 않습니다. 예를 들어 div는 어떤 역할이든 지정할 수 있으나, 그렇다고 해서 HTML의 규칙을 벗어나 사용할 수 있는 것은 아닙니다.

예를 들어 다음 예제에서 저자는 div 요소에 role=link를 지정하였습니다. HTML은 하이퍼링크(role=link)가 p 요소의 자손일 수 있지만, HTML 파서는 divp 요소의 자손이 되는 것을 허용하지 않습니다.

예제 11: 잘못된 HTML 중첩의 ARIA 의미론 수정
<!-- 이렇게 하지 마세요! -->
<p>
  ... <div role=link tabindex=0>...</div> ... 
</p>

HTML 파서는 위 마크업을 다음과 같이 출력합니다:

예제 12: 원하지 않는 렌더링 마크업과 올바른 대체 솔루션
<!-- 이전 예제의 마크업은 다음처럼 렌더링됩니다 -->
<p>...</p>
<div role=link tabindex=0>...</div> 
... 
<p></p>

<!-- div 대신 span 사용. span은 p 요소의 허용 자손입니다! -->
<p>
  ... <span role=link tabindex=0>...</span> ...
</p>

본 명세서는 각 HTML 요소에 지정 가능한 ARIA 속성을 명시하지만, 역할이 허용되더라도 사용 맥락에 따라 렌더링 및 접근성 문제가 발생할 수 있음을 보여줍니다.

4. 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 rolearia-* 속성을 암시적 ARIA 의미론과 일치하도록 지정하는 것은 NOT RECOMMENDED이지만, 어떤 경우에는 이러한 속성을 명시적으로 지정하는 것이 도움이 될 수 있습니다. 예를 들어, 특정 요소에 대해 암시적 ARIA 의미론을 노출하지 않는 사용자 에이전트의 경우입니다.

참고

다음 표에 제시된 대로 Digital Publishing WAI-ARIA Module 1.0 role 값을 사용하는 것은 준수에 해당하지만, 이러한 역할은 웹사이트 구현용이 아닙니다. 디지털 출판 산업의 범위를 넘어 이 역할을 사용할 경우, 의도한 사용자 경험을 제공하기 위해 추가적인 수동 테스트가 필요합니다.

HTML 요소별 ARIA 속성 사용 규칙
HTML 요소

암시적 ARIA 의미론 (마크업에서 이를 명시적으로 지정하는 것은 권장하지 않음(NOT RECOMMENDED))

ARIA 역할, 상태 및 속성 허용 범위
a 와 함께 href role=link

역할: button, checkbox, menuitem, menuitemcheckbox, menuitemradio, option, radio, switch, tab 또는 treeitem. (link도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

DPub 역할: doc-backlink, doc-biblioref, doc-glossref 또는 doc-noteref

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

href 속성이 있는 a 요소에 aria-disabled="true"를 사용하는 것은 권장하지 않음(NOT RECOMMENDED)입니다.

참고
링크를 프로그램적으로 "비활성화됨"으로 전달해야 하는 경우, href 속성을 제거하세요.
ahref 없음 role=generic

모든 role 허용, 단 generic사용하지 않아야 함(SHOULD NOT).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

abbr 해당 역할 없음(No corresponding role)

모든 role

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

address role=group

모든 role 허용, 단 group권장하지 않음(NOT RECOMMENDED).

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

area 와 함께 href role=link

role 없음 단, link는 예외이나 권장하지 않음(NOT RECOMMENDED).

글로벌 aria-* 속성link 역할에 적용 가능한 모든 aria-* 속성.

areahref 없음 role=generic

역할: button 또는 link. (generic도 허용되지만 사용하지 않아야 함(SHOULD NOT).)

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

article role=article

역할: application, document, feed, main, none, presentation 또는 region. (article도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

aside role=complementary

역할: feed, none, note, presentation, region 또는 search. (complementary도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

DPub 역할: doc-dedication, doc-example, doc-footnote, doc-glossary, doc-pullquote 또는 doc-tip

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

audio 해당 역할 없음(No corresponding role)

역할: application

글로벌 aria-* 속성application 역할에 적용 가능한 모든 aria-* 속성.

독립형 커스텀 요소

작성자가 정의한 ElementInternals에서 노출되는 역할

그렇지 않다면 role=generic

ElementInternals에 의해 역할이 정의된 경우, role 없음

그렇지 않다면, 모든 role 허용, 단 generic사용하지 않아야 함(SHOULD NOT).

이름 지정 금지 (generic 역할로 노출되거나, 이름 지정을 금지하는 다른 역할로 노출되는 경우).

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

b role=generic

모든 role 허용, 단 generic사용하지 않아야 함(SHOULD NOT).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

base 해당 역할 없음(No corresponding role)

role 없음 또는 aria-* 속성 없음

bdi role=generic

모든 role 허용, 단 generic사용하지 않아야 함(SHOULD NOT).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

bdo role=generic

모든 role 허용, 단 generic사용하지 않아야 함(SHOULD NOT).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

blockquote role=blockquote

모든 role 허용, 단 blockquote권장하지 않음(NOT RECOMMENDED).

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

body role=generic

role 없음 단, generic (이는 사용하지 않아야 함(SHOULD NOT)).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 (generic 역할에 허용된 것). 단, 작성자는 body 요소에 aria-hidden=true사용해서는 안 됨(MUST NOT).

br 해당 역할 없음(No corresponding role)

역할: none 또는 presentation

작성자는 MAY aria-hidden 속성을 br 요소에 지정할 수 있습니다. 그 외 다른 aria-* 속성은 허용되지 않습니다.

button

role=button

buttonselect 요소의 첫 번째 자식인 경우, 해당 요소는 inert입니다.

역할: checkbox, combobox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab, 또는 treeitem. (button도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.


buttonselect 요소의 첫 번째 자식인 경우: role 없음 또는 aria-* 속성 없음

canvas 해당 역할 없음(No corresponding role)

모든 role

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

caption role=caption

role 없음 단, caption 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성만 허용.

cite 해당 역할 없음(No corresponding role)

모든 role

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

code role=code

모든 role 허용, 단 code권장하지 않음(NOT RECOMMENDED).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

col 해당 역할 없음(No corresponding role)

role 없음 또는 aria-* 속성 없음

colgroup 해당 역할 없음(No corresponding role)

role 없음 또는 aria-* 속성 없음

data role=generic

모든 role 허용, 단 generic사용하지 않아야 함(SHOULD NOT).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

datalist role=listbox

role 없음 단, listbox 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

aria-* 속성 없음.

dd 해당 역할 없음(No corresponding role)

role 없음

글로벌 aria-* 속성definition 역할에 적용 가능한 모든 aria-* 속성.

del role=deletion

모든 role 허용, 단 deletion권장하지 않음(NOT RECOMMENDED).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

details role=group

role 없음 단, group 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

글로벌 aria-* 속성group 역할에 적용 가능한 모든 aria-* 속성.

dfn role=term

모든 role 허용, 단 term권장하지 않음(NOT RECOMMENDED).

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

dialog role=dialog

역할: alertdialog. (dialog도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

글로벌 aria-* 속성dialog 역할에 적용 가능한 모든 aria-* 속성.

div role=generic

dl 요소의 직접 자식인 경우에만 presentation 또는 none 허용. 그 외의 경우, 모든 role 허용, 단 generic사용하지 않아야 함(SHOULD NOT).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

dl 해당 역할 없음(No corresponding role)

역할: group, list, none 또는 presentation

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

dt 해당 역할 없음(No corresponding role)

역할: listitem

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

em role=emphasis

모든 role 허용, 단 emphasis권장하지 않음(NOT RECOMMENDED).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

embed 해당 역할 없음(No corresponding role)

역할: application, document, img, image, none 또는 presentation.

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

fieldset role=group

역할: none, presentation 또는 radiogroup. (group도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

figcaption 해당 역할 없음(No corresponding role)

역할: group, none 또는 presentation

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

figure role=figure

figure에 유효한 figcaption 하위 요소가 있는 경우:
role 없음 단, figure 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

DPub 역할: doc-example.

반대로, figurefigcaption 하위 요소가 없는 경우:
모든 role 허용, 단 figure권장하지 않음(NOT RECOMMENDED).

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

footer

article, aside, main, nav 또는 section 요소의 하위 요소가 아니거나, role=article, complementary, main, navigation 또는 region 역할을 가진 요소의 하위 요소가 아닌 경우 role=contentinfo

그렇지 않으면, role=generic

역할: group, presentation 또는 none. (article, aside, main, nav 또는 section 요소의 하위가 아니거나, role=article, complementary, main, navigation, region 의 하위가 아닌 경우 role=contentinfo 도 허용되지만 권장하지 않음(NOT RECOMMENDED). 그 외에는 role=generic 도 허용되지만 사용하지 않아야 함(SHOULD NOT).)

DPub 역할: doc-footnote

이름 지정 금지 (generic으로 노출되는 경우).

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

form

role=form

역할: none, presentation 또는 search. (form도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

참고

form접근 가능한 이름이 제공되지 않으면 랜드마크 영역으로 노출되지 않습니다.

폼 연관 커스텀 요소

작성자가 정의한 ElementInternals에서 노출되는 역할

그렇지 않다면 role=generic

ElementInternals에 의해 역할이 정의된 경우, role 없음

그렇지 않다면, 폼 관련 역할: button, checkbox, combobox, listbox, progressbar, group, radio, radiogroup, searchbox, slider, spinbutton, switch 또는 textbox. (generic도 허용되지만 사용하지 않아야 함(SHOULD NOT).)

이름 지정 금지 (generic 역할로 노출되는 경우).

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

h1 to h6 role=heading, aria-level = 요소 태그 이름의 숫자

역할: none, presentation 또는 tab. (heading도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

DPub 역할: doc-subtitle

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

head 해당 역할 없음(No corresponding role)

role 없음 또는 aria-* 속성 없음

header

article, aside, main, nav 또는 section 요소의 하위가 아니거나, role=article, complementary, main, navigation, region 의 하위가 아닌 경우 role=banner

그렇지 않으면 role=generic

역할: group, none 또는 presentation. (article, aside, main, nav 또는 section 요소의 하위가 아니거나, role=article, complementary, main, navigation, region 의 하위가 아닌 경우 role=banner도 허용되지만 권장하지 않음(NOT RECOMMENDED). 그 외에는 role=generic도 허용되지만 사용하지 않아야 함(SHOULD NOT).)

이름 지정 금지 (generic으로 노출되는 경우).

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

hgroup role=group

모든 role 허용, 단 group권장하지 않음(NOT RECOMMENDED).

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

hr role=separator

역할: none 또는 presentation. (separator도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

DPub 역할: doc-pagebreak

글로벌 aria-* 속성separator 역할에 적용 가능한 모든 aria-* 속성.

html role=generic

role 없음 단, document 또는 generic 제외(이들 또한 권장하지 않음(NOT RECOMMENDED)).

aria-* 속성 없음.

i role=generic

모든 role 허용, 단 generic사용하지 않아야 함(SHOULD NOT).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

iframe 해당 역할 없음(No corresponding role)

역할: application, document, img, image, none 또는 presentation.

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

img
img에 비어 있지 않은 alt (alt="some text")가 있거나 다른 img 이름 지정 방법으로 접근 가능한 이름이 제공된 경우, 또는 imgalt가 없고 이름이 제공되지 않은 경우:
role=img or image

역할: button, checkbox, link, math, menuitem, menuitemcheckbox, menuitemradio, meter, option, progressbar, radio, scrollbar, separator, slider, switch, tab 또는 treeitem. (img or image도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

DPub 역할: doc-cover

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

img 에 접근 가능한 이름 없음

img에 비어 있는 alt (alt="") 가 있고 다른 img 이름 지정 방법이 없는 경우:
role=none, role=presentation

imgalt 속성이 없고 다른 img 이름 지정 방법이 없는 경우:
role=img or image

imgalt 속성이나 접근 가능한 이름이 없는 경우: role 없음 단, role=none 또는 presentation 제외. (role=img or image도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

imgalt=""가 있고 접근 가능한 이름을 제공하는 aria-label 또는 aria-labelledby가 없는 경우: role 없음 단, role=none 또는 presentation만 허용(이 또한 권장하지 않음(NOT RECOMMENDED)).

aria-* 속성 없음 (단, aria-hidden="true"는 예외).

그 외에, img에 작성자 정의 접근 가능한 이름이 있는 경우 접근 가능한 이름이 있는 img를 참조하세요.

input type=button role=button

역할: checkbox, combobox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab, 또는 treeitem. (button도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

input type=checkbox role=checkbox

역할: menuitemcheckbox, option 또는 switch; button (aria-pressed와 함께 사용하는 경우). (checkbox도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

작성자는 MUST NOT input type=checkbox 요소에 aria-checked를 사용해서는 안 됩니다.

그 외에는, 모든 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

참고

HTML의 checked 속성은 type=checkbox에서 menuitemcheckbox, option, switch 역할에 대해 aria-checked 대신 사용할 수 있습니다.

input type=color 해당 역할 없음(No corresponding role)

role 없음

글로벌 aria-* 속성aria-disabled 속성.

input type=date 해당 역할 없음(No corresponding role)

role 없음

글로벌 aria-* 속성textbox 역할에 적용 가능한 모든 aria-* 속성.

input type=datetime-local 해당 역할 없음(No corresponding role)

role 없음

글로벌 aria-* 속성textbox 역할에 적용 가능한 모든 aria-* 속성.

input type=emaillist 속성 없음 role=textbox

role 없음 단, textbox 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

글로벌 aria-* 속성textbox 역할에 적용 가능한 모든 aria-* 속성.

input type=file 해당 역할 없음(No corresponding role)

role 없음

글로벌 aria-* 속성, aria-disabled, aria-invalid, aria-required 속성.

input type=hidden 해당 역할 없음(No corresponding role)

role 없음 또는 aria-* 속성 없음

input type=image role=button

다음 역할은 허용되지만 권장하지 않음(NOT RECOMMENDED): button, checkbox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab 또는 treeitem.

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

가능하다면, 작성자는 지정하려는 역할을 허용하는 다른 HTML 요소(예: button) 사용을 권장(SHOULD)합니다.

input type=month 해당 역할 없음(No corresponding role)

role 없음

글로벌 aria-* 속성textbox 역할에 적용 가능한 모든 aria-* 속성.

input type=number role=spinbutton

role 없음 단, spinbutton 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

글로벌 aria-* 속성spinbutton 역할에 적용 가능한 모든 aria-* 속성.

input type=password 해당 역할 없음(No corresponding role)

role 없음

글로벌 aria-* 속성textbox 역할에 적용 가능한 모든 aria-* 속성.

input type=radio role=radio

역할: menuitemradio. (radio도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

작성자는 MUST NOT input type=radio 요소에 aria-checked를 사용해서는 안 됩니다.

그 외에는, 모든 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

참고

HTML의 checked 속성은 type=radio에서 menuitemradio 역할에 대해 aria-checked 대신 사용할 수 있습니다.

input type=range role=slider

role 없음 단, slider 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

작성자는 SHOULD NOT aria-valuemax 또는 aria-valuemin 속성을 input type=range에 사용하지 않아야 합니다.

그 외에는, 모든 글로벌 aria-* 속성slider 역할에 적용 가능한 기타 aria-* 속성.

input type=reset role=button

다음 역할은 허용되지만 권장하지 않음(NOT RECOMMENDED): button, checkbox, combobox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab 또는 treeitem.

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

가능하다면, 작성자는 지정하려는 역할을 허용하는 다른 HTML 요소(예: button) 사용을 권장(SHOULD)합니다.

input type=search, 에 list 속성 없음 role=searchbox

role 없음 단, searchbox 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

글로벌 aria-* 속성searchbox 역할에 적용 가능한 모든 aria-* 속성.

input type=submit role=button

다음 역할은 허용되지만 권장하지 않음(NOT RECOMMENDED): button, checkbox, combobox, gridcell, link, menuitem, menuitemcheckbox, menuitemradio, option, radio, separator, slider, switch, tab 또는 treeitem.

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

가능하다면, 작성자는 지정하려는 역할을 허용하는 다른 HTML 요소(예: button) 사용을 권장(SHOULD)합니다.

input type=tel, 에 list 속성 없음 role=textbox

role 없음 단, textbox 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

글로벌 aria-* 속성textbox 역할에 적용 가능한 모든 aria-* 속성.

input type=text 또는 type 누락/잘못된 경우, 그리고 list 속성 없음 role=textbox

역할: combobox, searchbox 또는 spinbutton. (textbox도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

input type=text, search, tel, url, email, 또는 type 누락/잘못된 경우, list 속성 있음 role=combobox

role 없음 단, combobox 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

작성자는 list 속성이 있는 해당 input에서 aria-haspopup사용하지 않아야 함(SHOULD NOT).

그 외에는, 모든 글로벌 aria-* 속성combobox 역할에 적용 가능한 기타 aria-* 속성.

input type=time 해당 역할 없음(No corresponding role)

role 없음

글로벌 aria-* 속성textbox 역할에 적용 가능한 모든 aria-* 속성.

input type=urllist 속성 없음 role=textbox

role 없음 단, textbox 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

글로벌 aria-* 속성textbox 역할에 적용 가능한 모든 aria-* 속성.

input type=week 해당 역할 없음(No corresponding role)

role 없음

글로벌 aria-* 속성textbox 역할에 적용 가능한 모든 aria-* 속성.

ins role=insertion

모든 role 허용, 단 insertion권장하지 않음(NOT RECOMMENDED).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

kbd 해당 역할 없음(No corresponding role)

모든 role

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

label 해당 역할 없음(No corresponding role)

label 요소가 암묵적 또는 명시적으로 라벨링 가능한 요소와 연결된 경우 role 없음

그렇지 않고 label이 어떤 요소와도 연결되어 있지 않다면, 모든 role 허용, 단 generic사용하지 않아야 함(SHOULD NOT).

이름 지정 금지 (generic으로 노출되거나, 이름 지정을 금지하는 다른 역할로 노출되는 경우).

그 외에는, 글로벌 aria-* 속성만 허용.

legend 해당 역할 없음(No corresponding role)

role 없음

이름 지정 금지

그 외에는, 글로벌 aria-* 속성만 허용.

li

li가 목록 요소 (ul, ol, menu)의 자식인 경우 role=listitem입니다.

그렇지 않고 li가 목록 요소의 자식이 아닌 경우 role=generic으로 노출됩니다.

부모 목록 요소가 암시적 또는 명시적으로 list 역할을 가진 경우, 없음 role이며 listitem만 허용되지만 권장하지 않음(NOT RECOMMENDED)입니다.

그 외에는, 부모 목록 요소가 암시적 또는 명시적으로 list 역할을 노출하지 않는 경우 모든 role이 허용됩니다.

참고

목록 요소에 허용되는 역할은 ul, ol, 또는 menu를 참조하세요.

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

작성자는 다음의 폐기된(deprecated) DPub 역할을 사용하지 않아야 함(SHOULD NOT): doc-biblioentry, doc-endnote.

link 해당 역할 없음(No corresponding role)

role 없음 또는 aria-* 속성 없음

main role=main

role 없음 단, main 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

글로벌 aria-* 속성main 역할에 적용 가능한 모든 aria-* 속성.

map 해당 역할 없음(No corresponding role)

role 없음 또는 aria-* 속성 없음

mark 해당 역할 없음(No corresponding role)

모든 role

이름 지정 금지

그 외에는, global aria-* attributes 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

math role=math

role 없음 단, math 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

글로벌 aria-* 속성math 역할에 적용 가능한 모든 aria-* 속성.

menu role=list

역할: group, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbar 또는 tree. (list도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

작성자는 폐기된(deprecated) directory 역할을 사용하지 않아야 함(SHOULD NOT).

meta 해당 역할 없음(No corresponding role)

role 없음 또는 aria-* 속성 없음

meter role=meter

role 없음 단, meter 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

작성자는 aria-valuemax 또는 aria-valuemin 속성을 meter 요소에서 사용하지 않아야 함(SHOULD NOT).

그 외에는, 모든 글로벌 aria-* 속성meter 역할에 적용 가능한 기타 aria-* 속성.

nav role=navigation

역할: menu, menubar, none, presentation 또는 tablist. (navigation도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

DPub 역할: doc-index, doc-pagelist 또는 doc-toc

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

noscript 해당 역할 없음(No corresponding role)

role 없음 또는 aria-* 속성 없음

object 해당 역할 없음(No corresponding role)

역할: application, document, img 또는 image.

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

ol role=list

역할: group, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbar 또는 tree. (list도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

작성자는 폐기된(deprecated) directory 역할을 사용하지 않아야 함(SHOULD NOT).

optgroup role=group

role 없음 단, group 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

글로벌 aria-* 속성group 역할에 적용 가능한 모든 aria-* 속성.

option 요소가 옵션 목록에 있거나 제안을 나타내는 datalist의 일부인 경우 role=option

role 없음 단, option 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

작성자는 option 요소에서 aria-selected 속성을 사용하지 않아야 함(SHOULD NOT).

글로벌 aria-* 속성option 역할에 적용 가능한 기타 aria-* 속성.

output role=status

모든 role 허용, 단 status권장하지 않음(NOT RECOMMENDED).

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

p role=paragraph

모든 role 허용, 단 paragraph권장하지 않음(NOT RECOMMENDED).

이름 지정 금지

그 외에는, global aria-* attributes 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

param 해당 역할 없음(No corresponding role)

role 없음 또는 aria-* 속성 없음

picture 해당 역할 없음(No corresponding role)

role 없음

작성자는 aria-hidden 속성을 picture 요소에 MAY 지정할 수 있습니다. 그 외에는 허용되는 다른 aria-* 속성이 없습니다.

pre role=generic

모든 role 허용, 단 generic사용하지 않아야 함(SHOULD NOT).

이름 지정 금지

그 외에는, global aria-* attributes 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

progress role=progressbar

role 없음 단, progressbar 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

작성자는 aria-valuemax 속성을 progress 요소에 사용하지 않아야 함(SHOULD NOT).

그 외에는, 모든 글로벌 aria-* 속성progressbar 역할에 적용 가능한 기타 aria-* 속성.

q role=generic

모든 role 허용, 단 generic사용하지 않아야 함(SHOULD NOT).

이름 지정 금지

그 외에는, global aria-* attributes 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

rp 해당 역할 없음(No corresponding role)

모든 role

이름 지정 금지

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

rt 해당 역할 없음(No corresponding role)

모든 role

이름 지정 금지

그 외에는, global aria-* attributes 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

ruby 해당 역할 없음(No corresponding role)

모든 role

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

s role=deletion

모든 role 허용, 단 deletion권장하지 않음(NOT RECOMMENDED).

이름 지정 금지

그 외에는, global aria-* attributes 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

samp role=generic

모든 role 허용, 단 generic사용하지 않아야 함(SHOULD NOT).

이름 지정 금지

그 외에는, global aria-* attributes 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

script 해당 역할 없음(No corresponding role)

role 없음 또는 aria-* 속성 없음

search

role=search

역할: form, group, none, presentation 또는 region. (search도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

section

section 요소에 접근 가능한 이름이 있는 경우 role=region

그렇지 않으면, role=generic

역할: alert, alertdialog, application, banner, complementary, contentinfo, dialog, document, feed, group, log, main, marquee, navigation, none, note, presentation, search, status 또는 tabpanel. (role=region도 허용되지만 권장하지 않음(NOT RECOMMENDED). role=generic사용하지 않아야 함(SHOULD NOT).)

DPub 역할: doc-abstract, doc-acknowledgments, doc-afterword, doc-appendix, doc-bibliography, doc-chapter, doc-colophon, doc-conclusion, doc-credit, doc-credits, doc-dedication, doc-endnotes, doc-epigraph, doc-epilogue, doc-errata, doc-example, doc-foreword, doc-glossary, doc-index, doc-introduction, doc-notice, doc-pagelist, doc-part, doc-preface, doc-prologue, doc-pullquote, doc-qna, doc-toc

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

select (multiple 속성이 없고 size 속성 값이 1보다 크지 않은 경우) role=combobox

역할: menu. (combobox도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

작성자는 select 요소에서 aria-multiselectable 속성을 사용하지 않아야 함(SHOULD NOT).

그 외에는, 모든 글로벌 aria-* 속성combobox 또는 menu 역할에 적용 가능한 기타 aria-* 속성.

select (multiple 속성이 있거나 size 속성 값이 1보다 큰 경우) role=listbox

role 없음 단, listbox 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

작성자는 select 요소에서 aria-multiselectable 속성을 사용하지 않아야 함(SHOULD NOT).

그 외에는, 모든 글로벌 aria-* 속성listbox 역할에 적용 가능한 기타 aria-* 속성.

selectedcontent role=generic

유효한 select 요소의 하위로 사용되는 경우: role 없음 또는 aria-* 속성 없음

그 외에는, 해당 요소가 사용자 정의 가능한 select 요소의 button 부분의 자식으로 의도된 컨텍스트 밖에서 사용되는 경우 모든 role 허용, 단 generic권장하지 않음(NOT RECOMMENDED).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

slot 해당 역할 없음(No corresponding role)

role 없음 또는 aria-* 속성 없음

small role=generic

모든 role 허용, 단 generic사용하지 않아야 함(SHOULD NOT).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

source 해당 역할 없음(No corresponding role)

role 없음 또는 aria-* 속성 없음

span role=generic

모든 role 허용, 단 generic사용하지 않아야 함(SHOULD NOT).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

strong role=strong

모든 role 허용, 단 strong권장하지 않음(NOT RECOMMENDED).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

style 해당 역할 없음(No corresponding role)

role 없음 또는 aria-* 속성 없음

sub role=subscript

모든 role 허용, 단 subscript권장하지 않음(NOT RECOMMENDED).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

summary

해당 역할 없음(No corresponding role)

참고
많은(하지만 전부는 아님) 사용자 에이전트는 summary 요소를 암시적 ARIA role=button으로 노출합니다.

summary 요소가 부모 details의 summary 인 경우 role 없음.

글로벌 aria-* 속성, aria-disabled, 및 aria-haspopup 속성.

그 외에는, 작성자는 MAY 임의의 role을 지정할 수 있으며, 모든 글로벌 aria-* 속성과 허용된 역할에 적용 가능한 aria-* 속성을 사용할 수 있습니다.

sup role=superscript

모든 role 허용, 단 superscript권장하지 않음(NOT RECOMMENDED).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

SVG role=graphics-document (SVG AAM에서 정의)

모든 role 허용, 단 graphics-document권장하지 않음(NOT RECOMMENDED).

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

table role=table

모든 role 허용, 단 table권장하지 않음(NOT RECOMMENDED).

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

tbody role=rowgroup

모든 role 허용, 단 rowgroup권장하지 않음(NOT RECOMMENDED).

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

td

조상 table 요소가 role=table로 노출되는 경우 role=cell

조상 table 요소가 role=grid 또는 treegrid로 노출되는 경우 role=gridcell

조상 table 요소가 role=table, grid 또는 treegrid로 노출되지 않는 경우 해당 역할 없음(No corresponding role)

조상 table 요소가 role=table, grid 또는 treegrid를 가진 경우, 다음을 제외하고는 role 없음입니다:

  • 조상 table 요소가 role=table로 노출되는 경우 cell 은 허용되지만 권장하지 않음(NOT RECOMMENDED)입니다.
  • 조상 table 요소가 role=grid 또는 treegrid로 노출되는 경우 gridcell 은 허용되지만 권장하지 않음(NOT RECOMMENDED)입니다.

그렇지 않고 조상 table 요소가 role=table, grid 또는 treegrid로 노출되지 않는 경우 모든 role이 허용됩니다.

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

template 해당 역할 없음(No corresponding role)

role 없음 또는 aria-* 속성 없음

textarea role=textbox

role 없음 단, textbox 제외(이 또한 권장하지 않음(NOT RECOMMENDED)).

글로벌 aria-* 속성textbox 역할에 적용 가능한 모든 aria-* 속성.

tfoot role=rowgroup

모든 role 허용, 단 rowgroup권장하지 않음(NOT RECOMMENDED).

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

th

조상 table 요소가 role=table로 노출되는 경우 role=columnheader, rowheader 또는 cell

조상 table 요소가 role=grid 또는 treegrid로 노출되는 경우 role=columnheader, rowheader 또는 gridcell

조상 table 요소가 role=table, grid 또는 treegrid로 노출되지 않는 경우 해당 역할 없음(No corresponding role)

조상 table 요소가 role=table, grid, 또는 treegrid를 가진 경우, 다음을 제외하고는 role 없음입니다:

  • 조상 table 요소가 role=table로 노출되는 경우 columnheader, rowheadercell 은 허용되지만 권장하지 않음(NOT RECOMMENDED)입니다.
  • 조상 table 요소가 role=grid 또는 treegrid로 노출되는 경우 columnheader, rowheader 또는 gridcell 은 허용되지만 권장하지 않음(NOT RECOMMENDED)입니다.

그렇지 않고 조상 table 요소가 role=table, grid 또는 treegrid로 노출되지 않는 경우 모든 role이 허용됩니다.

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

thead role=rowgroup

모든 role 허용, 단 rowgroup권장하지 않음(NOT RECOMMENDED).

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

time role=time

모든 role 허용, 단 time권장하지 않음(NOT RECOMMENDED).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

title 해당 역할 없음(No corresponding role)

role 없음 또는 aria-* 속성 없음

tr role=row

조상 table 요소가 role=table, grid, 또는 treegrid를 가진 경우 role 없음 단, row 제외(이 또한 권장하지 않음(NOT RECOMMENDED)); 그렇지 않은 경우 모든 role 허용, 단 row권장하지 않음(NOT RECOMMENDED).

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

track 해당 역할 없음(No corresponding role)

role 없음 또는 aria-* 속성 없음

u role=generic

모든 role 허용, 단 generic사용하지 않아야 함(SHOULD NOT).

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

ul role=list

역할: group, listbox, menu, menubar, none, presentation, radiogroup, tablist, toolbar 또는 tree. (list도 허용되지만 권장하지 않음(NOT RECOMMENDED).)

글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

작성자는 폐기된(deprecated) directory 역할을 사용하지 않아야 함(SHOULD NOT).

var 해당 역할 없음(No corresponding role)

모든 role

이름 지정 금지

그 외에는, 글로벌 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

video 해당 역할 없음(No corresponding role)

역할: application

글로벌 aria-* 속성application 역할에 적용 가능한 모든 aria-* 속성.

wbr 해당 역할 없음(No corresponding role)

역할: none 또는 presentation

작성자는 aria-hidden 속성을 wbr 요소에 MAY 지정할 수 있습니다. 그 외에는 허용되는 다른 aria-* 속성이 없습니다.

표의 두 번째 열에 해당 역할 없음(No corresponding role)으로 표시된 요소들은 암시적 ARIA 의미론을 갖지 않지만, 고유한 의미는 있으며 이러한 의미는 ARIA가 제공하지 않는 역할, 상태 및 속성으로 표현될 수 있고, 접근성 API를 통해 보조 기술 사용자에게 노출될 수 있습니다. 따라서 나열된 요소들의 의미를 재정의하기보다는, 의미적으로 중립적인 div 또는 span 같은 요소에 role 속성을 추가하는 것을 권장합니다.

참고

저자들은 본 문서에서 제공하는 내용을 넘어, HTML에서 ARIA를 사용하는 방법에 대한 지침으로 다음 문서를 활용하는 것이 권장됩니다:

  • Using ARIA - 접근 가능한 Rich Internet Applications 규격을 사용하여 HTML 요소에 접근성 정보를 추가하는 방법에 대한 실용적인 가이드입니다.
  • WAI-ARIA Authoring Practices 1.2 - 접근 가능한 Rich Internet Applications를 이해하고 구현하기 위한 저자용 가이드입니다.

4.1 요소 이름 지정을 위한 ARIA 속성 사용 요건

저자들은 MAY aria-labelaria-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 요소들의 일부를 보여줍니다.

예제 14: 저자에 의한 이름 지정을 금지하는 암시적 ARIA 역할을 가진 요소들
<!-- DO NOT do the following! -->
<p aria-label="...">...</p>

<span aria-label="...">...<span>

<code aria-label="...">...<code>

<div aria-labelledby="...">...</div>

다음 마크업 예시는 저자에 의한 이름 지정을 허용하는 명시적 WAI-ARIA 역할을 가진 요소들을 보여줍니다. 이러한 요소에 명시적 역할이 지정되어 있으므로, aria-labelaria-labelledby 속성 사용이 허용됩니다.

예제 15: 저자에 의한 이름 지정을 허용하는 명시적 ARIA 역할을 가진 요소들
<p role="link" tabindex="0" aria-label="...">...</p>

<span role="button" tabindex="0" aria-label="...">...<span>

<div role="article" aria-labelledby="...">...</div>

4.2 동등한 HTML 속성을 대체하여 ARIA 속성을 사용하는 데 대한 요건

달리 명시되지 않는 한, 저자들은 MAY HTML 요소에서 해당 aria-* 의미론이 기대되는 경우, 동등한 HTML 속성 대신 aria-* 속성을 사용할 수 있습니다. 예를 들어, 저자들은 MAY aria-disabled=truebutton 요소에 지정하고, 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 기능 및 aria-* 속성 저자 가이드
checked 속성을 허용하는 모든 요소 aria-checked="true"

HTML에서 checked 속성을 허용하는 어떤 요소에도 checked 속성을 사용하십시오. indeterminate IDL 속성을 사용하여 input type=checkbox 요소의 “mixed” 상태를 나타내십시오.

저자들은 MUST NOT aria-checked 속성을, 요소의 checkedness 또는 요소의 미확정(indeterminate) 체크 값이 현재 aria-checked 값과 상충할 수 있는 어떤 요소에도 사용해서는 안 됩니다.

저자들은 MAY 해당 속성을 허용하는 WAI-ARIA 역할을 가진 다른 어떤 요소에도 aria-checked 속성을 사용할 수 있습니다.

disabled 속성을 허용하는 모든 요소. 다음을 포함: option disabledoptgroup disabled aria-disabled="true"

HTML에서 disabled 속성을 허용하는 어떤 요소에도 disabled 속성을 사용하십시오.

저자들은 MAY aria-disabled 속성을, HTML에서 disabled 속성을 허용하는 어떤 요소 또는 aria-disabled 속성을 허용하는 WAI-ARIA 역할을 가진 어떤 요소에도 사용할 수 있습니다.

저자들은 SHOULD NOT disabled 속성도 가진 요소에 aria-disabled="true"를 사용하지 않아야 합니다.

저자들은 MUST NOT disabled 속성도 가진 요소에 aria-disabled="false"를 사용해서는 안 됩니다.

hidden 속성이 있는 모든 요소 aria-hidden="true"

저자들은 MAY aria-hidden 속성을, 포커스 가능한 요소 및 body 요소를 제외하고 글로벌 aria-* 속성을 지정할 수 있는 모든 HTML 요소에 지정할 수 있습니다.

일반적으로 hidden 속성이 지정된 요소에 aria-hidden="true"를 사용하는 것은 NOT RECOMMENDED입니다. 그러나 hidden 속성이 until-found 상태로 지정된 요소에는 aria-hidden="true"MUST NOT 사용해야 합니다.

참고
포커스 가능한 요소란 키보드나 포인팅 장치를 사용하여 포커스를 줄 수 있는 모든 요소를 의미합니다. 포커스 가능한 요소가 항상 키보드로 탭 이동 가능한 요소를 뜻하는 것은 아닙니다. 예를 들어 tabindex="-1"인 요소는 포커스는 가능하지만 탭 이동은 불가능합니다.
참고
hidden 속성이 있는 요소에 aria-hidden="true"를 사용하는 것은 최선의 경우 불필요한 중복입니다. 최악의 경우 저자 또는 사용자 스타일 시트가 hidden 속성의 기본 UA 스타일(display: none)을 의도적으로 덮어쓴 경우 콘텐츠 접근을 방해할 수 있습니다. 마지막으로 hidden 속성의 값이 until-found인 경우, aria-hidden=true를 사용하면 브라우저의 페이지 내 찾기 기능으로 발견되어 시각적으로 렌더링될 때 보조 기술 사용자에게 이 콘텐츠가 검색되지 않게 됩니다.
placeholder 속성을 허용하는 모든 요소 aria-placeholder="..."

HTML에서 placeholder 속성을 허용하는 어떤 요소에도 placeholder 속성을 사용하십시오.

저자들은 MAY aria-placeholder 속성을, HTML에서 placeholder 속성을 허용하는 어떤 요소 또는 aria-placeholder 속성을 허용하는 WAI-ARIA 역할을 가진 어떤 요소에도 사용할 수 있습니다.

저자들은 MUST NOT placeholder 속성도 가진 어떤 요소에도 aria-placeholder 속성을 사용해서는 안 됩니다.

max 속성을 허용하는 모든 요소: meter max, progress max, 및 input max aria-valuemax="..."

HTML에서 max 속성을 허용하는 어떤 요소에도 max 속성을 사용하십시오.

저자들은 MAY aria-valuemax 속성을, aria-valuemax를 허용하는 WAI-ARIA 역할을 가진 다른 어떤 요소에도 사용할 수 있습니다.

저자들은 SHOULD NOT max 속성을 허용하는 요소에 aria-valuemax를 사용하지 않아야 합니다. 대신 max 속성을 사용하십시오.

저자들은 MUST NOT max 속성도 가진 요소에 aria-valuemax를 사용해서는 안 됩니다.

min 속성을 허용하는 모든 요소: meter mininput min aria-valuemin="..."

HTML에서 min 속성을 허용하는 어떤 요소에도 min 속성을 사용하십시오.

저자들은 MAY aria-valuemin 속성을, aria-valuemin을 허용하는 WAI-ARIA 역할을 가진 다른 어떤 요소에도 사용할 수 있습니다.

저자들은 SHOULD NOT min 속성을 허용하는 요소에 aria-valuemin을 사용하지 않아야 합니다. 대신 min 속성을 사용하십시오.

저자들은 MUST NOT min 속성도 가진 요소에 aria-valuemin을 사용해서는 안 됩니다.

readonly 속성을 허용하는 모든 요소: input readonly, textarea readonly폼 연관 커스텀 요소(다음 속성을 허용하는 경우: readonly) aria-readonly="true"

HTML에서 readonly 속성을 허용하는 어떤 요소에도 readonly 속성을 사용하십시오.

저자들은 MAY aria-readonly 속성을, 해당 속성을 허용하는 WAI-ARIA 역할을 가진 어떤 요소에도 사용할 수 있습니다.

저자들은 SHOULD NOT readonly 속성도 가진 어떤 요소에도 aria-readonly="true"를 사용하지 않아야 합니다.

저자들은 MUST NOT readonly 속성도 가진 어떤 요소에도 aria-readonly="false"를 사용해서는 안 됩니다.

contenteditable=true인 요소 또는 contenteditable 속성이 없고, 가장 가까운 조상에 contenteditable="true"가 지정된 요소.

참고

이는 isContentEditable IDL 속성과 동등합니다.

aria-readonly="false" 저자들은 MUST NOT isContentEditable="true"인 요소에 aria-readonly="true"를 설정해서는 안 됩니다.
required 속성을 허용하는 모든 요소: input required, textarea required, 및 select required aria-required="true"

HTML에서 required 속성을 허용하는 어떤 요소에도 required 속성을 사용하십시오.

저자들은 MAY aria-required 속성을, HTML에서 required 속성을 허용하는 어떤 요소 또는 aria-required 속성을 허용하는 WAI-ARIA 역할을 가진 어떤 요소에도 사용할 수 있습니다.

저자들은 SHOULD NOT required 속성도 가진 어떤 요소에도 aria-required="true"를 사용하지 않아야 합니다.

저자들은 MUST NOT required 속성도 가진 어떤 요소에도 aria-required="false"를 사용해서는 안 됩니다.

colspan 속성을 허용하는 모든 요소: td, th aria-colspan="..."

HTML에서 colspan 속성을 허용하는 어떤 요소에도 colspan 속성을 사용하십시오.

저자들은 SHOULD NOT colspan 속성도 가진 어떤 요소에도 aria-colspan 속성을 사용하지 않아야 합니다.

저자들은 MUST NOT colspan 속성도 가진 요소에 aria-colspan을 사용하면서 각 속성의 값이 일치하지 않게 해서는 안 됩니다.

rowspan 속성을 허용하는 모든 요소: td, th aria-rowspan="..."

HTML에서 rowspan 속성을 허용하는 어떤 요소에도 rowspan 속성을 사용하십시오.

저자들은 SHOULD NOT rowspan 속성도 가진 어떤 요소에도 aria-rowspan 속성을 사용하지 않아야 합니다.

저자들은 MUST NOT rowspan 속성도 가진 요소에 aria-rowspan을 사용하면서 각 속성의 값이 일치하지 않게 해서는 안 됩니다.

4.3 사용 중단된 ARIA 역할, 상태, 속성 및 특성에 대한 요구 사항

ARIA 명세의 Deprecated Requirements 절은, 어떤 ARIA 기능이 사용 중단으로 표시된 경우 새로운 콘텐츠에서 해당 기능을 사용하지 말 것을 저자에게 권고합니다.

다음 역할과 속성은 ARIA 및 DPub ARIA의 사용 중단 기능입니다. 적합성 검사 도구는 이러한 기능의 사용 중단 상태에 대해 저자에게 MUST 경고해야 합니다. 가능한 경우, 저자에게는 사용 중단 기능의 대안을 사용할 것을 권장합니다.

4.3.1 사용 중단된 ARIA 역할

참고

directory 역할은 WAI-ARIA 1.2에서 사용 중단 예정으로 표시되어 있습니다. 실제로 directory 역할은 암시적 또는 명시적으로 list 역할을 갖는 요소와 기능적 차이가 없습니다. 저자들은 HTML의 기본 목록 요소 중 하나 또는 ARIA의 list를 사용하는 것이 권장됩니다.

4.3.2 사용 중단된 DPub ARIA 역할

참고

doc-biblioentrydoc-endnote 역할은 Digital Publishing WAI-ARIA Module 1.1에서 사용 중단 예정으로 표시되어 있는데, 이는 이들이 암시적 또는 명시적으로 list 역할을 가진 요소의 유효한 자식이 아니기 때문입니다. 저자들은 이러한 역할 없이 표준 목록과 자식 li 요소를 사용할 수 있습니다.

4.3.3 사용 중단된 ARIA 특성

참고

aria-dropeffectaria-grabbed 특성은 WAI-ARIA 1.1에서 사용 중단되었습니다. 현재 이들이 제안했던 기능을 대체할 ARIA 기능은 없습니다.

4.4 ARIA 역할, 상태 및 속성 특성의 대소문자 요구 사항

저자들은 SHOULD 모든 role 토큰 값과, 값이 토큰으로 정의된 상태 또는 속성(aria-*) 특성에 대해 ASCII 소문자를 사용해야 합니다.

참고

최신 브라우저는 role 또는 aria-* 특성 값을 ASCII 대소문자 구분 없음으로 처리하지만, 모든 보조 기술이 이러한 값을 올바르게 파싱하는 것은 아닙니다.

상호 운용성 문제를 줄이기 위해, 저자들은 aria-*role 특성 값에 ASCII 소문자 사용을 강력히 권장합니다. 더불어, 다양한 브라우저와 보조 기술 조합으로 엄격히 테스트하여 콘텐츠가 사용자에게 올바르게 노출되는지 확인하는 것이 바람직합니다.

5. ARIA 역할의 허용된 하위 요소

이 절은 비규범적입니다.

다음 표는 [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 contenttabindex 속성을 가진 하위 요소는 허용하지 않습니다. 따라서 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"를 참조하도록 표시되어 있습니다.

ARIA 역할의 허용된 하위 요소
역할 콘텐츠 종류 하위 요소 허용 범위
alert Flow content Flow content 단, main 요소 하위는 허용되지 않습니다.
alertdialog Flow content Flow content
application Flow content Flow content
article Flow content 단, main 요소 하위는 허용되지 않습니다.
banner Flow content 단, main, header, 또는 footer 요소 하위는 허용되지 않습니다.
blockquote Flow content 단, main 요소 하위는 허용되지 않습니다.
button Phrasing content 단, interactive content 하위 요소와 tabindex 속성이 지정된 하위 요소는 허용되지 않습니다.
caption N/A Flow content 단, main 또는 table 요소 하위는 허용되지 않습니다.
cell N/A Flow content 단, main 요소 하위는 허용되지 않습니다.
checkbox Phrasing content 단, interactive content 하위 요소와 tabindex 속성이 지정된 하위 요소는 허용되지 않습니다.
code Phrasing content
columnheader N/A Flow content 단, header, main, 또는 footer 요소 하위는 허용되지 않습니다.
combobox Flow content 단, main 요소 하위는 허용되지 않습니다.
complementary Flow content 단, main 요소 하위는 허용되지 않습니다.
contentinfo Flow content 단, header, main, 또는 footer 요소 하위는 허용되지 않습니다.
definition Phrasing content
deletion Phrasing content
dialog Flow content Flow content
directory Flow content Flow content 단, main 요소 하위는 허용되지 않습니다.
document Flow content Flow content
emphasis Phrasing content
feed Flow content Flow content 단, main 요소 하위는 허용되지 않습니다.
figure Flow content 단, main 요소 하위는 허용되지 않습니다.
form Flow content 단, form 요소 하위는 허용되지 않습니다.
generic Flow content
grid ARIA grid 역할에 대해 정의된 "Required Owned Elements"를 참조하세요.
gridcell Interactive content Flow content 단, main 요소 하위는 허용되지 않습니다.
group Flow content
heading Phrasing content
img or image Phrasing content 단, interactive content 하위 요소는 허용되지 않습니다.
insertion Phrasing content
link Flow content 단, interactive content 하위 요소와 tabindex 속성이 지정된 하위 요소는 허용되지 않습니다.
list Flow content ARIA list 역할에 대해 정의된 "Required Owned Elements"를 참조하세요.
listbox ARIA listbox 역할에 대해 정의된 "Required Owned Elements"를 참조하세요.
listitem N/A Flow content 단, main 요소 하위는 허용되지 않습니다.
log Flow content Flow content 단, main 요소 하위는 허용되지 않습니다.
main Flow content Flow content 단, main 요소 하위는 허용되지 않습니다.
marquee Flow content Flow content 단, main 요소 하위는 허용되지 않습니다.
math Flow content Flow content
menu ARIA menu 역할에 대해 정의된 "Required Owned Elements"를 참조하세요.
menubar ARIA menubar 역할에 대해 정의된 "Required Owned Elements"를 참조하세요.
menuitem Interactive content Phrasing content 단, interactive content 하위 요소와 tabindex 속성이 지정된 하위 요소는 허용되지 않습니다.
menuitemcheckbox Interactive content Phrasing content 단, interactive content 하위 요소와 tabindex 속성이 지정된 하위 요소는 허용되지 않습니다.
menuitemradio Interactive content Phrasing content 단, interactive content 하위 요소와 tabindex 속성이 지정된 하위 요소는 허용되지 않습니다.
meter Phrasing content 단, meter 요소 하위는 허용되지 않습니다.
navigation Flow content 단, main 요소 하위는 허용되지 않습니다.
none N/A Transparent
note Flow content Flow content 단, main 요소 하위는 허용되지 않습니다.
option Interactive content Phrasing content 단, interactive content 하위 요소와 tabindex 속성이 지정된 하위 요소는 허용되지 않습니다.
paragraph Phrasing content
presentation N/A Transparent
progressbar Phrasing content 단, progress 요소 하위는 허용되지 않습니다.
radio Phrasing content 단, interactive content 하위 요소와 tabindex 속성이 지정된 하위 요소는 허용되지 않습니다.
radiogroup Flow content
region Flow content 단, main 요소 하위는 허용되지 않습니다.
row N/A ARIA row 역할에 대해 정의된 "Required Owned Elements"를 참조하세요.
rowgroup N/A ARIA rowgroup 역할에 대해 정의된 "Required Owned Elements"를 참조하세요.
rowheader N/A Flow content 단, main 요소 하위는 허용되지 않습니다.
scrollbar Interactive content (포커스 가능한 경우) Phrasing content
search Flow content 단, main 요소 하위는 허용되지 않습니다.
searchbox Flow content 단, main 요소 하위는 허용되지 않습니다.
separator Interactive content (포커스 가능한 경우) Phrasing content
slider Phrasing content
spinbutton Flow content 단, main 요소 하위는 허용되지 않습니다.
status Flow content Flow content 단, main 요소 하위는 허용되지 않습니다.
strong Phrasing content
subscript Phrasing content
superscript Phrasing content
switch Phrasing content 단, interactive content 하위 요소와 tabindex 속성이 지정된 하위 요소는 허용되지 않습니다.
tab Interactive content Phrasing content 단, interactive content 하위 요소와 tabindex 속성이 지정된 하위 요소는 허용되지 않습니다.
table ARIA table 역할에 대해 정의된 "Required Owned Elements"를 참조하세요.
tablist ARIA tablist 역할에 대해 정의된 "Required Owned Elements"를 참조하세요.
tabpanel Flow content Flow content
term Phrasing content Phrasing content
textbox Interactive content Flow content 단, main 요소 하위는 허용되지 않습니다.
time Phrasing content
timer Flow content Flow content 단, main 요소 하위는 허용되지 않습니다.
toolbar Flow content Flow content 단, main 요소 하위는 허용되지 않습니다.
tooltip Flow content Phrasing content
tree Flow content ARIA tree 역할에 대해 정의된 "Required Owned Elements"를 참조하세요.
treegrid Flow content ARIA treegrid 역할에 대해 정의된 "Required Owned Elements"를 참조하세요.
treeitem Interactive content Phrasing content

6. 준수(Conformance)

비규범적(비표준)으로 표시된 섹션과 마찬가지로, 이 명세에 있는 모든 작성 가이드라인, 다이어그램, 예제 및 주석 또한 비규범적입니다. 이 명세의 그 외 모든 내용은 규범적입니다.

본 문서에서 MAY, MUST, MUST NOT, NOT RECOMMENDED, SHOULD, SHOULD NOT이라는 주요 단어는 BCP 14 [RFC2119] [RFC8174] 에서 설명된 대로, 오직 모두 대문자로 표시된 경우에만 그 의미로 해석해야 합니다.

6.1 준수 검사 요구사항

HTML 문서에서 ARIA 검사를 지원한다고 주장하는 준수 검사기는 MUST 이 명세에 정의된 대로 rolearia-* 속성의 준수 요구사항 검사를 구현해야 합니다. HTML 요소에 대해 검사합니다.

준수하는 문서는 MUST NOT 이 명세에 따라 저자가 각 HTML 요소에 사용할 수 있는 값이 아닌 값으로 작성자가 정의한 role 또는 aria-* 속성이 포함되어서는 안 됩니다. 준수 검사기는 SHOULD 저자가 암시적 ARIA 의미론과 일치하는 role을 명시적으로 지정한 경우 실패로 표시해야 하며, 이는 저자가 이러한 역할을 명시적으로 설정하는 것이 NOT RECOMMENDED이기 때문입니다.

준수 검사기는 문서가 본 명세를 준수하지 않을 때, 자체 용어 및 심각도 수준을 정의할 수 있습니다(MAY).

7. 개인정보 보호 및 보안 고려사항

이 절은 비규범적입니다.

이 명세는 [wai-aria-1.2], [dpub-aria-1.0] 또는 [HTML]의 기능을 정의하지 않습니다. 대신, HTML에서 ARIA 검사 지원을 주장하는 준수 검사기 및 저자에게 가이드라인과 규칙을 제공합니다.

따라서, 이 명세는 새로운 기능을 정의하지 않으므로, 현재 알려진 개인정보 보호 또는 보안 영향이 없습니다.

A. 참고문헌(References)

A.1 규범적 참고문헌

[accname-1.2]
Accessible Name and Description Computation 1.2. Bryan Garaventa; Melanie Sumner. W3C. 17 June 2025. W3C Working Draft. URL: https://www.w3.org/TR/accname-1.2/
[dpub-aria-1.0]
Digital Publishing WAI-ARIA Module 1.0. Matt Garrish; Tzviya Siegman; Markus Gylling; Shane McCarron. W3C. 14 December 2017. W3C Recommendation. URL: https://www.w3.org/TR/dpub-aria-1.0/
[dpub-aria-1.1]
Digital Publishing WAI-ARIA Module 1.1. Matt Garrish; Tzviya Siegman. W3C. 12 June 2025. W3C Recommendation. URL: https://www.w3.org/TR/dpub-aria-1.1/
[html]
HTML Standard. Anne van Kesteren; Domenic Denicola; Dominic Farolino; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. Living Standard. URL: https://html.spec.whatwg.org/multipage/
[html-aam-1.0]
HTML 접근성 API 매핑 1.0(HTML Accessibility API Mappings 1.0). Scott O'Hara; Rahim Abdi. W3C. 30 July 2025. W3C Working Draft. URL: https://www.w3.org/TR/html-aam-1.0/
[infra]
Infra Standard. Anne van Kesteren; Domenic Denicola. WHATWG. Living Standard. URL: https://infra.spec.whatwg.org/
[RFC2119]
RFC에서 요구 수준을 나타내기 위한 키워드(Key words for use in RFCs to Indicate Requirement Levels). S. Bradner. IETF. March 1997. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119
[RFC8174]
RFC 2119 키워드의 대문자/소문자 모호성(Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words). B. Leiba. IETF. May 2017. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc8174
[svg-aam-1.0]
SVG 접근성 API 매핑(SVG Accessibility API Mappings). Amelia Bellamy-Royds; Ian Pouncey. W3C. 10 May 2018. W3C Working Draft. URL: https://www.w3.org/TR/svg-aam-1.0/
[wai-aria-1.1]
접근 가능한 리치 인터넷 애플리케이션(WAI-ARIA) 1.1(Accessible Rich Internet Applications (WAI-ARIA) 1.1). Joanmarie Diggs; Shane McCarron; Michael Cooper; Richard Schwerdtfeger; James Craig. W3C. 14 December 2017. W3C Recommendation. URL: https://www.w3.org/TR/wai-aria-1.1/
[wai-aria-1.2]
접근 가능한 리치 인터넷 애플리케이션(WAI-ARIA) 1.2(Accessible Rich Internet Applications (WAI-ARIA) 1.2). Joanmarie Diggs; James Nurthen; Michael Cooper; Carolyn MacLeod. W3C. 6 June 2023. W3C Recommendation. URL: https://www.w3.org/TR/wai-aria-1.2/

A.2 비규범적 참고문헌

[using-aria]
ARIA 사용법(Using ARIA). Steve Faulkner; David MacDonald. W3C. 27 September 2018. W3C Working Draft. URL: https://www.w3.org/TR/using-aria/
[wai-aria-practices-1.2]
WAI-ARIA 작성 관행 1.2(WAI-ARIA Authoring Practices 1.2). Matthew King; JaEun Jemma Ku; James Nurthen; Zoë Bijl; Michael Cooper. W3C. 19 May 2022. W3C Working Group Note. URL: https://www.w3.org/TR/wai-aria-practices-1.2/