HTML에서의 ARIA

W3C 권고안

이 문서에 대한 추가 정보
이 버전:
https://www.w3.org/TR/2026/REC-html-aria-20260415/
최신 공식 버전:
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.1 속성을 [HTML] 요소에서 사용할 때의 작성 규칙(작성자 준수 요구사항)을 정의합니다. 이 명세의 주요 목적은 작성자(즉, 웹 개발자)가 사용하는 준수 검사 도구에서 적용할 요구사항을 정의하는 것입니다. 이러한 요구사항은 ARIA를 사용하여 호스트 언어 [HTML]의 기능을 보완하거나 확장하는 맞춤형 인터페이스 및 위젯을 포함한 웹 콘텐츠 개발에 있어 작성자에게 도움을 줍니다.

이 문서의 상태

이 절은 본 문서가 출판된 시점의 상태를 설명합니다. 최신 W3C 발행물 목록과 이 기술 보고서의 최신 개정본은 W3C 표준 및 초안 인덱스에서 확인할 수 있습니다.

ARIA in HTML은 [HTML] 명세 모듈입니다. 이 명세 모듈에서 참조하지만 명시적으로 정의하지 않은 모든 HTML 기능, 적합성 요구사항 또는 용어들은 HTML Standard에 의해 정의됩니다.

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

문서의 검토자들은 문서에서 독특한 스타일링으로 후보 추가 및/또는 수정사항을 식별할 수 있습니다:

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

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

본 문서는 Accessible Rich Internet Applications Working Group에서 권고 트랙을 통해 권고안으로 발행하였습니다. 이전 권고안 이후 실질적인 변경 및 새로운 기능을 도입한 후보 개정을 포함합니다.

W3C는 본 명세의 웹 표준으로의 광범위한 배포를 권장합니다.

W3C 권고안(Recommendation)은 광범위한 합의 구축 후, W3C와 회원에 의해 승인된 명세이며, 작업 그룹 구성원들이 구현체에 대해 로열티 없는 라이선스를 제공할 것을 약속합니다. 이 권고안의 향후 업데이트에는 새로운 기능이 포함될 수 있습니다.

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

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

본 문서는 W3C 특허 정책에 따라 운영되는 그룹에 의해 작성되었습니다. W3C이 그룹의 결과물과 관련하여 공개된 모든 특허 공개 목록을 유지합니다; 해당 페이지에는 특허를 공개하는 방법에 대한 안내도 포함되어 있습니다. 그리고 실제로 어떤 특허가 필수적 청구항을 포함한다고 믿는 개인은, W3C 특허 정책 6항에 따라 정보를 공개해야만 합니다.

본 문서는 2025년 8월 18일자 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 의미 (역할, 상태, 속성)를 함의합니다. 각 행의 세 번째 셀은 작성자가 해당 요소에 지정할 수 있는 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 속성을 사용하여 요소에 이름을 지정하기 위한 요구사항을 참고하세요.

Note

암묵적 ARIA 의미와 일치하는 ARIA role 및/또는 aria-* 속성을 설정하는 것은 권장되지 않습니다. 하지만 어떤 상황에서는 이러한 속성을 명시적으로 설정하는 것이 도움이 될 수 있습니다. 예를 들어, 일부 요소에 대해 암묵적 ARIA 의미를 노출하지 않는 사용자 에이전트의 경우가 그렇습니다.

Note

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

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

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

ARIA 역할, 상태 및 속성 허용 범위
a 요소, href 속성이 있는 경우 role=link

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

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

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

a 요소에 href가 있을 때 aria-disabled="true" 사용은 권장하지 않음.

Note
링크를 "비활성화(disabled)"로 프로그래밍적으로 전달해야 하는 경우, href 속성을 제거하세요.
a ( href href 속성이 없는 경우) role=generic

어떤 role이든 지정 가능, 그러나 generic사용하지 않아야 함.

이름 지정 금지

그 외에는, 전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

abbr 해당 역할 없음

어떤 role이든 지정 가능

이름 지정 금지

그 외에는, 전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

address role=group

어떤 role이든 지정 가능, 그러나 group권장되지 않음.

그 외에는, 전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

area ( href href 속성이 있는 경우) role=link

다른 role 불가 (link는 가능하나 권장되지 않음)

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

area ( href href 속성이 없는 경우) role=generic

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

이름 지정 금지

그 외에는, 전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

article role=article

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

전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

aside role=complementary

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

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

전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

audio 해당 역할 없음

역할: application

전역 aria-* 속성application 역할에 사용할 수 있는 모든 aria-* 속성.

자율 커스텀 요소

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

그렇지 않으면 role=generic

ElementInternals에 의해 역할이 정의되면, role 지정 불가

그렇지 않으면 어떤 role이든 지정 가능, 단 generic사용하지 않아야 함.

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

그 외에는, 전역 aria-* 속성과 허용된 역할에 사용할 수 있는 모든 aria-* 속성.

b role=generic

어떤 role이든 지정 가능, 하지만 generic사용하지 않아야 함.

이름 지정 금지

그 외에는, 전역 aria-* 속성과 허용된 역할에 사용할 수 있는 모든 aria-* 속성.

base 해당 역할 없음

role 또는 aria-* 속성 불가

bdi role=generic

어떤 role이든 지정 가능, 하지만 generic사용하지 않아야 함.

이름 지정 금지

그 외에는, 전역 aria-* 속성과 허용된 역할에 사용할 수 있는 모든 aria-* 속성.

bdo role=generic

어떤 role이든 지정 가능, 하지만 generic사용하지 않아야 함.

이름 지정 금지

그 외에는, 전역 aria-* 속성과 허용된 역할에 사용할 수 있는 모든 aria-* 속성.

blockquote role=blockquote

어떤 role이든 지정 가능, 그러나 blockquote권장되지 않음.

전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

body role=generic

다른 role 불가 (generic도 가능하지만 사용하지 않아야 함)

이름 지정 금지

그 외에는 전역 aria-* 속성 generic 역할에 한해 허용. 단, bodyaria-hidden=true지정해서는 안 됨.

br 해당 역할 없음

역할: none 또는 presentation

br 요소에는 aria-hidden 속성을 지정 할 수 있음. 그 외 aria-* 속성은 허용되지 않음.

button

role=button

buttonselect의 첫 자식이면 inert.

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

전역 aria-* 속성 및 허용 역할에 적용할 수 있는 aria-* 속성.


buttonselect의 첫 자식이면: role 또는 aria-* 속성 불가

canvas 해당 역할 없음

어떤 role이든 지정 가능

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

caption role=caption

다른 role 불가 (caption만 가능, 권장되지 않음)

이름 지정 금지

그 외에는 전역 aria-* 속성만 허용.

cite 해당 역할 없음

어떤 role이든 지정 가능

이름 지정 금지

그 외에는, 전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

code role=code

어떤 role이든 지정 가능, 그러나 code권장되지 않음.

이름 지정 금지

그 외에는, 전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

col 해당 역할 없음

role 또는 aria-* 속성 불가

colgroup 해당 역할 없음

role 또는 aria-* 속성 불가

data role=generic

어떤 role이든 지정 가능, 그러나 generic사용하지 않아야 함.

이름 지정 금지

그 외에는, 전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

datalist role=listbox

다른 role 불가 (listbox만 가능, 권장되지 않음)

aria-* 속성 불가

dd 해당 역할 없음

role 지정 불가

전역 aria-* 속성definition 역할에 적용할 수 있는 aria-* 속성.

del role=deletion

어떤 role이든 지정 가능, 그러나 deletion권장되지 않음.

이름 지정 금지

그 외에는, 전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

details role=group

다른 role 불가 (group만 가능, 권장되지 않음)

전역 aria-* 속성group 역할에 적용할 수 있는 모든 aria-* 속성.

dfn role=term

어떤 role이든 지정 가능, 그러나 term권장되지 않음.

전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

dialog role=dialog

역할: alertdialog. (dialog도 허용되나 권장되지 않음.)

전역 aria-* 속성dialog 역할에 적용할 수 있는 모든 aria-* 속성.

div role=generic

dl 요소의 직접 자식인 경우, presentation 또는 none만 허용. 그 외에는, 어떤 role이든 지정 가능, 그러나 generic사용하지 않아야 함.

이름 지정 금지

그 외에는, 전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

dl 해당 역할 없음

역할: group, list, none 또는 presentation

전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

dt 해당 역할 없음

역할: listitem

전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

em role=emphasis

어떤 role이든 지정 가능, 그러나 emphasis권장되지 않음.

이름 지정 금지

그 외에는, 전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

embed 해당 역할 없음

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

전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

fieldset role=group

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

전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

figcaption 해당 역할 없음

역할: group, none 또는 presentation

이름 지정 금지

그 외에는, 전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

figure role=figure

figure에 유효한 figcaption 하위 요소가 있는 경우:
다른 role 불가 (figure만 가능, 권장되지 않음)

DPub 역할: doc-example.

figurefigcaption 하위 요소가 없는 경우:
어떤 role이든 지정 가능, 그러나 figure권장되지 않음.

전역 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 도 허용되나 권장되지 않음. 그 외에는 role=generic 도 허용되나 사용하지 않아야 함.)

DPub 역할: doc-footnote

이름 지정 금지 (generic 역할로 노출될 때)

그 외에는, 전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

form

role=form

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

전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

참고

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

폼 연관 커스텀 요소

작성자 정의 ElementInternals 에서 노출된 역할

그 외에는 role=generic

ElementInternals에 의해 역할이 정의된 경우, role 지정 불가

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

이름 지정 금지 (generic 역할로 노출될 때)

그 외에는, 전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

h1 ~ h6 role=heading, aria-level = 요소 태그 이름의 번호

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

DPub 역할: doc-subtitle

전역 aria-* 속성과 허용된 역할에 적용할 수 있는 모든 aria-* 속성.

head 해당 역할 없음

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 도 허용되지만, 권장되지 않음. 그 외에는 role=generic 도 허용되지만 사용하지 않아야 함.)

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

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

hgroup role=group

어떤 role이든 지정 가능, 다만 group권장되지 않음.

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

hr role=separator

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

DPub 역할: doc-pagebreak

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

html role=generic

role 없음 (document 또는 generic만 가능), 둘 다 권장되지 않음.

ARIA aria-* 속성 없음.

i role=generic

어떤 role이든 지정 가능, 다만 generic사용하지 않아야 함.

이름 지정 금지

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

iframe 해당 역할 없음

역할: 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도 허용되지만, 권장되지 않음.)

DPub 역할: doc-cover

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

img with no accessible name

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

만약 imgalt 속성이 없고 다른 img 이름 지정 방법도 없다면:
role=img or image

만약 imgalt 속성이나 접근 가능한 이름이 없다면: role 없음 (role=none 또는 presentation 역할만 허용). (role=img or image도 허용되지만 권장되지 않음.)

만약 img에 비어 있는 alt="" 속성이 있고, 접근 가능한 이름을 제공하는 aria-label 또는 aria-labelledby 속성이 없다면: role 없음 (role=none 또는 presentation 역할만 허용되며, 이는 권장되지 않음.)

ARIA aria-* 속성 없음 단, aria-hidden="true" 은 예외.

그 외에, 만약 img에 작성자가 정의한 접근 가능한 이름이 있다면, img with an accessible name를 참조.

input type=button role=button

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

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

input type=checkbox role=checkbox

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

작성자는 input type=checkbox 요소에 aria-checked 속성을 사용해서는 안 됨.

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

Note

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

input type=color 해당 역할 없음

role 없음

전역 aria-* 속성aria-disabled 속성.

input type=date 해당 역할 없음

role 없음

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

input type=datetime-local 해당 역할 없음

role 없음

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

input type=email with no list attribute role=textbox

role 없음 (textbox만 가능, 권장되지 않음)

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

input type=file 해당 역할 없음

role 없음

전역 aria-* 속성, aria-disabled, aria-invalidaria-required 속성.

input type=hidden 해당 역할 없음

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

input type=image role=button

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

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

가능한 경우 작성자는 지정된 역할을 허용하는 다른 HTML 요소, 예를 들어 button 요소의 사용을 고려해야 합니다.

input type=month 해당 역할 없음

role 없음

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

input type=number role=spinbutton

role 없음 (spinbutton만 가능, 권장되지 않음)

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

input type=password 해당 역할 없음

role 없음

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

input type=radio role=radio

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

작성자는 input type=radio 요소에 aria-checked 속성을 사용해서는 안 됨.

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

Note

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

input type=range role=slider

role 없음 (slider만 가능, 권장되지 않음)

작성자는 input type=rangearia-valuemax 또는 aria-valuemin 속성을 사용해서는 안 됨.

그 외에는, 모든 전역 aria-* 속성slider 역할에 적용 가능한 다른 aria-* 속성.

input type=reset role=button

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

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

가능한 경우 작성자는 지정된 역할을 허용하는 다른 HTML 요소, 예를 들어 button 요소의 사용을 고려해야 합니다.

input type=search, with no list attribute role=searchbox

role 없음 (searchbox만 가능, 권장되지 않음)

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

input type=submit role=button

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

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

가능한 경우 작성자는 지정된 역할을 허용하는 다른 HTML 요소, 예를 들어 button 요소의 사용을 고려해야 합니다.

input type=tel, with no list attribute role=textbox

role 없음 (textbox만 가능, 권장되지 않음)

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

input type=text 또는 누락되거나 잘못된 type을 가지며, list 속성이 없는 경우 role=textbox

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

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

input type=text, search, tel, url, email, 또는 누락되거나 잘못된 type을 가지며, list 속성이 있는 경우 role=combobox

role 없음 (combobox만 가능, 권장되지 않음)

작성자는 list 속성이 있는 해당 input들에 aria-haspopup 속성을 사용해서는 안 됨.

그 외에는, 모든 전역 aria-* 속성combobox 역할에 적용 가능한 다른 aria-* 속성.

input type=time 해당 역할 없음

role 없음

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

input type=url with no list attribute role=textbox

role 없음 (textbox만 가능, 권장되지 않음)

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

input type=week 해당 역할 없음

role 없음

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

ins role=insertion

어떤 role이든, 다만 insertion권장되지 않음.

이름 지정 금지

그렇지 않으면, 전역 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

kbd 해당 역할 없음

어떤 role이든

이름 지정 금지

그렇지 않으면, 전역 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

label 해당 역할 없음

label 요소가 암묵적 또는 명시적으로 labelable element와 연관되어 있다면, role 없음

그렇지 않고 label이 어떤 요소와도 연관되어 있지 않다면, 어떤 role이든, 다만 generic사용하지 않아야 함.

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

그렇지 않으면, 전역 aria-* 속성.

legend 해당 역할 없음

role 없음

이름 지정 금지

그렇지 않으면, 전역 aria-* 속성.

li

lirole=list로 노출되는 요소의 자식인 경우 (예: ul, ol, menu): role=listitem.

그렇지 않으면, role=generic

부모 목록 요소가 암묵적 또는 명시적 list 역할을 갖는 경우에는 role 없음 (listitem권장되지 않음).

그렇지 않고 부모 목록 요소가 암묵적 또는 명시적 list 역할을 노출하지 않는 경우에는 어떤 role이든.

Note

목록 요소에 대해 허용되는 역할은 ul, ol, 또는 menu를 보십시오.

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

작성자는 다음 deprecated DPub 역할을 사용하지 않아야 함: doc-biblioentry, doc-endnote.

link 해당 역할 없음

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

main role=main

role 없음 (main만 가능, 권장되지 않음).

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

map 해당 역할 없음

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

mark 해당 역할 없음

어떤 role이든

이름 지정 금지

그렇지 않으면, 전역 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

math role=math

role 없음 (math만 가능, 권장되지 않음)

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

menu role=list

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

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

작성자는 deprecated directory 역할을 사용하지 않아야 함.

meta 해당 역할 없음

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

meter role=meter

role 없음 (meter만 가능, 권장되지 않음)

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

그렇지 않으면, 모든 전역 aria-* 속성meter 역할에 적용 가능한 다른 aria-* 속성.

nav role=navigation

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

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

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

noscript 해당 역할 없음

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

object 해당 역할 없음

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

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

ol role=list

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

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

작성자는 deprecated directory 역할을 사용하지 않아야 함.

optgroup role=group

role 없음 (group만 가능, 권장되지 않음)

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

option 요소가 옵션 목록 에 있거나, datalist 내에서 제안을 나타내는 경우 role=option

role 없음 (option만 가능, 권장되지 않음)

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

전역 aria-* 속성option 역할에 적용 가능한 다른 aria-* 속성.

output role=status

어떤 role이든, 다만 status권장되지 않음.

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

p role=paragraph

어떤 role이든, 다만 paragraph권장되지 않음.

이름 지정 금지

그렇지 않으면, 전역 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

param 해당 역할 없음

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

picture 해당 역할 없음

role 없음

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

pre role=generic

Any role, though generic SHOULD NOT be used.

이름 지정 금지

Otherwise, global aria-* attributes and any aria-* attributes applicable to the allowed roles.

progress role=progressbar

No role other than progressbar, which is NOT RECOMMENDED.

Authors SHOULD NOT use the aria-valuemax attribute on progress elements.

Otherwise, any global aria-* attributes and any other aria-* attributes applicable to the progressbar role.

q role=generic

Any role, though generic SHOULD NOT be used.

이름 지정 금지

Otherwise, global aria-* attributes and any aria-* attributes applicable to the allowed roles.

rp 해당 역할 없음

Any role

이름 지정 금지

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

rt 해당 역할 없음

Any role

이름 지정 금지

Otherwise, global aria-* attributes and any aria-* attributes applicable to the allowed roles.

ruby 해당 역할 없음

Any role

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

s role=deletion

Any role, though deletion is NOT RECOMMENDED.

이름 지정 금지

Otherwise, global aria-* attributes and any aria-* attributes applicable to the allowed roles.

samp role=generic

Any role, though generic SHOULD NOT be used.

이름 지정 금지

Otherwise, global aria-* attributes and any aria-* attributes applicable to the allowed roles.

script No corresponding role

No role or aria-* attributes

search

role=search

Roles: form, group, none, presentation or region. (search is also allowed, but NOT RECOMMENDED.)

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

section

role=region if the section element has an accessible name

Otherwise, role=generic

Roles: alert, alertdialog, application, banner, complementary, contentinfo, dialog, document, feed, group, log, main, marquee, navigation, none, note, presentation, search, status or tabpanel. (role=region is also allowed, but NOT RECOMMENDED. role=generic SHOULD NOT be used.)

DPub Roles: 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

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

select (with NO multiple attribute and NO size attribute having value greater than 1) role=combobox

Role: menu. (combobox is also allowed, but NOT RECOMMENDED.)

Authors SHOULD NOT use the aria-multiselectable attribute on a select element.

Otherwise, any global aria-* attributes and any other aria-* attributes applicable to the combobox or menu role.

select (with a multiple attribute or a size attribute having value greater than 1) role=listbox

No role other than listbox, which is NOT RECOMMENDED.

Authors SHOULD NOT use the aria-multiselectable attribute on a select element.

Otherwise, any global aria-* attributes and any other aria-* attributes applicable to the listbox role.

selectedcontent role=generic

If used as a valid descendant of a select element: no role or aria-* attributes

Otherwise, any role if the element is used outside of its intended context as a child of the button part of a customizable select element, though generic is NOT RECOMMENDED.

Naming Prohibited

Otherwise, global aria-* attributes and any aria-* attributes applicable to the allowed roles.

slot 해당 역할 없음

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

small role=generic

어떤 role이든, 다만 generic사용하지 않아야 함.

이름 지정 금지

그렇지 않으면, 전역 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

source 해당 역할 없음

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

span role=generic

어떤 role이든, 다만 generic사용하지 않아야 함.

이름 지정 금지

그렇지 않으면, 전역 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

strong role=strong

어떤 role이든, 다만 strong권장되지 않음.

이름 지정 금지

그렇지 않으면, 전역 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

style 해당 역할 없음

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

sub role=subscript

어떤 role이든, 다만 subscript권장되지 않음.

이름 지정 금지

그렇지 않으면, 전역 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

summary

해당 역할 없음

Note
The exposed role of a summary element can vary depending on the user agent and assistive technology.

role 없음 if the summary element is a summary for its parent details element.

Global aria-* attributes, aria-disabled, and aria-haspopup attributes.

Otherwise, if the summary element is not a summary for its parent details element, authors MAY specify any role, and any global aria-* attributes and any aria-* attributes applicable to the allowed roles.

sup role=superscript

Any role, though superscript is NOT RECOMMENDED.

Naming Prohibited

Otherwise, global aria-* attributes and any aria-* attributes applicable to the allowed roles.

SVG role=graphics-document as defined by SVG AAM

Any role, though graphics-document is NOT RECOMMENDED.

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

table role=table

Any role, though table is NOT RECOMMENDED.

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

tbody role=rowgroup

Any role, though rowgroup is NOT RECOMMENDED.

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

td

role=cell if the ancestor table element is exposed as a role=table

role=gridcell if the ancestor table element is exposed as a role=grid or treegrid

No corresponding role if the ancestor table element is not exposed as a role=table, grid or treegrid

If the ancestor table element has role=table, grid, or treegrid, no role other than the following:

  • If the ancestor table element is exposed as a role=table, then cell is allowed, but NOT RECOMMENDED.
  • If the ancestor table element is exposed as a role=grid or treegrid, then gridcell is allowed, but NOT RECOMMENDED.

Otherwise, if the ancestor table element is not exposed as a role=table, grid or treegrid, any role.

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

template 해당 역할 없음

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

textarea role=textbox

No role other than textbox, which is NOT RECOMMENDED.

Global aria-* attributes and any aria-* attributes applicable to the textbox role.

tfoot role=rowgroup

Any role, though rowgroup is NOT RECOMMENDED.

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

th

role=columnheader, rowheader or cell if the ancestor table element is exposed as a role=table

role=columnheader, rowheader or gridcell if the ancestor table element is exposed as a role=grid or treegrid

No corresponding role if the ancestor table element is not exposed as a role=table, grid or treegrid

If the ancestor table element has role=table, grid, or treegrid, no role other than the following:

  • If the ancestor table element is exposed as a role=table, then columnheader, rowheader and cell are allowed, but NOT RECOMMENDED.
  • If the ancestor table element is exposed as a role=grid or treegrid, then columnheader, rowheader or gridcell are allowed, but NOT RECOMMENDED.

Otherwise, if the ancestor table element is not exposed as a role=table, grid or treegrid, any role.

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

thead role=rowgroup

Any role, though rowgroup is NOT RECOMMENDED.

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

time role=time

Any role, though time is NOT RECOMMENDED.

이름 지정 금지

Otherwise, global aria-* attributes and any aria-* attributes applicable to the allowed roles.

title 해당 역할 없음

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

tr role=row

If the ancestor table element has role=table, grid, or treegrid, no role other than row, which is NOT RECOMMENDED; otherwise any role, though row is NOT RECOMMENDED.

Global aria-* attributes and any aria-* attributes applicable to the allowed roles.

track 해당 역할 없음

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

u role=generic

어떤 role이든, 다만 generic사용하지 않아야 함.

이름 지정 금지

그렇지 않으면, 전역 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

ul role=list

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

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

작성자는 deprecated directory 역할을 사용하지 않아야 함.

var 해당 역할 없음

어떤 role이든

이름 지정 금지

그렇지 않으면, 전역 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성.

video 해당 역할 없음

역할: application

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

wbr 해당 역할 없음

역할: none 또는 presentation

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

두 번째 열에서 No corresponding role로 표시된 요소들은 어떤 암묵적 ARIA 의미도 가지지 않지만, 의미는 지니고 있으며 이 의미는 ARIA가 제공하지 않는 역할, 상태, 속성으로 표현될 수 있고, 접근성 API를 통해 보조 기술 사용자에게 노출될 수 있습니다. 따라서 작성자는 나열된 요소의 의미를 덮어쓰는 대신, 의미적으로 중립적인 요소인 div 또는 spanrole 속성을 추가하는 것이 권장됩니다.

참고

작성자는 여기서 제공되는 내용 외에 HTML에서 ARIA를 사용하는 방법에 대한 다음 문서들을 참고하도록 권장됩니다:

  • Using ARIA - 접근성 정보를 HTML 요소에 추가하는 방법에 대한 작성자를 위한 실용 가이드입니다.
  • WAI-ARIA Authoring Practices 1.2 - Accessible 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-* 속성 저자 가이드
HTML에서 checked 속성이 허용되는 모든 요소 aria-checked="true"

HTML에서 checked 속성이 허용되는 모든 요소에는 checked 속성을 사용하십시오. indeterminate IDL 속성을 사용하여 input type=checkbox 요소의 "mixed" 상태를 나타내십시오.

작성자는 MUST NOT aria-checked 속성을 사용해서는 안 됩니다. 이는 현재 aria-checked 속성 값과 요소의 checkedness 또는 indeterminate checked value가 서로 반대가 될 수 있는 모든 요소에 해당합니다.

작성자는 해당 속성을 허용하는 WAI-ARIA 역할이 있는 다른 모든 요소에 aria-checked 속성을 MAY 사용해도 됩니다.

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 또는 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.1] 또는 [HTML]의 기능을 정의하지 않습니다. 대신, HTML에서 ARIA를 검사할 수 있다고 주장하는 적합성 검사기(conformance checker)에 대한 규칙과 지침, 그리고 저자를 위한 안내를 제공합니다.

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

A. 참고문헌(References)

A.1 규범적 참고문헌

[accname-1.2]
접근 가능한 이름 및 설명 계산 1.2. Bryan Garaventa; Melanie Sumner. W3C. 2026년 4월 10일. W3C 작업 초안. URL: https://www.w3.org/TR/accname-1.2/
[dpub-aria-1.1]
디지털 퍼블리싱 WAI-ARIA 모듈 1.1. Matt Garrish; Tzviya Siegman. W3C. 2025년 6월 12일. W3C 권고. URL: https://www.w3.org/TR/dpub-aria-1.1/
[html]
HTML 표준. 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. Scott O'Hara; Rahim Abdi. W3C. 2026년 4월 10일. W3C 작업 초안. URL: https://www.w3.org/TR/html-aam-1.0/
[infra]
Infra 표준. Anne van Kesteren; Domenic Denicola. WHATWG. Living Standard. URL: https://infra.spec.whatwg.org/
[RFC2119]
RFC에서 요구 사항 수준을 나타내는 키워드. S. Bradner. IETF. 1997년 3월. 최신 권장 사례. URL: https://www.rfc-editor.org/rfc/rfc2119
[RFC8174]
RFC 2119 키워드 대소문자 모호성. B. Leiba. IETF. 2017년 5월. 최신 권장 사례. URL: https://www.rfc-editor.org/rfc/rfc8174
[svg-aam-1.0]
SVG 접근성 API 매핑. Cynthia Shelly; Mark Rogers. W3C. 2026년 4월 10일. W3C 작업 초안. URL: https://www.w3.org/TR/svg-aam-1.0/
[wai-aria-1.1]
접근성 리치 인터넷 응용 프로그램 (WAI-ARIA) 1.1. Joanmarie Diggs; Shane McCarron; Michael Cooper; Richard Schwerdtfeger; James Craig. W3C. 2017년 12월 14일. W3C 권고. URL: https://www.w3.org/TR/wai-aria-1.1/
[wai-aria-1.2]
접근성 리치 인터넷 응용 프로그램 (WAI-ARIA) 1.2. Joanmarie Diggs; James Nurthen; Michael Cooper; Carolyn MacLeod. W3C. 2023년 6월 6일. W3C 권고. URL: https://www.w3.org/TR/wai-aria-1.2/

A.2 비규범적 참고문헌

[using-aria]
ARIA 사용법. Steve Faulkner; David MacDonald. W3C. 2026년 2월 24일. W3C Working Draft. URL: https://www.w3.org/TR/using-aria/
[wai-aria-practices-1.2]
WAI-ARIA 작성 지침 1.2. Matthew King; JaEun Jemma Ku; James Nurthen; Zoë Bijl; Michael Cooper. W3C. 2022년 5월 19일. W3C Working Group Note. URL: https://www.w3.org/TR/wai-aria-practices-1.2/