추상적 역할 - by. UXKM

요약 설명

추상적 역할(Abstract Roles)은 다른 역할을 정의하는 데 사용되는 개념적 역할로, 웹 페이지에 직접 사용되지는 않습니다. 대신, 구체적인 역할을 정의하고 이들 간의 관계를 설명하며, 웹 접근성을 높이는 데 중요한 역할을 합니다.
추상적 역할(Abstract Roles)을 올바르게 이해하고 사용함으로써 웹 콘텐츠의 접근성을 개선할 수 있습니다.

W3C ARIA Abstract Roles

command (명령 역할)

요약 설명

사용자 명령을 나타내는 역할의 상위 개념입니다. 이 역할을 통해 사용자가 상호작용할 수 있는 다양한 UI 요소를 정의합니다. command 역할 자체는 직접 사용되지 않으며, button, link, menuitem 등의 구체적인 역할이 이 역할에서 파생됩니다.

W3C ARIA command
MDN ARIA command

사용 시 주의사항

  • command는 직접 사용되지 않으며, 이를 상속하는 구체적인 역할(button, link 등)을 사용해야 합니다.
  • 명령 요소는 사용자에게 명확히 전달되도록 aria-label 또는 aria-labelledby 속성을 사용할 수 있습니다.

상속된 상태 및 속성

  • aria-disabled

    요소가 비활성화되었는지 여부를 나타냅니다.

  • aria-expanded

    요소가 확장되었는지 여부를 나타냅니다.

예시

composite (복합 역할)

요약 설명

composite 역할은 여러 개의 상호작용 가능한 위젯을 포함하는 복합 위젯을 정의하는 상위 개념입니다. combobox, grid, tablist, tree 등이 이 역할을 상속받습니다.

W3C ARIA composite
MDN ARIA composite

사용 시 주의사항

  • composite는 직접 사용되지 않고, 구체적인 복합 위젯 역할을 사용해야 합니다.
  • 복합 위젯 내의 자식 요소는 명확하게 정의되고 접근 가능해야 합니다.

상속된 상태 및 속성

  • aria-activedescendant

    복합 위젯 내에서 현재 활성화된 자식 요소의 ID를 지정합니다.

  • aria-disabled

    요소가 비활성화되었는지 여부를 나타냅니다.

  • aria-expanded

    요소가 확장되었는지 여부를 나타냅니다.

예시

input (입력 역할)

요약 설명

input 역할은 사용자가 입력할 수 있는 요소를 정의하는 상위 개념입니다. checkbox, radio, slider, spinbutton, textbox 등이 이 역할을 상속받습니다.

W3C ARIA input
MDN ARIA input

사용 시 주의사항

  • input 역할은 직접 사용되지 않으며, 이를 상속하는 구체적인 입력 역할을 사용해야 합니다.
  • 사용자는 입력 필드의 상태(예: 필수, 읽기 전용, 비활성화)를 명확히 알 수 있어야 합니다.

상속된 상태 및 속성

  • aria-required

    필드가 필수인지 여부를 나타냅니다.

  • aria-readonly

    필드가 읽기 전용인지 여부를 나타냅니다.

  • aria-disabled

    요소가 비활성화되었는지 여부를 나타냅니다.

예시

landmark (랜드마크 역할)

요약 설명

landmark 역할은 웹 페이지의 주요 섹션을 정의하는 상위 개념입니다. banner, navigation, main, contentinfo 등에서 파생됩니다.

W3C ARIA landmark
MDN ARIA landmark

사용 시 주의사항

  • landmark 역할은 직접 사용되지 않으며, 이를 상속하는 구체적인 랜드마크 역할을 사용해야 합니다.
  • 각 랜드마크 역할은 페이지 내에서 고유한 역할을 가지며, 중복되지 않도록 주의해야 합니다.

상속된 상태 및 속성

  • aria-label

    요소의 레이블을 제공하여 사용자에게 명확한 정보를 전달합니다.

  • aria-labelledby

    요소를 레이블링하는 다른 요소의 ID를 지정합니다.

예시

range (범위 역할)

요약 설명

range 역할은 특정 범위 내에서 값을 설정하거나 선택할 수 있는 위젯을 정의하는 상위 개념입니다. progressbar, slider, spinbutton 등에서 파생됩니다.

W3C ARIA range
MDN ARIA range

사용 시 주의사항

  • range 역할은 직접 사용되지 않으며, 이를 상속하는 구체적인 역할을 사용해야 합니다.
  • 사용자는 현재 값과 범위를 명확히 이해할 수 있어야 하며, 필요한 경우 aria-valuetext를 사용하여 설명을 제공합니다.

상속된 상태 및 속성

  • aria-valuemin

    값의 최소 범위를 지정합니다.

  • aria-valuemax

    값의 최대 범위를 지정합니다.

  • aria-valuenow

    현재 값을 지정합니다.

  • aria-valuetexts

    현재 값을 텍스트로 표현할 수 있도록 합니다.

예시

roletype (역할 유형)

요약 설명

roletype은 모든 WAI-ARIA 역할의 최상위 추상적 역할로, 다른 모든 역할이 이 역할에서 파생됩니다.

W3C ARIA roletype
MDN ARIA roletype

사용 시 주의사항

  • roletype은 직접 사용되지 않고, 구체적인 역할에서만 상속되어 사용됩니다.
  • 적절한 aria 속성을 사용하여 역할이 명확히 전달되도록 해야 합니다.

상속된 상태 및 속성

  • aria-atomic

    변경 시 전체 영역을 다시 읽어야 하는지 여부를 지정합니다.

  • aria-busy

    요소가 현재 작업 중인지 여부를 나타냅니다.

  • aria-controls

    이 요소가 제어하는 다른 요소의 ID를 지정합니다.

  • aria-describedby

    이 요소를 설명하는 다른 요소의 ID를 지정합니다.

예시

section (섹션 역할)

요약 설명

section 역할은 문서의 주제별 섹션을 정의하는 상위 개념입니다. region, alert, log, status 등이 이 역할을 상속받습니다.

W3C ARIA section
MDN ARIA section

사용 시 주의사항

  • section 역할은 직접 사용되지 않으며, 이를 상속하는 구체적인 섹션 역할을 사용해야 합니다.
  • 각 섹션은 명확히 구분되고, 적절한 레이블과 설명이 제공되어야 합니다.

상속된 상태 및 속성

  • aria-labelledby

    이 섹션을 레이블링하는 다른 요소의 ID를 지정합니다.

  • aria-describedby

    이 섹션을 설명하는 다른 요소의 ID를 지정합니다.

예시

sectionhead (섹션 헤더 역할)

요약 설명

sectionhead 역할은 문서 내 섹션의 제목을 나타내는 역할입니다. heading, tab, columnheader, rowheader 등이 이 역할을 상속받습니다.

W3C ARIA sectionhead
MDN ARIA sectionhead

사용 시 주의사항

  • sectionhead 역할은 직접 사용되지 않으며, 이를 상속하는 구체적인 역할을 사용해야 합니다.
  • 문서 구조와 일치하는 헤더 계층이 중요하며, aria-level 속성을 사용하여 정의합니다.

상속된 상태 및 속성

  • aria-level

    섹션 헤더의 계층적 수준을 지정합니다.

예시

select (선택 역할)

요약 설명

select 역할은 사용자가 옵션을 선택할 수 있는 위젯을 정의하는 상위 개념입니다. combobox, listbox, menu, radiogroup 등이 이 역할을 상속받습니다.

W3C ARIA select
MDN ARIA select

사용 시 주의사항

  • select 역할은 직접 사용되지 않으며, 이를 상속하는 구체적인 선택 위젯 역할을 사용해야 합니다.
  • 사용자는 선택 가능한 옵션의 수와 상태를 명확히 이해할 수 있어야 합니다.

상속된 상태 및 속성

  • aria-multiselectable

    사용자가 여러 항목을 선택할 수 있는지 여부를 지정합니다.

  • aria-required

    선택이 필수인지 여부를 지정합니다.

예시

structure (구조 역할)

요약 설명

structure 역할은 문서의 구조를 정의하는 상위 개념입니다. document, article, section, group, heading 등이 이 역할을 상속받습니다.

W3C ARIA structure
MDN ARIA structure

사용 시 주의사항

  • structure 역할은 직접 사용되지 않으며, 이를 상속하는 구체적인 구조 역할을 사용해야 합니다.
  • 문서 구조의 일관성을 유지하고, 사용자에게 명확한 내비게이션을 제공해야 합니다.

상속된 상태 및 속성

  • aria-labelledby

    이 구조를 레이블링하는 다른 요소의 ID를 지정합니다.

  • aria-describedby

    이 구조를 설명하는 다른 요소의 ID를 지정합니다.

예시

widget (위젯 역할)

요약 설명

widget 역할은 사용자가 상호작용할 수 있는 UI 요소를 정의하는 상위 개념입니다. button, checkbox, slider, link, textbox 등이 이 역할을 상속받습니다.

W3C ARIA widget
MDN ARIA widget

사용 시 주의사항

  • widget 역할은 직접 사용되지 않으며, 이를 상속하는 구체적인 역할을 사용해야 합니다.
  • 상호작용 가능한 위젯은 사용자에게 명확히 전달되고, 키보드 및 보조 기술을 통한 접근성이 보장되어야 합니다.

상속된 상태 및 속성

  • aria-disabled

    요소가 비활성화되었는지 여부를 나타냅니다.

  • aria-expanded

    요소가 확장되었는지 여부를 나타냅니다.

예시

window (윈도우 역할)

요약 설명

window 역할은 사용자 인터페이스의 창 요소를 정의하는 역할입니다. alertdialog, dialog, tooltip 등이 이 역할을 상속받습니다.

W3C ARIA window
MDN ARIA window

사용 시 주의사항

  • window 역할은 직접 사용되지 않으며, 이를 상속하는 구체적인 역할을 사용해야 합니다.
  • 창 요소는 포커스(초점) 관리가 중요하며, 창이 닫힐 때 이전 상태로 포커스(초점)를 반환해야 합니다.

상속된 상태 및 속성

  • aria-modal

    창이 모달 대화 상자인지 여부를 나타냅니다.

  • aria-labelledby

    창을 레이블링하는 다른 요소의 ID를 지정합니다.

  • aria-describedby

    창을 설명하는 다른 요소의 ID를 지정합니다.

예시