접근 가능한 이름(accessible name)은 요소의 텍스트 콘텐츠, `aria-label`, `aria-labelledby`, `alt`, `title` 등을 정해진 우선순위(accessible name computation)로 조합해서 만들어집니다. 아이콘만 있고 텍스트가 없는 버튼(쓰레기통 아이콘으로 만든 삭제 버튼 등)은 시각적으로는 뜻이 분명해도, 이 계산 과정을 거치면 이름이 빈 문자열이 되어 스크린 리더가 그냥 "button"이라고만 읽습니다.
`aria-label="Delete item"`을 주면 시각적으로는 아무것도 안 바뀌지만 접근성 트리에 이름이 채워져서 "Delete item, button"으로 읽힙니다. 브라우저 개발자 도구의 Accessibility 패널에서 Computed name을 직접 확인할 수 있습니다.
데모의 왼쪽 버튼은 라벨이 없어 계산된 이름이 비어 있고, 오른쪽은 `aria-label`이 있어 이름이 채워진 상태를 인스펙터 패널로 보여줍니다.
언제 쓰나
아이콘만 있는 버튼을 만들 때마다 aria-label을 습관적으로 확인하세요. 브라우저 개발자 도구 Accessibility 탭에서 Computed name이 비어 있지 않은지 직접 눈으로 보는 게 가장 확실합니다.