Copyright © 2014-2026 World Wide Web Consortium. W3C® liability, trademark and permissive document license rules apply.
이 문서는 사용자 에이전트가 웹 콘텐츠 언어로부터 이름과 설명을 접근 가능한 객체에 대해 어떻게 결정하는지를 설명한다. 이 정보는 다시 접근성 API를 통해 노출되어 보조 기술이 이러한 객체를 식별하고 그 이름이나 설명을 사용자에게 제시할 수 있게 한다. 이름과 설명을 결정해야 하는 알고리즘을 문서화하면 서로 다른 접근성 API 간에 이러한 속성이 상호운용 가능하게 노출되도록 촉진하고, 이 정보가 작성자의 의도와 일치하는 방식으로 나타나도록 보장하는 데 도움이 된다.
접근 가능한 이름 및 설명 계산 명세는 여러 콘텐츠 기술에 걸쳐 적용되는 지원을 정의한다. 여기에는 범용 WAI-ARIA [WAI-ARIA] 역할, 상태, 그리고 속성에서 제공하는 접근 가능한 이름 및 설명뿐 아니라 개별 콘텐츠 언어에 특화된 기능도 포함된다.
이 문서는 Accessible Name and Description Computation 1.1 [ACCNAME-1.1] W3C 권고안의 접근 가능한 이름 및 설명 지침을 갱신하며, 최종적으로 이를 대체할 것이다. 이는 WAI-ARIA 개요에서 설명하는 WAI-ARIA 모음의 일부이다.
이 절은 이 문서가 발행된 시점의 상태를 설명한다. 현재 W3C 출판물 목록과 이 기술 보고서의 최신 개정본은 W3C 표준 및 초안 색인에서 확인할 수 있다.
이 문서는 Accessible Rich Internet Applications Working Group에 의해 권고안 트랙을 사용하여 작업 초안으로 발행되었다.
작업 초안으로 발행되었다는 것이 W3C와 그 회원들의 승인을 의미하지는 않는다.
이 문서는 초안 문서이며 언제든지 다른 문서로 갱신, 대체 또는 폐기될 수 있다. 진행 중인 작업 이외의 것으로 이 문서를 인용하는 것은 적절하지 않다.
이 문서는 W3C 특허 정책에 따라 운영되는 그룹에 의해 제작되었다. W3C는 해당 그룹의 결과물과 관련하여 이루어진 모든 특허 공개의 공개 목록을 유지한다. 그 페이지에는 특허 공개 방법에 대한 지침도 포함되어 있다. 개인이 그 개인이 필수 청구항을 포함한다고 믿는 특허에 대한 실제 지식을 가지고 있는 경우, 그 개인은 W3C 특허 정책 제6절에 따라 해당 정보를 공개해야 한다.
이 문서는 2025년 8월 18일 W3C 프로세스 문서의 적용을 받는다.
이 절은 비규범적이다.
사용자
에이전트는 DOM
[DOM]에서 정보를
획득하고
접근성 트리라고 하는 병렬 구조를 생성하며, 이는 접근 가능한 객체로 구성된다. 접근 가능한
객체는 자신의 역할,
상태, 그리고 속성에 대한 정보를 제공한다. 예로는 역할이
menuitem이고, 현재 enabled 상태이며,
haspopup 속성을 가져 하위 메뉴로 이어짐을 나타내는 접근 가능한 객체가 있다.
이 문서에서 설명하는 접근 가능한 객체의 두 속성은 접근 가능한 이름과 접근 가능한 설명이다. 이름은 객체의 목적에 대한 정보를
제공하는 짧은 레이블이다. 메뉴 항목의 접근 가능한 이름의 예는
New이며, 이는 해당 메뉴 항목이 새 문서, 창 등의 생성을
제공함을 의미한다.
설명은 접근 가능한 객체의 성격을 더 명확히 하는 짧은 설명이다. 이름이 충분하다면 설명을 제공하는 것이 항상 필요한 것은 아니지만, 사용자가 객체의 사용을 더 잘 이해하는 데 도움이 될 수 있다.
접근성 API는 현재 접근 가능한 이름과 설명을 위해 평면적인, 구조화되지 않은 문자열을 지원한다. 따라서 이름/설명 계산의 결과는 평면 문자열이다.
"접근 가능한 이름"과 "접근 가능한 설명"이라는 용어는 이들이 접근 가능한 객체의 속성이며 접근성 API를 통해 노출된다는 점을 강조하기 위해 사용된다. 그러나 이후에는 단순히 "이름"과 "설명"이라고 자주 지칭한다.
이 절은 비규범적이다.
일부 용어는 해당 위치에서 정의되지만, 다음 정의들은 이 문서 전체에서 사용된다.
다음을 수행하는 하드웨어 및/또는 소프트웨어:
이 정의는 다른 문서에서 사용되는 정의와 다를 수 있다.
이 문서의 맥락에서 중요한 보조 기술의 예는 다음과 같다:
접근 가능한 설명은 인터페이스 요소와 관련된 추가 정보를 제공하며, 접근 가능한 이름을 보완한다. 접근 가능한 설명은 시각적으로 인지 가능할 수도 있고 아닐 수도 있다.
접근 가능한 이름은 사용자 인터페이스 요소의 이름이다. 각 플랫폼 접근성 API는 접근 가능한 이름 속성을 제공한다. 접근 가능한 이름의 값은 사용자 인터페이스 요소의 보이는 속성(예: 버튼의 보이는 텍스트) 또는 보이지 않는 속성(예: 아이콘을 설명하는 텍스트 대체)에서 파생될 수 있다. 관련 접근 가능한 설명을 참고하라.
접근 가능한 이름 속성의 단순한 사용은 "OK" 버튼으로 설명할 수 있다. 텍스트 "OK"가 접근 가능한 이름이다. 버튼이 포커스를 받으면, 보조 기술은 플랫폼의 역할 설명을 접근 가능한 이름과 연결할 수 있다. 예를 들어 화면 판독기는 "push-button OK" 또는 "OK button"이라고 말할 수 있다. 연결 순서와 역할 설명의 세부 사항(예: "button", "push-button", "clickable button")은 플랫폼 접근성 API 또는 보조 기술에 의해 결정된다.
데스크톱 사용자 에이전트에서 마우스 호버에 대한 응답 등으로 사용자 에이전트가 툴팁을 생성하게 하는 모든 호스트 언어 속성.
비규범적으로 표시된 절뿐 아니라, 이 명세의 모든 작성 지침, 도표, 예제 및 참고 사항은 비규범적이다. 이 명세의 그 밖의 모든 내용은 규범적이다.
이 문서의 핵심 단어 MAY, MUST, 그리고 MUST NOT은 BCP 14 [RFC2119] [RFC8174]에 설명된 대로 해석해야 하며, 여기 표시된 것처럼 모두 대문자로 나타날 때에만 그렇게 해석해야 한다.
규범적 절은 구현이 이 명세에 준수하기 위해 작성자, 사용자 에이전트 및 보조 기술이 따라야 하는 요구사항을 제공한다.
비규범적(정보 제공) 절은 명세를 이해하는 데 유용한 정보를 제공한다. 이러한 절에는 권장 관행의 예가 포함될 수 있지만, 이 명세에 준수하기 위해 이러한 권장 사항을 따르는 것이 요구되지는 않는다.
이름 및 설명 계산의 시작점은 DOM 요소이다. 출력은 평면적이고 구조화되지 않은
문자열이며, 이는
단일 단어만큼 단순할 수도 있고, 공백으로 구분된 토큰들의 문자열일 수도 있다. 예로는 Save와
Reload from disk가 있다.
중요한 요소는 요소의 역할이며, 이는 어떤
콘텐츠가 이름 문자열에 기여하는지를 결정한다. 역할은 세 가지 가능한 값을 갖는 nameFrom
RDF 속성을 가진다:
aria-label 및 aria-labelledby 속성과 같은 명시적 마크업 기능이나,
HTML의 alt 또는 title
속성, 또는 SVG의 desc 요소와 같은 호스트 언어 레이블링 메커니즘에서
작성자가 제공한 값으로부터 생성된다.
aria-label 또는
aria-labelledby 속성을 사용해서는 MUST
NOT 안 된다.
Accessible Rich Internet Applications (WAI-ARIA) 1.2 [WAI-ARIA] 명세는 작성자로부터 이름을 지원하는 역할, 콘텐츠로부터 이름을 지원하는 역할 및 이름을 가질 수 없는 역할의 목록을 제공한다.
사용자 에이전트는 접근 가능한 이름을 아래에 개요로 제시된 규칙을 사용하여 텍스트 동등물 계산이라는 제목의 절에서 계산해야 MUST 한다.
다음 표는 접근 가능한 설명을 계산하기 위해 적용될 수 있는 마크업의 우선순위를 제공한다. 사용자 에이전트는 마지막 열에 설명된 대로, 나열된 조건이 충족되는 표의 첫 번째 적용 가능한 항목을 사용해야 MUST 한다. 사용자 에이전트는 그 마크업이 빈 설명을 초래하더라도, 처음 발견된 관련 마크업 이외의 어떠한 마크업도 사용해서는 MUST NOT 안 된다:
| 우선순위 | 속성 | 적용 조건 | 설명 계산에 사용되는 방식 |
|---|---|---|---|
| 1 |
aria-describedby
속성
|
모든 요소에 사용 | 요소에서 aria-describedby가 참조하는 모든 노드에 대해 이름 계산을 수행하고, 이를 연결하며, 공백 문자로 구분한다 |
| 2 |
aria-description
속성
|
모든 요소에 사용 | 평면 문자열로 사용 |
| 3 | 설명 계산에 참여하는 호스트 언어 기능 | 고유한 호스트 언어 기능은 적용 가능한 요소의 접근 가능한 이름에 이미 사용되지 않은 경우에만, 해당 요소의 설명 계산에 참여할 수 MAY 있다. 이 조건을 충족하는 HTML 요소에 대해서는 HTML AAM: 접근 가능한 설명 계산을 참조하라. | 호스트 언어 요소의 텍스트 동등물 계산 또는 호스트 언어 속성의 문자열 값 중 하나. |
| 4 | 호스트 언어 툴팁 속성 또는 동등한 기능(예: HTML
title 속성)
|
|
평면 문자열로 사용 |
텍스트 동등물 계산은 접근 가능한 이름과 접근 가능한 설명 모두에서 사용된다. 여러 종류의 요소, 노드, 그리고 마크업 조합에 대해 서로 다른 규칙이 제공된다. 텍스트 대안은 적절한 경우 요소 안에 포함된 모든 관련 콘텐츠로부터 구축된다. 이는 2B 단계와 2F 단계를 통해 이루어지며, 이 단계들은 재귀적이고 전체 규칙 집합을 사용하여 자신의 자식이나 자신이 참조하는 노드에서 텍스트를 가져온다.
계산의 목적은 대체 표현을 위한 인지 가능한 레이블 또는 설명을 공백으로 구분된 텍스트 토큰들의 평면 문자열 형식으로 생성하는 것이다.
root node의 텍스트 동등물을 계산하기 위해 현재 순회 중인
DOM 노드. 처음에는 current node가
root node이지만, 이후 단계에서는 root node의 어떤 자손이거나
다른 참조된 노드이다.
current node를 포함하지 않고, 그 직전까지 계산된 텍스트 동등물.result를 X에 복사한다.result를 X의 끝에 복사한다.result를 X에 복사한다.result를 X에 복사한다.
result를 X에 복사한다.result를 X의 시작 부분에 복사한다.result를 X에 복사한다.result를 X의 시작 부분에 복사하고, 그 복사본 뒤에 공백을 추가한다.주어진 요소의 텍스트 대안은 다음과 같이 계산된다:
root node를 주어진
요소로 설정하고, current node를
root node로 설정하며, total accumulated text를 빈 문자열("")로 설정한다.
root node의 역할이 이름 지정을 금지하는 경우, 빈 문자열("")을 반환한다.
current node의 텍스트 대안을
계산한다:
current node가 적어도 하나의 유효한 IDREF를 포함하는
aria-labelledby 속성을 가지며,
current node가 이미 진행 중인 aria-labelledby 또는
aria-describedby 순회의 일부가 아닌 경우, IDREF를 나타나는 순서대로 처리한다:
accumulated text를 빈
문자열로 설정한다.
current node를
IDREF가 참조하는 노드로 설정한다.
current node의 텍스트 대안을 계산한다. result를
그 텍스트 대안으로 설정한다.
result를 accumulated text에 추가한다.
accumulated text가
빈 문자열("")이 아니면 이를 반환한다.
참조되지 않은 숨김과 결합된
LabelledBy 순회의 결과는,
aria-labelledby 또는
aria-describedby가 참조하는 노드가 숨겨져 있는 경우
사용자 에이전트가
하위 트리의 모든 노드를 접근 가능한 이름
또는 접근 가능한
설명의 일부로 포함해야
MUST 함을 의미한다.
current node가 다른 위젯의 레이블
(예: aria-labelledby가 직접 참조하는 모든 요소) 안에 임베드된 컨트롤이며,
사용자가 해당 임베디드 컨트롤의 값을 조정할 수 있는 경우,
다음 방식으로 임베디드 컨트롤을 텍스트 대안의 일부로 반환한다:
current node가
slot 요소가
아니며,
정의되지 않았거나 빈 문자열이 아니고, 공백을 제거했을 때도
빈 문자열이 아닌 값을 가진 aria-label 속성을 가지는 경우:
current node의 순회가 콘텐츠로부터 이름을 얻는 자손
노드 재귀 때문이고 그리고
current node가 임베디드 컨트롤이면, aria-label을 무시하고
임베디드 컨트롤 규칙으로 건너뛴다.
aria-label의 값을 반환한다.current node의 네이티브 마크업이 텍스트
대안을 정의하는 속성(예:
alt) 또는 요소(예: HTML label 또는 SVG title)를 제공하는 경우,
호스트 언어가 정의한 대로(예: HTML-AAM) 그 대안을
flat string 형식으로 반환한다. 단,
current node가 표현적(role="presentation"
또는 role="none", alt="")으로 노출되는 경우는 제외한다.
예를 들어, HTML에서
img 요소의 alt 속성은 텍스트
대안 문자열을 정의하고,
label 요소는 참조된 폼 요소에 대한 텍스트를 제공한다.
SVG2에서 desc와 title
요소는 부모 요소에 대한
설명을 제공한다.
current node's 역할이
콘텐츠로부터
이름을 허용하거나, current node가
aria-labelledby, aria-describedby에 의해 참조되거나,
네이티브 호스트 언어 텍스트 대안 요소(예:
HTML의 label)이거나, 네이티브
호스트 언어 텍스트 대안 요소의
자손인 경우:
accumulated text를 빈 문자열로 설정한다.
current node와 연결된
CSS 생성 텍스트 콘텐츠를 확인하고 이를
accumulated text에 포함한다.
CSS ::before
및 ::after 의사 요소
[CSS2]는
콘텐츠 모델을 가진 요소에 대해
::marker
의사 요소와 더불어 텍스트 콘텐츠를 제공할 수 있다.
current node의
rendered child nodes를 결정한다:
current node의 각
rendered child node에 대해:
current node를
rendered child node로 설정한다.
current node의 텍스트 대안을 계산한다.
result를 그 텍스트 대안으로 설정한다.
result를
accumulated text에 추가한다.
accumulated text가
빈 문자열("")이 아니면 이를 반환한다.
중요: 하위 트리의 각 노드는 한 번만 참조된다. 자손에서 텍스트가 수집되었지만, 어떤 자손 노드의 다른 IDREF에 의해 참조되는 경우, 그 두 번째 또는 그 이후의 참조는 따라가지 않는다. 이는 무한 루프를 피하기 위해 수행된다.
이 단계는 자식 노드 자체에도 적용될 수 있으며, 이는
계산이 재귀적이고 current node의 하위 트리에 있는 모든 요소로부터
텍스트를 수집한 결과가 됨을 의미한다. 그 깊이에 관계없이 그렇다. 그러나 어떤 주어진 자손 노드의
텍스트
대안은 위의 B부터 D 단계에서 설명된 더 높은 우선순위의 마크업에서 비롯될 수 있으며,
여기서 "Namefrom: author" 속성은 전체 하위 트리에 대한 텍스트 대안을 제공한다.
2024년 1월 18일: ARIA Working Group은
current node와 그 인접 노드 및 의사 요소의
CSS display 값에 따라
텍스트 문자열을 공백이 있거나 없는 방식으로 결합하는 가능성을
검토하고 있다. 진행 중인 논의는 AccName #225에 있다.
current node가
텍스트 노드이면, 그
텍스트 내용을 반환한다.
current node가 접근 가능한 이름 또는 접근 가능한
설명이 계산 중인 요소의 자손이고, 자손을 포함하는 경우,
콘텐츠로부터 이름 재설정으로 진행한다.
current node가
툴팁 속성을 가지면,
그 값을 반환한다.
툴팁 속성은 하위 트리 콘텐츠를 포함하여 그 밖의 아무것도 결과를 제공하지 않은 경우에만 사용된다.
result와 공백 문자를
total accumulated text에 추가한다.
total accumulated text는
계산을 시작한 요소의
접근 가능한 이름 또는 접근 가능한 설명으로 사용된다.
labelled-by/label-for 및 described-by/description-for와 같은 관계를 포함하여, 이름 및 설명 접근성 API 매핑에 관한 정보는
Core Accessibility API Mappings 명세 [CORE-AAM-1.2]에 문서화되어 있다.
aria-label, aria-labelledby, 그리고 aria-describedby에 대한
매핑 표 항목을 참조하라.
이 절은 비규범적이다.
다음 사람들은 이 문서의 개발에 기여했다.
이 출판물은 미국 교육부, National Institute on Disability, Independent Living, and Rehabilitation Research (NIDILRR)의 미국 연방 기금으로 일부 지원되었으며, 처음에는 계약 번호 ED-OSE-10-C-0067에 따라, 그다음에는 계약 번호 HHSP23301500054C에 따라, 그리고 현재는 HHS75P00120P00168에 따라 지원되었다. 이 출판물의 내용은 반드시 미국 교육부의 견해나 정책을 반영하는 것은 아니며, 상표명, 상업적 제품 또는 조직에 대한 언급이 미국 정부의 보증을 의미하지도 않는다.
Referenced in:
Referenced in: