HTML에서의 ARIA

W3C 권고안

이 문서에 대한 자세한 정보
이 버전:
https://www.w3.org/TR/2026/REC-html-aria-20260811/
최신 발행 버전:
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-aria@w3.org 제목 줄에 [html-aria] … 메시지 주제 …를 입력 (보관소)
정오표:
정오표가 있습니다.

또한 참고: 번역본.


요약

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

이 문서의 상태

이 절에서는 발행 당시 이 문서의 상태를 설명합니다. 현재 W3C 발행물 목록과 이 기술 보고서의 최신 개정판은 W3C 표준 및 초안 색인에서 확인할 수 있습니다.

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

이 명세가 2021년 12월 09일 W3C 권고안이 된 이후 다음과 같은 실질적인 변경 사항이 적용되었습니다:

이 명세에 적용된 전체 변경 사항 목록(정보 제공 및 편집상 업데이트 포함)은 GitHub에서 종료된 모든 풀 리퀘스트를 참조하십시오.

이 문서는 접근 가능한 리치 인터넷 애플리케이션 워킹 그룹권고안 트랙을 사용하여 권고안으로 발행했습니다.

W3C는 이 명세를 웹 표준으로 널리 배포할 것을 권고합니다.

W3C 권고안은 광범위한 합의 형성 후 W3C와 그 회원이 승인하고, 워킹 그룹 회원이 구현에 대해 로열티 없는 라이선스를 제공하기로 약정한 명세입니다. 이 권고안의 향후 업데이트에는 새로운 기능이 포함될 수 있습니다.

이 문서는 W3C 특허 정책에 따라 운영되는 그룹에서 작성했습니다. W3C는 그룹의 산출물과 관련하여 이루어진 모든 특허 공개의 공개 목록을 유지합니다. 해당 페이지에는 특허 공개 지침도 포함되어 있습니다. 자신이 알고 있는 특허에 필수 청구항이 포함되어 있다고 믿는 개인은 W3C 특허 정책 제6절에 따라 정보를 공개해야 합니다.

이 문서는 2025년 8월 18일 W3C 절차 문서의 적용을 받습니다.

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

작성자는 WAI-ARIA에서 정의한 요구사항에 따라 ARIA rolearia-* 속성을 사용하여 HTML 요소의 노출되는 의미(시맨틱)를 변경할 수 있습니다. 단, ARIA 기능이 해당 HTML 요소의 강한 네이티브 시맨틱과 충돌하거나 암시적 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의 중복 역할
<!-- 이렇게 하지 마십시오! -->
<button role="button">...</button>

마찬가지로 다음에서는 fieldset 요소에 role=group을 사용하고, main 요소에 role=main을 사용합니다. 이는 불필요합니다. fieldset 요소는 암시적으로 role=group으로 노출되고, 마찬가지로 main 요소는 암시적으로 role=main으로 노출되기 때문입니다.

예제 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-* 속성을 정의합니다. 세 번째 열의 셀에 모든 role이라는 용어가 포함된 경우, 요소에 모든 role 값을 사용할 수 있음을 나타냅니다. 그러나 작성자가 이러한 요소에 해당 요소의 암시적 역할, generic 역할 또는 ARIA에서 사용 중단된 역할을 지정하는 것은 권장되지 않습니다. 세 번째 열의 셀에 role 없음이라는 용어가 포함된 경우, 작성자가 암시적 ARIA 시맨틱이나 HTML 요소의 네이티브 시맨틱을 덮어써서는 안 됨을 나타냅니다.

WAI-ARIA금지된 상태 및 속성이 있는 역할을 식별합니다. 이러한 역할에서는 작성자가 특정 WAI-ARIA 속성을 지정할 수 없습니다. 이러한 암시적 WAI-ARIA 역할을 노출하는 HTML 요소에서도 작성자가 해당 WAI-ARIA 속성을 지정할 수 없습니다.

이름 지정 금지로 식별된 요소는, 작성자가 지정한 이름을 허용하는 명시적 WAI-ARIA 역할로 해당 요소의 암시적 역할을 덮어쓸 수 있는 경우를 제외하고, 작성자가 aria-label 또는 aria-labelledby 속성을 지정해서는 안 되는 요소입니다. 자세한 내용은 4.1 요소의 이름을 지정하기 위한 ARIA 속성 사용 요구사항을 참조하십시오.

참고

암시적 ARIA 시맨틱과 일치하는 ARIA role 및/또는 aria-* 속성을 설정하는 것은 권장되지 않지만, 일부 상황에서는 이러한 속성을 명시적으로 설정하는 것이 도움이 될 수 있습니다. 예를 들어, 특정 요소의 암시적 ARIA 시맨틱을 노출하지 않는 사용자 에이전트에 도움이 됩니다.

참고

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

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

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

ARIA 역할, 상태 및 속성 허용 범위
ahref role=link

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

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

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

href 속성이 있는 a 요소에 aria-disabled="true"를 사용하는 것은 권장되지 않는다.

참고
링크를 프로그래밍 방식으로 "비활성화됨"으로 전달해야 하는 경우 href 속성을 제거한다.
ahref 없음 role=generic

모든 role. 단, generic사용하지 않는 것이 좋다.

이름 지정 금지

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

abbr 대응하는 역할 없음

모든 role

이름 지정 금지

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

address role=group

모든 role. 단, group권장되지 않는다.

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

areahref role=link

role 없음. 단, link는 허용되지만 권장되지 않는다.

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

areahref 없음 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 역할에 허용되는 속성을 사용할 수 있다. 단, 작성자는 body 요소에 aria-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 to 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-* 속성 없음.

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-* 속성.

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

img 및 빈 alt, 접근 가능한 이름 없음

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

role 없음. 단, role=none 또는 presentation 역할은 허용되지만 권장되지 않는다.

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

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; aria-pressed와 함께 사용하는 경우 button. (checkbox도 허용되지만 권장되지 않는다.)

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

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

참고

HTML checked 속성은 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=emaillist 속성 없음 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-* 속성.

참고

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

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, 및 list 속성 없음 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, 및 list 속성 없음 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=urllist 속성 없음 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 요소가 레이블 지정 가능 요소와 암시적 또는 명시적으로 연결된 경우 role 없음

그 외에 label이 요소와 연결되지 않은 경우 모든 role. 단, generic사용하지 않는 것이 좋다.

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

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

legend 대응하는 역할 없음

role 없음

이름 지정 금지

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

li

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

그 외에는 role=generic

부모 목록 요소에 암시적 또는 명시적 list 역할이 있는 경우 role 없음. 단, listitem은 허용되지만 권장되지 않는다.

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

참고

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

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

작성자는 다음의 폐기된 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-* 속성.

작성자는 폐기된 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-* 속성.

작성자는 폐기된 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

모든 role. 단, generic사용하지 않는 것이 좋다.

이름 지정 금지

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

progress role=progressbar

role 없음. 단, progressbar는 허용되지만 권장되지 않는다.

작성자는 progress 요소에 aria-valuemax 속성을 사용하지 않는 것이 좋다.

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

q role=generic

모든 role. 단, generic사용하지 않는 것이 좋다.

이름 지정 금지

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

rp 대응하는 역할 없음

모든 role

이름 지정 금지

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

rt 대응하는 역할 없음

모든 role

이름 지정 금지

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

ruby 대응하는 역할 없음

모든 role

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

s role=deletion

모든 role. 단, deletion권장되지 않는다.

이름 지정 금지

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

samp role=generic

모든 role. 단, generic사용하지 않는 것이 좋다.

이름 지정 금지

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

script 대응하는 역할 없음

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

search

role=search

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

전역 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도 허용되지만 권장되지 않는다. role=generic사용하지 않는 것이 좋다.)

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 (드롭다운 상자로 렌더링됨) role=combobox

역할: menu. (combobox도 허용되지만 권장되지 않는다.)

작성자는 select 요소에 aria-multiselectable 속성을 사용하지 않는 것이 좋다.

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

select (목록 상자로 렌더링됨) role=listbox

role 없음. 단, listbox는 허용되지만 권장되지 않는다.

작성자는 select 요소에 aria-multiselectable 속성을 사용하지 않는 것이 좋다.

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

selectedcontent role=generic

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

그 외에 사용자 정의 가능한 select 요소의 button 부분의 자식이라는 의도된 컨텍스트 밖에서 요소가 사용되는 경우 모든 role. 단, generic권장되지 않는다.

이름 지정 금지

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

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

대응하는 역할 없음

참고
summary 요소에 노출되는 역할은 사용자 에이전트와 보조 기술에 따라 달라질 수 있다.

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

전역 aria-* 속성, aria-disabledaria-haspopup 속성.

그 외에 summary 요소가 부모 details의 summary 요소가 아닌 경우, 작성자는 모든 role을 지정할 수 있으며, 모든 전역 aria-* 속성 및 허용된 역할에 적용 가능한 모든 aria-* 속성을 지정할 수 있다.

sup role=superscript

모든 role. 단, superscript권장되지 않는다.

이름 지정 금지

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

SVG SVG AAM에서 정의된 role=graphics-document

모든 role. 단, graphics-document권장되지 않는다.

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

table role=table

모든 role. 단, table권장되지 않는다.

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

tbody role=rowgroup

모든 role. 단, rowgroup권장되지 않는다.

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

td

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

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

상위 table 요소가 role=table, grid 또는 treegrid로 노출되지 않는 경우 대응하는 역할 없음

상위 table 요소에 role=table, grid 또는 treegrid가 있는 경우 role 없음. 단, 다음은 예외이다:

  • 상위 table 요소가 role=table로 노출되는 경우 cell은 허용되지만 권장되지 않는다.
  • 상위 table 요소가 role=grid 또는 treegrid로 노출되는 경우 gridcell은 허용되지만 권장되지 않는다.

그 외에 상위 table 요소가 role=table, grid 또는 treegrid로 노출되지 않는 경우 모든 role.

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

template 대응하는 역할 없음

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

textarea role=textbox

role 없음. 단, textbox는 허용되지만 권장되지 않는다.

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

tfoot role=rowgroup

모든 role. 단, rowgroup권장되지 않는다.

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

th

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

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

상위 table 요소가 role=table, grid 또는 treegrid로 노출되지 않는 경우 대응하는 역할 없음

상위 table 요소에 role=table, grid, 또는 treegrid가 있는 경우 role 없음. 단, 다음은 예외이다:

  • 상위 table 요소가 role=table로 노출되는 경우 columnheader, rowheadercell은 허용되지만 권장되지 않는다.
  • 상위 table 요소가 role=grid 또는 treegrid로 노출되는 경우 columnheader, rowheader 또는 gridcell은 허용되지만 권장되지 않는다.

그 외에 상위 table 요소가 role=table, grid 또는 treegrid로 노출되지 않는 경우 모든 role.

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

thead role=rowgroup

모든 role. 단, rowgroup권장되지 않는다.

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

time role=time

모든 role. 단, time권장되지 않는다.

이름 지정 금지

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

title 대응하는 역할 없음

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

tr role=row

상위 table 요소에 role=table, grid, 또는 treegrid가 있는 경우 role 없음. 단, row는 허용되지만 권장되지 않는다; 그 외에는 모든 role. 단, row권장되지 않는다.

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

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-* 속성.

작성자는 폐기된 directory 역할을 사용하지 않는 것이 좋다.

var 대응하는 역할 없음

모든 role

이름 지정 금지

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

video 대응하는 역할 없음

역할: application

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

wbr 대응하는 역할 없음

역할: none 또는 presentation

작성자는 wbr 요소에 aria-hidden 속성을 지정할 수 있다. 그 외의 aria-* 속성은 허용되지 않는다.

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

참고

작성자는 여기에서 제공하는 내용을 넘어 HTML에서 ARIA를 사용하는 방법에 관한 지침으로 다음 문서를 활용하는 것이 권장된다:

  • ARIA 사용하기 - Accessible Rich Internet Applications 명세를 사용하여 HTML 요소에 접근성 정보를 추가하는 방법에 관한 작성자를 위한 실용적인 안내서.
  • ARIA 작성 관행 안내서 - Accessible Rich Internet Applications를 이해하고 구현하기 위한 작성자 안내서.

4.1 요소에 이름을 지정하기 위한 ARIA 속성 사용 요구사항

작성자는 작성자가 이름을 지정할 수 있도록 허용하는 암시적 또는 명시적 ARIA 역할이 있는 요소에 접근 가능한 이름을 지정하기 위해 aria-labelaria-labelledby 속성을 사용할 수 있다. Accessible Rich Internet Applications (WAI-ARIA) 1.2작성자가 이름을 지정할 수 있는 역할작성자의 이름 지정이 금지되는 역할을 정의한다.

작성자는 이름을 지정할 수 없는 암시적 WAI-ARIA 역할이 있는 요소에 aria-label 또는 aria-labelledby를 지정해서는 안 된다. 작성자의 이름 지정을 금지하는 암시적 WAI-ARIA 역할을 가진 HTML 요소는 4. HTML에서 ARIA 속성 사용을 위한 문서 적합성 요구사항에 식별되어 있다.

다음 마크업 예제는 작성자의 이름 지정을 금지하는 암시적 ARIA 역할을 가진 HTML 요소의 일부를 보여준다.

예제 14: 작성자의 이름 지정을 금지하는 암시적 ARIA 역할을 가진 요소
<!-- 다음과 같이 하지 마시오! -->
<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 속성을 사용하기 위한 요구사항

별도로 명시하지 않는 한 작성자는 aria-* 의미 체계가 예상되는 HTML 요소에서 해당 HTML 동등 속성 대신 aria-* 속성을 사용할 수 있다. 예를 들어 작성자는 button 요소에 aria-disabled=true를 지정하면서 disabled 속성을 사용하는 대신 button을 기능적으로 비활성화하는 데 필요한 스크립팅도 구현할 수 있다.

WAI-ARIA의 호스트 언어 의미 체계와의 충돌에 명시된 대로, HTML 요소가 aria-* 속성과 해당 호스트 언어(HTML) 동등 속성을 모두 사용하는 경우 사용자 에이전트는 WAI-ARIA 속성을 무시해야 한다. 즉, 동일한 암시적 ARIA 의미 체계를 가진 네이티브 HTML 속성이 우선한다. 이러한 이유로 작성자는 요소에 네이티브 HTML 속성과 동등한 aria-* 속성을 둘 다 지정하지 않는 것이 좋다. 추가적인 작성자별 요구사항은 각 속성을 검토한다.

다음 표는 aria-* 속성과 동등한 HTML 요소 및 그 속성을 나타낸다.

첫 번째 열의 셀에 있는 각 언어 기능(요소 및 속성)은 같은 행의 두 번째 열 셀에 제시된 ARIA 의미 체계(상태 및 속성)를 암시한다. 각 행의 세 번째 셀은 작성자가 동일한 암시적 ARIA 의미 체계를 제공하는 aria-* 속성 사용 요구사항과 함께 네이티브 HTML 기능을 사용할 수 있는 방법을 정의한다.

HTML 기능별 ARIA 속성 사용 규칙
HTML 기능

암시적 ARIA 의미 체계

HTML 기능 및 aria-* 속성에 관한 작성자 지침
checked 속성이 허용되는 모든 요소 aria-checked="true"

HTML에서 checked 속성이 허용되는 모든 요소에는 checked 속성을 사용한다. indeterminate IDL 속성을 사용하여 input type=checkbox 요소의 "혼합" 상태를 나타낸다.

작성자는 요소의 체크됨 상태 또는 불확정 체크 값이 aria-checked 속성의 현재 값과 반대가 될 수 있는 모든 요소에 aria-checked 속성을 사용해서는 안 된다.

작성자는 해당 속성을 허용하는 WAI-ARIA 역할을 가진 다른 모든 요소에 aria-checked 속성을 사용할 수 있다.

disabled 속성이 허용되는 모든 요소. 여기에는 option disabledoptgroup disabled가 포함된다 aria-disabled="true"

HTML에서 disabled 속성이 허용되는 모든 요소에는 disabled 속성을 사용한다.

작성자는 HTML에서 disabled 속성이 허용되는 모든 요소 또는 aria-disabled 속성을 허용하는 WAI-ARIA 역할을 가진 모든 요소에 aria-disabled 속성을 사용할 수 있다.

작성자는 disabled 속성도 있는 요소에 aria-disabled="true"를 사용하지 않는 것이 좋다.

작성자는 disabled 속성도 있는 요소에 aria-disabled="false"를 사용해서는 안 된다.

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

작성자는 포커스 가능한 요소와 body 요소를 제외하고 전역 aria-* 속성을 지정할 수 있는 모든 HTML 요소에 aria-hidden 속성을 사용할 수 있다.

일반적으로 작성자가 hidden 속성도 지정된 모든 요소에 aria-hidden="true"를 사용하는 것은 권장되지 않는다. 그러나 작성자는 찾을 때까지 숨김 상태의 hidden 속성도 지정된 요소에 aria-hidden="true"를 사용해서는 안 된다.

참고
포커스 가능한 요소는 키보드 또는 포인터 장치를 사용하여 포커스할 수 있는 모든 요소이다. 포커스 가능한 요소가 항상 키보드로 탭 이동할 수 있는 요소인 것은 아니다. 예를 들어 tabindex="-1"이 있는 요소는 포커스할 수 있지만 탭 이동 가능한 요소는 아니다.
참고
hidden 속성이 있는 요소에 aria-hidden="true"를 사용하는 것은 기껏해야 불필요한 중복이다. 최악의 경우 작성자 또는 사용자 스타일 시트에 의해 hidden 속성의 기본 UA 스타일인 display: none이 의도적으로 재정의되었을 때 콘텐츠에 대한 접근을 막을 수 있다. 마지막으로 hidden 속성이 찾을 때까지 숨김 상태인 경우 aria-hidden=true를 사용하면 브라우저의 페이지 내 찾기 기능으로 콘텐츠를 찾아 사용자에게 시각적으로 렌더링하더라도 보조 기술 사용자가 해당 콘텐츠를 발견할 수 없게 된다.
placeholder 속성이 허용되는 모든 요소 aria-placeholder="..."

HTML에서 placeholder 속성이 허용되는 모든 요소에는 placeholder 속성을 사용한다.

작성자는 HTML에서 placeholder 속성이 허용되는 모든 요소 또는 aria-placeholder 속성을 허용하는 WAI-ARIA 역할을 가진 모든 요소에 aria-placeholder 속성을 사용할 수 있다.

작성자는 placeholder 속성도 있는 요소에 aria-placeholder 속성을 사용해서는 안 된다.

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

HTML에서 max 속성이 허용되는 모든 요소에는 max 속성을 사용한다.

작성자는 aria-valuemax 속성을 허용하는 WAI-ARIA 역할을 가진 다른 모든 요소에 aria-valuemax 속성을 사용할 수 있다.

작성자는 max 속성을 허용하는 요소에 aria-valuemax를 사용하지 않는 것이 좋다. 대신 max 속성을 사용한다.

작성자는 max 속성도 있는 요소에 aria-valuemax를 사용해서는 안 된다.

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

HTML에서 min 속성이 허용되는 모든 요소에는 min 속성을 사용한다.

작성자는 aria-valuemin 속성을 허용하는 WAI-ARIA 역할을 가진 다른 모든 요소에 aria-valuemin 속성을 사용할 수 있다.

작성자는 min 속성을 허용하는 요소에 aria-valuemin을 사용하지 않는 것이 좋다. 대신 min 속성을 사용한다.

작성자는 min 속성도 있는 요소에 aria-valuemin을 사용해서는 안 된다.

readonly 속성을 허용하는 모든 요소: input readonly, textarea readonlyreadonly를 허용하는 폼 연관 사용자 정의 요소 aria-readonly="true"

HTML에서 readonly 속성이 허용되는 모든 요소에는 readonly 속성을 사용한다.

작성자는 해당 속성을 허용하는 WAI-ARIA 역할을 가진 모든 요소에 aria-readonly 속성을 사용할 수 있다.

작성자는 readonly 속성도 있는 요소에 aria-readonly="true"를 사용하지 않는 것이 좋다.

작성자는 readonly 속성도 있는 요소에 aria-readonly="false"를 사용해서는 안 된다.

contenteditable=true인 요소 또는 contenteditable 속성이 없고 contenteditable 속성을 가진 가장 가까운 조상에 contenteditable="true"가 있는 요소.

참고

이는 isContentEditable IDL 속성과 동등하다.

aria-readonly="false" 작성자는 isContentEditable="true"인 요소에 aria-readonly="true"를 설정해서는 안 된다.
required 속성이 허용되는 모든 요소: input required, textarea required, 및 select required aria-required="true"

HTML에서 required 속성이 허용되는 모든 요소에는 required 속성을 사용한다.

작성자는 HTML에서 required 속성이 허용되는 모든 요소 또는 aria-required 속성을 허용하는 WAI-ARIA 역할을 가진 모든 요소에 aria-required 속성을 사용할 수 있다.

작성자는 required 속성도 있는 요소에 aria-required="true"를 사용하지 않는 것이 좋다.

작성자는 required 속성도 있는 요소에 aria-required="false"를 사용해서는 안 된다.

colspan 속성이 허용되는 모든 요소: tdth aria-colspan="..."

HTML에서 colspan 속성이 허용되는 모든 요소에는 colspan 속성을 사용한다.

작성자는 colspan 속성도 있는 요소에 aria-colspan 속성을 사용하지 않는 것이 좋다.

작성자는 colspan 속성도 있고 각 속성의 값이 서로 일치하지 않는 요소에 aria-colspan을 사용해서는 안 된다.

rowspan 속성이 허용되는 모든 요소: tdth aria-rowspan="..."

HTML에서 rowspan 속성이 허용되는 모든 요소에는 rowspan 속성을 사용한다.

작성자는 rowspan 속성도 있는 요소에 aria-rowspan 속성을 사용하지 않는 것이 좋다.

작성자는 rowspan 속성도 있고 각 속성의 값이 서로 일치하지 않는 요소에 aria-rowspan을 사용해서는 안 된다.

4.3 폐기된 ARIA 역할, 상태 및 속성에 관한 요구사항

ARIA 명세의 폐기된 요구사항 절은 ARIA 기능이 폐기된 것으로 표시된 경우 작성자에게 새 콘텐츠에서 해당 기능을 사용하지 않도록 권고한다고 명시한다.

다음 역할 및 속성은 ARIA 및 DPub ARIA의 폐기된 기능이다. 적합성 검사기는 이러한 기능의 폐기 상태를 작성자에게 경고해야 한다. 가능한 경우 작성자는 폐기된 기능의 대안을 사용하는 것이 권고된다.

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 역할, 상태 및 속성의 대소문자 요구사항

작성자는 모든 role 토큰 값 및 값이 토큰으로 정의된 모든 상태 또는 속성 속성(aria-*)에 ASCII 소문자를 사용하는 것이 좋다.

참고

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

상호 운용성 문제를 줄이기 위해 작성자는 aria-*role 속성 값에 ASCII 소문자를 사용할 것을 강력히 권장한다. 또한 작성자는 콘텐츠가 사용자에게 올바르게 노출되는지 확인하기 위해 다양한 브라우저와 보조 기술 조합으로 철저히 테스트하는 것이 권장된다.

5. ARIA 역할의 허용되는 자손

이 절은 비규범적이다.

다음 표는 [HTML] 명세에 정의된 콘텐츠 종류 및 허용되는 자손 정보를 동등한 role을 가진 요소에 매핑하고 확장한다.

열 1은 각 ARIA role에 대한 규범적 Accessible Rich Internet Applications (WAI-ARIA) 1.2 정의로 연결된다. 열 2는 각 role이 HTML 요소에 사용될 때 속하는 콘텐츠 종류 범주를 식별한다. 열 3은 명시적 role이 지정된 요소의 자손이 될 수 있는 HTML 요소의 종류를 나타내며, 대개 동일한 암시적 역할을 가진 HTML 요소와 일치한다.

예를 들어 button 요소에는 암시적 role=button이 있다. HTML에서 button 요소는 구문 콘텐츠를 자손으로 허용하며, 대화형 콘텐츠 또는 tabindex 속성이 있는 자손은 허용하지 않는다. 따라서 role=button이 지정된 모든 요소에도 동일한 자손 제한이 적용되며, 대화형 콘텐츠 자손, tabindex가 지정된 요소 또는 대화형 콘텐츠 범주에 속하는 역할 값 (열 3에서 식별됨)을 가진 요소를 허용하지 않는다.

부적합한 자손의 예
<!-- 적합성 검사기가 오류를 보고한다 -->
<button>
  <div role="button">...</div>
</button>
<div role="button">
  <button>...</button>
</div>
<div role="link">
  <textarea>...</textarea>
</div>

또한 Accessible Rich Internet Applications (WAI-ARIA) 1.2에서 허용되는 자손에 관한 특정 요구사항을 지정한 일부 역할이 있다. 이러한 역할은 열 3(자손 허용사항)에서 해당 역할에 대해 "'필수 소유 요소'를 참조"하도록 표시하여 식별되어 있다.

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 검사를 지원한다고 주장하는 적합성 검사기를 위한 규칙과 지침을 제공하며, 작성자를 위한 지침도 제공한다.

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

A. 참고문헌(References)

A.1 규범적 참고문헌

[accname-1.2]
접근 가능한 이름 및 설명 계산 1.2. Bryan Garaventa; Melanie Sumner. W3C. 2026년 5월 29일. 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. 현행 표준. URL: https://html.spec.whatwg.org/multipage/
[html-aam-1.0]
HTML 접근성 API 매핑 1.0. Scott O'Hara; Rahim Abdi. W3C. 2026년 7월 29일. W3C 작업 초안. URL: https://www.w3.org/TR/html-aam-1.0/
[infra]
인프라 표준. Anne van Kesteren; Domenic Denicola. WHATWG. 현행 표준. URL: https://infra.spec.whatwg.org/
[RFC2119]
RFC에서 요구 수준을 나타내기 위해 사용하는 핵심 단어. S. Bradner. IETF. 1997년 3월. 현행 모범 사례. URL: https://www.rfc-editor.org/info/rfc2119/
[RFC8174]
RFC 2119 핵심 단어에서 대문자와 소문자의 모호성. B. Leiba. IETF. 2017년 5월. 현행 모범 사례. URL: https://www.rfc-editor.org/info/rfc8174/
[svg-aam-1.0]
SVG 접근성 API 매핑. Cynthia Shelly; Mark Rogers. W3C. 2026년 7월 27일. 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/