기본 설명
-
button
역할은 사용자가 클릭하여 특정 작업을 수행할 수 있는 요소를 정의합니다. -
HTML의
<button>
요소는 기본적으로button
역할을 가지며, 접근성 및 사용자 경험 측면에서 매우 중요합니다. - 버튼은 텍스트, 이미지, 또는 다른 콘텐츠를 포함할 수 있으며, 보조 기술에서 이 버튼의 기능을 인식할 수 있도록 접근성 속성을 설정할 수 있습니다.
요약 설명위젯 역할(Widget Roles)는 다른 역할을 정의하는 데 사용되는 개념적 역할로, 웹 페이지에 직접 사용되지는 않습니다. 대신, 구체적인 역할을 정의하고 이들 간의 관계를 설명하여 웹 접근성을 높이는 데 중요한 역할을 합니다.
위젯 역할(Widget Roles)을 올바르게 이해하고 사용함으로써 웹 콘텐츠의 접근성을 개선할 수 있습니다.
요약 설명독립형 위젯 역할(Standalone Widget Roles)은 단일 UI 요소로서 작동하며, 사용자가 직접 상호작용할 수 있는 개별적인 요소를 의미합니다.
요약 설명사용자가 클릭하여 특정 동작을 수행할 수 있는 UI 요소입니다.
button
역할은 웹 페이지에서 다양한 형태로 사용될 수 있으며, 각 상황에 맞게 구현 방식이 다를 수 있습니다. 중요한 것은 각 버튼의 역할을 명확히 하여 접근성을 보장하고, aria 속성을 사용하여 보조 기술이 버튼의 상태와 기능을 올바르게 이해할 수 있도록 돕는 것입니다.
button
역할은 사용자가 클릭하여 특정 작업을 수행할 수 있는 요소를 정의합니다.
<button>
요소는 기본적으로 button
역할을 가지며,
접근성 및 사용자 경험 측면에서 매우 중요합니다.
button
역할을 가지는 요소는 tabindex="0"
을 사용하여 키보드 접근성을 보장해야 합니다.
button
역할을 명시적으로 설정할 때는, 보조 기술이 이 요소를 버튼으로 인식하도록 해야 합니다.
aria-pressed
또는 aria-expanded
속성을 사용하여 상태를 명확히 전달해야 합니다.
disabled
속성을 사용하여 보조 기술에 의해 인식되도록 해야 하며,
시각적으로도 비활성화 상태를 명확히 나타내야 합니다.
alt
속성이나 다른 접근성 속성을 통해 버튼의 기능을 설명해야 합니다.
버튼의 토글 상태를 나타냅니다. 가능한 값은 true
, false
, mixed
입니다.
버튼이 제어하는 콘텐츠의 확장 상태를 나타냅니다. 가능한 값은 true
또는 false
입니다.
버튼이 비활성화되었는지 여부를 나타냅니다.
버튼의 레이블과 설명을 참조하는 속성입니다.
가장 일반적인 버튼으로, 사용자가 클릭하여 특정 동작을 수행할 수 있습니다.
<a>
태그를 버튼처럼 스타일링하여 사용한 예시입니다.
role="button"
을 추가하여 보조 기술이 이를 버튼으로 인식하게 하고,
키보드 탐색을 위한 tabindex
와 클릭 이벤트 핸들러를 추가해야 합니다.
버튼 내에 이미지를 포함하여 시각적인 단서를 제공하는 방법입니다.
이미지에는 alt
텍스트를 제공하여, 보조 기술 사용자에게 버튼의 기능을 설명할 수 있도록 합니다.
disabled
속성을 사용하여 버튼을 비활성화할 수 있습니다.
이 경우, 버튼은 클릭할 수 없으며, 보조 기술은 버튼이 비활성화된 상태임을 인식합니다.
aria-pressed
속성을 사용하여 버튼의 토글 상태를 나타냅니다.
이 버튼은 사용자가 클릭할 때마다 상태가 바뀌며, 보조 기술은 이 변화를 인식할 수 있습니다.
aria-expanded
와 aria-controls
속성을 사용하여 버튼이 제어하는 콘텐츠의 확장/축소 상태를 명확하게 나타냅니다.
다양한 CSS 스타일링을 적용한 커스텀 버튼으로, 외관을 다양하게 변경할 수 있습니다.
아코디언 UI를 구현하는 버튼입니다. 아코디언 패널을 열거나 닫을 때 버튼 상태를 aria-expanded
속성으로 표시합니다.
요약 설명
checkbox
역할은 사용자가 선택하거나 선택 해제할 수 있는 옵션을 나타냅니다. 일반적으로 단일 선택이 가능하며, 하나의 체크박스는 독립적인 상태를 가질 수 있습니다. 웹 접근성을 위해aria-checked
속성을 사용하여 체크박스의 상태를 나타내며,mixed
상태도 지원됩니다.
checkbox
역할은 사용자가 선택하거나 선택 해제할 수 있는 항목을 정의합니다.
aria-checked
속성을 통해 표현되며,
상태는 true
(선택됨), false
(선택되지 않음), mixed
(혼합 상태) 중 하나입니다.
checkbox
는 단일 체크박스 또는 여러 체크박스로 구성된 그룹으로 사용될 수 있습니다.
checkbox
역할을 사용할 때는 항상 aria-checked
속성을 사용하여 체크박스의 상태를 명확히 나타내야 합니다.
가능한 값은 true
(선택됨), false
(선택되지 않음), mixed
(혼합 상태)입니다.
aria-disabled="true"
속성을 사용하여 표시할 수 있으며,
키보드 탐색에서 제외하려면 tabindex="-1"
을 설정할 수 있습니다.
aria-disabled="true"
속성을 사용하여 표시할 수 있으며,
키보드 탐색에서 제외하려면 tabindex="-1"
을 설정할 수 있습니다.
tabindex
속성을 적절히 설정해야 합니다.
role="group"
을 사용하여 여러 체크박스를 논리적으로 그룹화할 수 있습니다.
체크박스의 선택 상태를 나타냅니다. 가능한 값은 true
, false
, mixed
입니다.
체크박스가 비활성화되었는지 여부를 나타냅니다.
체크박스의 레이블과 설명을 참조하는 속성입니다.
checkbox
요소는 aria-checked
속성을 사용하여 선택 상태를 나타내며,
tabindex="0"
을 설정하여 키보드 탐색이 가능하게 해야 합니다.
체크박스가 mixed
상태를 가질 수 있도록 설정되었습니다.
혼합 상태는 일부 항목이 선택된 경우를 나타내며, 클릭 시 상태가 변경됩니다.
aria-disabled="true"
속성을 사용하여 체크박스가 비활성화되었음을 나타내고 있으며,
키보드 탐색에서 제외하기 위해 tabindex="-1"
로 설정되었습니다.
role="group"
속성을 사용하여 여러 체크박스를 하나의 그룹으로 묶었습니다. 각각의 체크박스는 독립적으로 선택될 수 있습니다.
요약 설명
radio
역할은 사용자가 상호 배타적인 옵션 중 하나를 선택할 수 있는 라디오 버튼을 나타냅니다. 여러 개의radio
요소가radiogroup
안에 포함되며, 사용자는 한 번에 하나의radio
만 선택할 수 있습니다.
radio
역할은 사용자가 여러 옵션 중 하나를 선택할 수 있는 라디오 버튼을 정의합니다.
radio
요소는 반드시 radiogroup
역할을 가진 컨테이너 안에 포함되어야 합니다.
aria-checked
속성을 통해 나타내며,
키보드 탐색과 선택이 가능하도록 tabindex
속성을 적절히 설정해야 합니다.
radio
역할은 반드시 radiogroup
역할을 가진 요소 안에 있어야 합니다.
radio
요소는 선택 상태를 나타내기 위해 aria-checked
속성을 사용해야 합니다.
값은 true
(선택됨) 또는 false
(선택되지 않음) 중 하나입니다.
aria-disabled="true"
속성을 사용하여 표시할 수 있으며,
키보드 탐색에서 제외하려면 tabindex="-1"
을 설정할 수 있습니다.
radiogroup
내에서는 하나의 radio
만 aria-checked="true"
상태여야 합니다.
tabindex
속성을 적절히 설정해야 합니다.
라디오 버튼의 선택 상태를 나타냅니다. 가능한 값은 true
또는 false
입니다.
라디오 버튼이 비활성화되었는지 여부를 나타냅니다.
라디오 버튼의 레이블과 설명을 참조하는 속성입니다.
각 radio
요소는 radiogroup
역할을 가진 컨테이너(부모요소) 안에 포함되어 있어야 하며,
aria-checked
속성을 사용해 현재 선택 상태를 나타내고,
각 항목은 tabindex="0"
으로 설정되어 키보드 탐색이 가능하게 해야 합니다.
사용자가 클릭할 때마다 aria-checked
속성이 업데이트되어 라디오 버튼의 선택 상태가 변경됩니다.
선택된 항목만이 aria-checked="true"
상태가 되며, 다른 항목의 선택이 해제됩니다.
aria-disabled="true"
속성을 사용하여 두 번째 라디오 버튼이 비활성화되었음을 나타내고 있으며,
이 항목은 키보드 탐색에서 제외되도록 tabindex="-1"
로 설정되었습니다.
요약 설명
gridcell
역할은 그리드나 테이블 내 개별 셀을 나타내는 데 사용됩니다. 이 역할은 표 형식 데이터를 구조화해 사용자가 셀의 데이터를 쉽게 탐색하고 접근할 수 있도록 도와줍니다.
그러나 일부 보조 기술에서는 특정 관련 ARIA 역할 및 속성에 대한 지원이 부족할 수 있으므로, 가능한 경우 HTML의 기본 테이블 마크업을 사용하는 것이 좋습니다.
gridcell
은 그리드의 한 칸 또는 테이블 셀에 해당하는 역할입니다.
gridcell
은 보통 grid
, row
, rowgroup
과 함께 사용됩니다.
gridcell
사이를 탐색할 수 있으며,
이때 보조 기술이 셀의 상태(예: 선택됨, 비활성화됨 등)를 올바르게 읽을 수 있습니다.
gridcell
은 항상 row
역할을 가진 요소 내에 있어야 하며,
row
는 grid
역할을 가진 요소 내에 있어야 합니다.
aria-selected
속성을 사용하여 셀의 선택 여부를 나타낼 수 있습니다.
사용자가 셀을 클릭하거나 선택했을 때 보조 기술이 이 상태를 정확히 인식할 수 있도록 합니다.
tabindex
속성을 적절하게 설정해야 합니다.
tabindex="0"
을 사용하여 포커스를 받을 수 있도록 하거나,
tabindex="-1"
을 사용하여 포커스를 제거할 수 있습니다.
aria-rowindex
, aria-colindex
속성을 사용하여 그리드 내의 셀의 위치를 명시할 수 있습니다.
이는 큰 그리드에서 사용자가 현재 어느 셀에 있는지를 이해하는 데 도움이 됩니다.
셀이 현재 선택되었는지 여부를 나타냅니다.
셀이 읽기 전용인지 여부를 나타냅니다.
셀이 필수 입력 항목인지 여부를 나타냅니다.
셀의 레이블 및 설명을 참조하는 속성입니다.
gridcell
요소는 반드시 row
역할을 가진 컨테이너 내부에 있어야 하며, 단독으로 사용할 수 없습니다.
gridcell
은 row
역할을 가진 요소 안에 배치되어 있으며,
aria-selected
속성을 사용하여 선택 여부를 나타내고 있습니다.
또한, tabindex="0"
을 설정하여 키보드로 포커스를 받을 수 있게 했습니다.
HTML 표 요소 <td>
를 사용하여 시멘틱하게 그리드 셀을 표현할 수 있습니다.
이 경우, <table>
, <tr>
와 같은 시멘틱 요소들이 함께 사용됩니다.
이 예시에서는 aria-rowcount
, aria-colcount
,
aria-rowindex
, aria-colindex
와 같은 속성을 사용하여
그리드의 행과 열을 정의하고, 각 셀이 어떤 위치에 있는지 명시합니다.
aria-selected
속성으로 각 셀의 선택 상태를 나타내고 있습니다.
요약 설명
link
역할은 다른 페이지나 리소스로 연결되는 클릭 가능한 요소를 나타냅니다. 일반적으로<a>
태그로 구현되지만, 다른 HTML 요소에role="link"
속성을 추가하여 링크로 동작하게 할 수도 있습니다. 이 역할은 웹 내비게이션의 핵심 요소로, 사용자에게 페이지 간의 이동 경로를 제공합니다.
link
역할은 클릭하거나 Enter 키를 눌렀을 때 사용자를 다른 리소스로 이동시킵니다.
보조 기술은 link
역할을 인식하여 사용자에게 클릭 가능한 링크가 있다는 것을 알리고, 그 링크가 어디로 이동하는지 알려줍니다.
<a>
태그를 사용할 때는 href
속성을 반드시 지정해야 합니다.
href
속성이 없는 <a>
태그는 보조 기술에서 링크로 인식되지 않을 수 있습니다.
role="link"
를 사용하는 경우, tabindex="0"
을 추가하여 키보드 탐색이 가능하도록 해야 합니다.
aria-disabled
속성을 사용하여 링크를 비활성화할 수 있습니다.
그러나 링크를 완전히 비활성화하려면 href="#"
와 함께 스크립트로 클릭 이벤트를 차단하는 것이 좋습니다.
alt
속성을 사용하여 이미지의 의미를 명확하게 설명해야 합니다.
링크가 비활성화되었는지 여부를 나타냅니다.
링크의 대체 텍스트를 제공합니다. 링크의 목적을 명확히 하기 위해 사용됩니다.
링크의 레이블을 지정하는 다른 요소의 ID
를 참조합니다.
<div>
태그는 본래 링크 역할이 아니며, 적절한 키보드 탐색 기능이 부족할 수 있습니다.
보조 기술이 이를 링크로 인식하지 않을 수 있습니다.
<a>
태그는 본래 링크 역할을 가지므로,
role="link"
를 명시적으로 지정할 필요는 없습니다.
이 예시에서는 올바르게 링크를 구현했습니다.
시멘틱하게 적절히 구현된 <a>
요소입니다.
href
속성으로 링크를 지정하면, 보조 기술은 이를 자동으로 인식합니다.
이 예시는 이미지 전체가 클릭 가능한 링크로 설정된 경우입니다. alt
속성을 통해 이미지의 의미를 명확히 설명해야 합니다.
<div>
요소에 role="link"
와
tabindex="0"
을 추가하여 키보드 탐색이 가능하게 하고,
onclick
이벤트를 사용하여 링크 동작을 구현합니다.
이렇게 하면 <div>
요소가 링크처럼 작동합니다.
aria-disabled="true"
속성을 사용하여 링크가 비활성화되었음을 나타냅니다.
이 경우 시각적으로도 비활성화된 상태를 표현하는 것이 중요합니다.
요약 설명
menuitem
역할은 메뉴에서 선택할 수 있는 개별 항목을 나타냅니다. 이 역할은menu
역할을 가진 컨테이너(부모요소) 안에서 사용되며, 사용자가 선택하거나 클릭할 수 있는 항목을 정의합니다.menuitem
은 일반적인 단일 선택 메뉴 항목을 나타내며,menuitemcheckbox
와menuitemradio
와 구별됩니다.
menuitem
역할은 일반적으로 menu
역할을 가진 요소 안에 포함됩니다.
menuitem
은 보통 파일 메뉴, 드롭다운 메뉴, 컨텍스트 메뉴와 같은 메뉴 구조에서 사용됩니다.
menuitem
은 항상 menu
또는 menubar
역할을 가진 요소 안에 있어야 합니다.
menuitem
요소는 키보드로 탐색할 수 있도록 tabindex="0"
을 설정해야 합니다.
비활성화된 항목의 경우 tabindex="-1"
을 설정할 수 있습니다.
menuitem
의 경우 aria-haspopup="true"
와
aria-expanded
속성을 사용해 서브메뉴의 상태를 관리해야 합니다.
aria-disabled="true"
속성을 사용하여 비활성화 상태를 명확히 해야 합니다.
메뉴 항목이 비활성화되었는지 여부를 나타냅니다.
메뉴 항목이 서브메뉴 또는 다른 팝업을 가지고 있는지 여부를 나타냅니다.
서브메뉴가 확장되었는지 여부를 나타냅니다.
메뉴 항목의 대체 텍스트를 제공합니다.
menuitem
역할은 menu
역할을 가진 요소 안에 포함되어야 하며,
각 항목은 키보드로 초점을 받을 수 있도록 tabindex="0"
이 설정되어야 합니다.
그러나 기본 HTML 시멘틱 요소를 사용하는 것을 더 권장하고 있습니다.
각 menuitem
요소에 onclick>
이벤트가 추가되어 있어 사용자가 항목을 클릭하거나
Enter 키를 눌렀을 때 동작이 실행됩니다.
tabindex="0"
을 설정해 키보드 내비게이션이 가능합니다.
aria-disabled="true"
속성을 사용하여 Save 메뉴 항목이 비활성화되었음을 나타냅니다.
이 항목은 포커스를 받을 수 없도록 tabindex="-1"
로 설정합니다.
File 메뉴 항목은 서브메뉴를 가지고 있으며,
aria-haspopup="true"
와 aria-expanded
속성을 사용해 서브메뉴의 표시 여부를 관리합니다.
클릭 시 서브메뉴가 표시되거나 숨겨집니다.
요약 설명
menuitemcheckbox
역할은 메뉴에서 선택 가능하거나 선택 해제할 수 있는 체크박스 항목을 나타냅니다. 이 역할은 일반적인 체크박스와 유사하지만, 메뉴 구조 내에서 사용됩니다. 사용자는 하나 이상의menuitemcheckbox
를 선택하거나 해제할 수 있습니다.
menuitemcheckbox
역할은 주로 menu
역할을 가진 컨테이너(부모요소) 안에 포함되어 사용됩니다.
menuitemcheckbox
는 선택 상태를 나타내기 위해 aria-checked
속성을 사용합니다.
menuitemcheckbox
는 반드시 menu
또는 menubar
역할을 가진 요소 안에 있어야 합니다.
menuitemcheckbox
요소는 선택 상태를 나타내기 위해 aria-checked
속성을 사용해야 합니다.
값은 true
(선택됨), false
(선택되지 않음), mixed
(혼합 상태) 중 하나입니다.
aria-disabled="true"
속성을 사용하여 표시할 수 있으며,
키보드 탐색에서 제외하려면 tabindex="-1"
을 설정할 수 있습니다.
tabindex
속성을 적절히 설정해야 합니다.
메뉴 항목의 체크 상태를 나타냅니다.
가능한 값은 true
, false
, mixed
입니다.
메뉴 항목이 비활성화되었는지 여부를 나타냅니다.
메뉴 항목의 레이블과 설명을 참조하는 속성입니다.
menuitemcheckbox
는 menu
역할을 가진
<element>
요소 안에 포함되어 있어야 하며,
aria-checked
속성을 사용해 현재 선택 상태를 명확히 나타내고 있어야 합니다.
또한 각 항목은 tabindex="0"
을 설정해 키보드 탐색이 가능하게 해야 합니다.
사용자가 클릭할 때마다 aria-checked
속성이 변경되어 체크박스의 상태를 업데이트합니다.
이를 통해 사용자는 메뉴 항목을 선택하거나 해제할 수 있습니다.
aria-disabled="true"
속성을 사용해 첫 번째 항목이 비활성화되었음을 나타내주고,
키보드 탐색에서 제외하기 위해 tabindex="-1"
을 설정합니다.
요약 설명
menuitemradio
역할은 메뉴 내에서 사용자가 선택할 수 있는 라디오 버튼 항목을 나타냅니다.menuitemradio
는 상호 배타적인 선택 항목을 제공하며, 동일한 그룹 내에서 하나의 항목만 선택할 수 있습니다. 일반적인 라디오 버튼과 유사하지만, 메뉴 구조 내에서 사용됩니다.
menuitemradio
역할은 일반적으로 menu
역할을 가진 컨테이너(부모요소) 안에서 사용됩니다.
aria-checked
속성을 통해 나타냅니다.
role="group"
또는 role="menu"
로 그룹화할 수 있습니다.
menuitemradio
는 반드시 menu
또는 group
역할을 가진 요소 안에 있어야 합니다.
라디오 버튼의 선택 상태를 나타냅니다. 가능한 값은 true
또는 false
입니다.
메뉴 항목이 비활성화되었는지 여부를 나타냅니다.
메뉴 항목의 레이블과 설명을 참조하는 속성입니다.
각 menuitemradio
요소는 menu
역할을 가진 요소 안에 포함되어 있어야 하며,
aria-checked
속성을 사용해 현재 선택 상태를 명확히 나타내야 합니다.
또한 각 항목은 tabindex="0"
으로 설정되어 있어 키보드 탐색이 가능하게 해야 합니다.
사용자가 클릭할 때마다 aria-checked
속성이 업데이트되어 라디오 버튼의 상태를 변경합니다.
이 예시는 다른 menuitemradio
요소들의 선택을 해제하고, 클릭된 항목을 선택 상태로 만듭니다.
aria-disabled="true"
속성을 사용하여 두 번째 항목이 비활성화되었음을 나타냅니다.
이 항목은 키보드 탐색에서 제외되도록 tabindex="-1"
로 설정되었습니다.
요약 설명
option
역할은 사용자가 선택할 수 있는 개별 항목을 나타내며, 일반적으로listbox
,select
,combobox
등의 컨테이너(부모요소) 안에서 사용됩니다. 이 역할은 사용자가 여러 옵션 중 하나를 선택할 수 있는 상황에서 사용됩니다.
option
역할은 사용자가 선택할 수 있는 항목을 정의하며,
주로 listbox
, select
, combobox
역할과 함께 사용됩니다.
aria-selected
속성을 통해 나타내며,
키보드 탐색을 지원하기 위해 적절한 tabindex
설정이 필요합니다.
option
역할은 반드시 listbox
, select
,
또는 combobox
역할을 가진 컨테이너 안에 있어야 합니다.
option
요소는 선택 상태를 나타내기 위해 aria-selected
속성을 사용해야 합니다.
값은 true
(선택됨) 또는 false
(선택되지 않음) 중 하나입니다.
aria-disabled="true"
속성을 사용하여 표시할 수 있으며,
키보드 탐색에서 제외하려면 tabindex="-1"
을 설정할 수 있습니다.
aria-multiselectable
속성을 listbox
에 추가하면 여러 옵션을 동시에 선택할 수 있습니다.
tabindex
속성을 적절히 설정해야 합니다.
옵션의 선택 상태를 나타냅니다. 가능한 값은 true
또는 false
입니다.
옵션이 비활성화되었는지 여부를 나타냅니다.
옵션의 레이블과 설명을 참조하는 속성입니다.
각 option
요소는 listbox
역할을 가진 요소 안에 포함되어 있어야 하며,
aria-selected
속성을 사용해 현재 선택 상태를 명확히 나타내고 있어야 합니다.
각 항목은 tabindex="0"
으로 설정되어 있어 키보드 탐색이 가능하게 해야 합니다.
사용자가 클릭할 때마다 aria-selected
속성이 업데이트되어 옵션의 선택 상태가 변경됩니다.
선택된 항목만이 aria-selected="true"
상태가 되며, 다른 항목의 선택이 해제됩니다.
aria-disabled="true"
속성을 사용하여 두 번째 옵션이 비활성화되었음을 나타내고 있으며,
이 항목은 키보드 탐색에서 제외되도록 tabindex="-1"
로 설정되었습니다.
aria-multiselectable="true"
속성을 사용해 여러 항목을 선택할 수 있도록 설정한 예시입니다.
사용자가 클릭할 때마다 선택 상태가 토글됩니다.
요약 설명
progressbar
역할은 작업의 진행 상태를 시각적으로 나타내는 막대를 정의합니다. 이 역할은 사용자가 특정 작업이 얼마나 완료되었는지 확인할 수 있도록 도와줍니다.
progressbar
는 진행률을 나타내기 위해aria-valuenow
,aria-valuemin>
,aria-valuemax
와 같은 ARIA 속성을 사용하여 현재 진행 상태를 전달합니다.
progressbar
역할은 파일 다운로드, 업로드, 데이터 처리 등의 작업 진행 상황을 나타내기 위해 사용됩니다.
progressbar
의 현재 값(aria-valuenow
),
최소 값(aria-valuemin
), 최대 값(aria-valuemax
)을
사용해 진행 상태를 인식하고 사용자에게 전달합니다.
progressbar
역할을 사용할 때는 반드시
aria-valuenow
, aria-valuemin
, aria-valuemax
속성을 설정해야 하며,
이를 통해 보조 기술이 진행 상태를 정확히 전달할 수 있도록 합니다.
aria-valuenow
는 현재 진행 상태를 나타내는 값이며,
aria-valuemin
은 진행 상태의 최소값(일반적으로 0),
aria-valuemax
는 최대값(일반적으로 100)을 나타냅니다.
progressbar
의 상태를 자주 업데이트할 경우,
진행 상태가 사용자가 이해할 수 있는 속도로 적절히 업데이트되도록 해야 합니다.
aria-disabled
속성을 사용할 수 있습니다.
현재 진행 상태를 나타냅니다. 값은 숫자로 설정됩니다.
진행 상태의 최소값을 나타냅니다. 값은 숫자로 설정되며, 기본값은 0
입니다.
진행 상태의 최대값을 나타냅니다. 값은 숫자로 설정되며, 기본값은 100
입니다.
진행 상태 막대가 비활성화되었는지 여부를 나타냅니다.
진행 상태 막대의 레이블과 설명을 참조하는 속성입니다.
aria-valuenow
를 사용해 현재 진행률을 나타내고,
aria-valuemin
과 aria-valuemax
를 사용해 진행 상태의 범위를 지정합니다.
시각적인 막대는 width
스타일을 통해 진행 상태를 시각적으로 표현할 수 있습니다.
이 예시는 자바스크립트를 사용해 진행 상태를 동적으로 업데이트합니다.
updateProgress
함수는 aria-valuenow
속성을 업데이트하고,
시각적 막대의 너비와 텍스트를 변경하여 진행 상태를 반영합니다.
aria-disabled="true"
속성을 사용하여 진행 상태 막대가 비활성화되었음을 나타냅니다.
이 상태에서는 진행 상태의 업데이트가 중지되었음을 시각적으로나 보조 기술을 통해 사용자에게 전달할 수 있습니다.
요약 설명
scrollbar
역할은 스크롤 가능한 콘텐츠 영역의 스크롤바를 나타내며, 사용자가 콘텐츠의 특정 부분을 탐색할 수 있도록 도와줍니다. 스크롤바는 수직 또는 수평으로 나타날 수 있고, 사용자는 스크롤바를 이동시켜 콘텐츠를 탐색합니다.
scrollbar
역할은 보조 기술에서 이 요소를 스크롤바로 인식하게 하여 사용자가 콘텐츠의 어느 부분을 보고 있는지, 스크롤 가능한 범위 내에서 현재 위치가 어디인지를 전달합니다.
scrollbar
역할은 스크롤 가능한 콘텐츠 영역의 스크롤바를 정의하며,
사용자가 스크롤 가능한 콘텐츠를 탐색할 수 있도록 돕습니다.
aria-valuenow
, aria-valuemin
,
aria-valuemax
, aria-orientation
등의 속성이 사용됩니다.
aria-orientation="vertical"
을,
수평 스크롤바는 aria-orientation="horizontal"
을 사용하여 정의됩니다.
scrollbar
역할을 사용할 때는 반드시
aria-valuenow
, aria-valuemin
,
aria-valuemax
, aria-orientation
속성을 설정해야 하며,
이를 통해 보조 기술이 스크롤바의 상태를 정확히 전달할 수 있도록 합니다.
aria-valuenow
는 현재 스크롤바 위치를 나타내며,
aria-valuemin
은 스크롤 가능한 범위의 최소값,
aria-valuemax
는 최대값을 나타냅니다.
aria-orientation
속성은 스크롤 방향을 지정하며,
가능한 값은 vertical
(수직) 또는 horizontal
(수평)입니다.
aria-disabled
속성을 사용할 수 있습니다.
이 경우, 사용자에게 스크롤이 불가능함을 명확히 전달해야 합니다.
스크롤바의 현재 위치를 나타냅니다. 값은 숫자로 설정됩니다.
스크롤 가능한 범위의 최소값을 나타냅니다. 값은 숫자로 설정되며, 기본값은 0
입니다.
스크롤 가능한 범위의 최대값을 나타냅니다. 값은 숫자로 설정되며, 기본값은 100
입니다.
스크롤바의 방향을 나타냅니다. 가능한 값은 vertical
(수직) 또는 horizontal
(수평)입니다.
스크롤바가 비활성화되었는지 여부를 나타냅니다.
스크롤바의 레이블과 설명을 참조하는 속성입니다.
scrollbar
역할을 제대로 구현하기 위해서는
aria-valuenow
, aria-valuemin
, aria-valuemax
속성을 사용하여
스크롤바의 현재 위치와 범위를 정의하고 aria-orientation="vertical"
속성을 사용하여 스크롤바가 수직임을 나타냅니다.
또한, tabindex="0"
을 추가하여 키보드 탐색이 가능하도록 해야 합니다.
스크롤바의 위치를 동적으로 업데이트하는 예제입니다.
updateScrollbar
함수는 스크롤바의 위치를 변경하면서 aria-valuenow
속성을 업데이트하고,
시각적으로도 스크롤 핸들의 위치를 변경합니다.
aria-disabled="true"
속성을 사용하여 스크롤바가 비활성화되었음을 나타내고 있으며,
키보드 탐색에서 제외하기 위해 tabindex="-1"
을 설정했습니다.
요약 설명
searchbox
역할은 사용자가 검색어를 입력할 수 있는 텍스트 필드를 나타냅니다. 이 역할은 검색 기능을 제공하는 입력 필드를 정의하며, 일반적으로 검색 버튼과 함께 사용됩니다.searchbox
역할을 사용하면 보조 기술이 이 필드가 검색을 위한 것임을 명확히 인식할 수 있습니다.
HTML5의<input type="search">
요소는 기본적으로 검색 상자 역할을 가지며, 보조 기술이 이 필드가 검색을 위한 것임을 자동으로 인식하기 때문에role="searchbox"
는 사용을 안하는것을 권장합니다.W3C ARIA searchbox
MDN ARIA searchbox
input type요소 참조 - UXKM search
searchbox
역할은 사용자가 검색어를 입력할 수 있는 필드를 정의합니다.
aria-required
, aria-invalid
, aria-autocomplete
등의 속성을 사용하여 필드의 상태와 동작을 정의할 수 있습니다.
searchbox
역할을 사용할 때는 aria-label
속성을 통해 검색 상자의 목적을 명확히 해야 합니다.
aria-required="true"
를 사용하여 사용자에게 이를 알립니다.
aria-autocomplete
속성을 사용하여 보조 기술이 자동 완성 기능을 인식하도록 합니다.
aria-invalid
속성을 사용하여 검색어의 유효성을 나타낼 수 있습니다. 유효하지 않은 경우 관련 메시지를 제공해야 합니다.
검색 상자가 필수 입력 필드인지 여부를 나타냅니다.
검색 상자의 입력 내용이 유효한지 여부를 나타냅니다.
검색 상자에서 자동 완성 기능이 작동하는 방식을 나타냅니다. 가능한 값은 none
, list
, inline
, both
입니다.
검색 상자의 레이블과 설명을 참조하는 속성입니다.
role="searchbox"
를 사용해 검색 상자 역할을 명확히 정의하고
aria-label
속성을 통해 보조 기술이 검색 상자의 목적을 명확히 알 수 있도록 해야 합니다.
aria-autocomplete="list"
속성을 사용하여 자동 완성 기능이 포함된 searchbox
예시입니다.
datalist
요소는 사용자가 입력할 때 검색어 제안을 제공합니다.
aria-required="true"
속성을 사용하여 검색 상자가 필수 입력 필드임을 나타냅니다.
사용자가 이 필드를 비워두고 제출하려고 할 때, 보조 기술은 이를 경고할 수 있습니다.
aria-invalid
속성을 사용하여 검색 쿼리의 유효성을 검사하는 예제입니다.
사용자가 입력한 내용이 유효하지 않은 경우, 보조 기술은 이를 알리고 관련 오류 메시지를 제공할 수 있습니다.
요약 설명
separator
역할은 콘텐츠를 구분하기 위한 시각적인 선을 나타내며, 이 요소가 포커스(초점)를 받을 수 있을 때 ARIA 역할로 설정됩니다. 포커스(초점) 가능한 구분선은 종종 슬라이더, 드래그 앤 드롭 또는 키보드 내비게이션을 위한 핸들 역할을 수행합니다. 이러한 구분선은 사용자가 구분선을 이동시켜 레이아웃을 조정하거나 특정 동작을 트리거할 수 있도록 설계됩니다.
separator
역할은 일반적으로 콘텐츠를 시각적으로 구분하는 수평 또는 수직 선을 나타냅니다.
aria-orientation
, aria-valuenow
,
aria-valuemin
, aria-valuemax
등의 속성으로 현재 상태를 나타낼 수 있습니다.
separator
역할을 사용할 때는 반드시 aria-orientation
속성을 통해 구분선의 방향을 지정해야 합니다.
가능한 값은 horizontal
(수평) 또는 vertical
(수직)입니다.
aria-valuenow
, aria-valuemin
, aria-valuemax
속성을 설정하여 구분선의 현재 위치와 조정 가능한 범위를 나타내야 합니다.
tabindex="0"
을 설정하고 적절한 키보드 이벤트 핸들러를 구현해야 합니다.
aria-disabled="true"
속성을 사용해 표시할 수 있으며,
이 경우 포커스가 불가능하도록 설정해야 합니다.
구분선의 방향을 나타냅니다. 가능한 값은 horizontal
또는 vertical
입니다.
구분선의 현재 위치를 나타냅니다. 값은 숫자로 설정됩니다.
구분선의 조정 가능한 범위의 최소값을 나타냅니다. 값은 숫자로 설정됩니다.
구분선의 조정 가능한 범위의 최대값을 나타냅니다. 값은 숫자로 설정됩니다.
구분선이 비활성화되었는지 여부를 나타냅니다.
구분선의 레이블과 설명을 참조하는 속성입니다.
이 예시는 포커스가 불가능한 기본 구분선을 나타냅니다. <hr>
요소는 시각적으로 콘텐츠를 구분하는 역할을 하며,
보조 기술에서 이 요소를 구분선으로 인식하게 합니다. 이 경우, separator
는 단순한 시각적 구분용으로만 사용됩니다.
이 예시는 포커스 가능한 구분선으로, 사용자가 키보드나 마우스를 통해 이 구분선을 이동하여 레이아웃을 조정할 수 있습니다.
aria-valuenow
, aria-valuemin
, aria-valuemax
속성을 통해 구분선의 현재 위치와 조정 가능한 범위를 나타내며,
aria-orientation
속성으로 구분선의 방향(수평)을 지정합니다.
이 구분선은 키보드(화살표 키)를 통해 조정할 수 있으며, aria-valuenow
속성이 업데이트됩니다.
사용자는 이 구분선을 사용해 패널의 크기를 조정할 수 있습니다.
스크립트는 키보드 입력에 따라 구분선의 위치를 변경하고, 보조 기술이 구분선의 새 위치를 인식하도록 합니다.
aria-disabled="true"
속성을 사용하여 구분선이 비활성화되었음을 나타내고 있으며,
이 상태에서는 구분선을 조정할 수 없습니다. 또한, 포커스가 불가능하도록 tabindex="-1"
로 설정되었습니다.
요약 설명
slider
역할은 사용자가 특정 범위 내에서 값을 선택할 수 있도록 해주는 UI 요소를 나타냅니다. 슬라이더는 일반적으로 사용자가 드래그하거나 키보드를 사용하여 값을 조정할 수 있는 수평 또는 수직의 막대 형태로 제공됩니다.
슬라이더는aria-valuenow
,aria-valuemin
,aria-valuemax
,aria-orientation
등의 ARIA 속성을 통해 현재 값과 범위를 설정하고, 사용자가 슬라이더의 상태를 쉽게 파악할 수 있도록 돕습니다.W3C ARIA slider
MDN ARIA slider
input type요소 참조 - UXKM range
slider
역할은 사용자가 특정 값이나 범위를 선택할 수 있는 인터랙티브 요소를 정의합니다.
horizontal
) 또는 수직(vertical
) 방향으로 설정될 수 있으며,
현재 선택된 값을 시각적으로 나타냅니다.
aria-valuenow
, aria-valuemin
, aria-valuemax
속성을 사용하여 슬라이더의 현재 값, 최소값, 최대값을 사용자에게 전달합니다.
slider
역할을 사용할 때는 반드시
aria-valuenow
, aria-valuemin
,
aria-valuemax
, aria-orientation
속성을 설정하여 슬라이더의 현재 값, 최소값, 최대값, 방향을 명확히 정의해야 합니다.
tabindex="0"
을 설정하고 키보드 이벤트 핸들러를 구현해야 합니다.
aria-disabled="true"
속성을 사용하여 보조 기술이 이를 인식할 수 있도록 해야 합니다.
aria-orientation
속성을 적절히 설정해야 합니다.
슬라이더의 현재 값을 나타냅니다. 값은 숫자로 설정됩니다.
슬라이더의 최소값을 나타냅니다. 값은 숫자로 설정되며, 기본값은 0
입니다.
슬라이더의 최대값을 나타냅니다. 값은 숫자로 설정되며, 기본값은 100
입니다.
슬라이더의 방향을 나타냅니다. 가능한 값은 horizontal
(수평) 또는 vertical
(수직)입니다.
슬라이더가 비활성화되었는지 여부를 나타냅니다.
슬라이더의 레이블과 설명을 참조하는 속성입니다.
시멘틱 요소 사용을 권장하며, HTML5의 <input type="range">
요소를 사용하여 시멘틱하게 슬라이더를 구현합니다.
이 요소는 기본적으로 slider
역할을 가지며, 보조 기술은 이를 슬라이더로 인식합니다.
슬라이더는 aria-valuenow
(현재 값), aria-valuemin
(최소값),
aria-valuemax
(최대값) 속성을 사용하여 현재 상태를 정의하고,
키보드 탐색이 가능하도록 tabindex="0"
이 설정되어 있어야 합니다.
이 예시는 키보드를 사용해 슬라이더의 값을 동적으로 변경할 수 있는 슬라이더를 구현한 것입니다. ArrowRight, ArrowLeft, ArrowUp, ArrowDown 키로 슬라이더 값을 조정할 수 있으며, 이에 따라 슬라이더 핸들의 위치가 변경됩니다.
이 예시는 수직 슬라이더를 구현한 것입니다.
aria-orientation="vertical"
속성을 사용해 슬라이더의 방향을 수직으로 설정했으며, 슬라이더 핸들은 현재 값에 따라 위치가 조정됩니다.
이 슬라이더는 aria-disabled="true"
속성을 사용해 비활성화되었습니다.
슬라이더는 비활성화 상태이므로, 키보드 탐색에서도 제외되도록 tabindex="-1"
로 설정되었습니다.
요약 설명
spinbutton
역할은 사용자가 특정 범위 내에서 값을 증가 또는 감소시켜 선택할 수 있는 입력 필드를 나타냅니다. 스핀 버튼은 일반적으로 숫자 입력 필드로 구현되며, 사용자는 키보드나 마우스를 사용하여 값을 조정할 수 있습니다.
spinbutton
역할은aria-valuenow
,aria-valuemin
,aria-valuemax
등의 ARIA 속성을 통해 현재 값과 범위를 설정하여 보조 기술이 이를 정확하게 인식하도록 도와줍니다.W3C ARIA spinbutton
MDN ARIA spinbutton
input type요소 참조 - UXKM number
spinbutton
역할은 사용자가 값을 직접 입력하거나 버튼을 사용해 값을 증가 또는 감소시킬 수 있는 UI 요소를 정의합니다.
aria-valuenow
, aria-valuemin
, aria-valuemax
속성을 사용하여
스핀 버튼의 현재 값, 최소값, 최대값을 사용자에게 전달합니다.
spinbutton
역할을 사용할 때는 반드시
aria-valuenow
, aria-valuemin
, aria-valuemax
속성을 설정하여
스핀 버튼의 현재 값과 조정 가능한 범위를 정의해야 합니다.
tabindex="0"
을 설정하고 키보드 이벤트 핸들러를 구현해야 합니다.
aria-disabled="true"
속성을 사용하여 보조 기술이 이를 인식할 수 있도록 해야 합니다.
스핀 버튼의 현재 값을 나타냅니다. 값은 숫자로 설정됩니다.
스핀 버튼의 최소값을 나타냅니다. 값은 숫자로 설정되며, 기본값은 0
입니다.
스핀 버튼의 최대값을 나타냅니다. 값은 숫자로 설정되며, 기본값은 100
입니다.
스핀 버튼이 비활성화되었는지 여부를 나타냅니다.
스핀 버튼의 레이블과 설명을 참조하는 속성입니다.
기본적으로 시멘틱 요소 사용을 권장합니다.
HTML5의 <input type="number">
요소는 기본적으로 spinbutton
역할을 가지며,
보조 기술은 이를 스핀 버튼으로 인식합니다.
aria-valuenow
, aria-valuemin
, aria-valuemax
속성을 사용하여 스핀 버튼의 현재 값과 범위를 정의해야 하며,
tabindex="0"
을 설정하여 키보드 탐색이 가능하도록 해야 합니다.
이 예시는 키보드를 사용해 값을 증가(위쪽 화살표) 또는
감소(아래쪽 화살표)할 수 있는 스핀 버튼을 구현한 것입니다.
현재 값은 aria-valuenow
속성에 반영되며, 시각적으로도 업데이트됩니다.
aria-disabled="true"
속성을 사용하여 스핀 버튼이 비활성화되었음을 나타내며,
이 상태에서는 tabindex="-1"
를 적용하여 스핀 버튼이 포커스를 받지 않도록 합니다.
이 예시는 증가(+) 및 감소(-) 버튼이 포함된 스핀 버튼입니다. 사용자는 버튼을 클릭하여 값을 조정할 수 있으며, 보조 기술은 현재 값을 정확히 전달받을 수 있습니다.
요약 설명
switch
역할은 사용자가 켜기와 끄기 상태 사이를 전환할 수 있는 토글 버튼을 나타냅니다. 스위치는 일반적으로 두 가지 상태(예: “켜짐"/"꺼짐", “사용"/"미사용") 중 하나를 나타내며, 사용자가 이 상태를 변경할 수 있습니다. 이 역할은aria-checked
속성을 사용하여 스위치의 현재 상태를 보조 기술이 인식할 수 있도록 합니다.W3C ARIA switch
MDN ARIA switch
input type요소 참조 - UXKM checkbox
switch
역할은 사용자가 클릭하여 두 가지 상태(예: 켜짐/꺼짐)를 전환할 수 있는 UI 요소를 정의합니다.
switch
역할은 기본적으로 토글 버튼과 유사하지만, 스위치를 표현할 때 더 적합한 역할입니다.
aria-checked
속성을 통해 스위치가 현재 켜져 있는지(true
)
또는 꺼져 있는지(false
)를 인식합니다.
switch
역할을 사용할 때는 반드시 aria-checked
속성을 사용하여 스위치의 상태를 명확히 나타내야 합니다.
가능한 값은 true
(켜짐)와 false
(꺼짐)입니다.
tabindex="0"
을 설정하고, 키보드 이벤트 핸들러를 통해 스위치를 제어할 수 있도록 해야 합니다.
aria-disabled="true"
속성을 사용하여 보조 기술이 이를 인식할 수 있도록 해야 하며,
시각적으로도 비활성화 상태를 명확히 나타내야 합니다.
스위치의 현재 상태를 나타냅니다. 값은 true
(켜짐) 또는 false
(꺼짐)입니다.
스위치가 비활성화되었는지 여부를 나타냅니다.
스위치의 레이블과 설명을 참조하는 속성입니다.
시멘틱 요소 사용을 권장하며, HTML5의 <input type="checkbox">
요소를 사용하면
기본적으로 switch
역할을 가지며, 보조 기술은 이를 스위치로 인식합니다.
aria-checked="false"
속성으로 초기 상태를 꺼짐(Off)으로 설정하고, 클릭 시 상태를 토글합니다.
시각적으로도 상태를 업데이트하여 사용자가 스위치의 현재 상태를 쉽게 확인할 수 있도록 합니다.
이 예시는 키보드와 마우스를 사용해 상태를 토글할 수 있는 동적 스위치를 구현한 것입니다. Enter 키 또는 Space 키를 눌러 스위치 상태를 변경할 수 있으며, 보조 기술은 이 상태 변화를 인식합니다.
aria-disabled="true"
속성을 사용하여 스위치가 비활성화되었음을 나타냅니다.
이 상태에서는 스위치가 클릭되지 않게 하며, tabindex="-1"
를 적용하여 포커스를 받지 않도록 합니다.
이 예시는 스위치를 다양한 스타일로 꾸며서, 시각적으로 더 눈에 띄는 인터페이스를 제공합니다. 스위치가 클릭될 때마다 핸들이 이동하며 배경색도 변경됩니다.
(Full screen) 버튼을 클릭하여 전체 화면으로 예제를 확인하세요.
요약 설명
tab
역할은 탭 인터페이스에서 사용되는 개별 탭을 나타냅니다. 사용자는 탭을 클릭하거나 키보드를 사용해 선택하여 관련 콘텐츠를 활성화할 수 있습니다.
tab
역할은 일반적으로tablist
역할과 함께 사용되며,tablist
는 여러tab
을 포함하는 컨테이너 역할을 합니다. 각tab
요소는 고유한tabpanel
과 연관되어 있어, 사용자가 선택한 탭에 따라 해당tabpanel
이 활성화됩니다.
tab
역할은 탭 인터페이스에서 개별 탭을 정의합니다.
aria-selected
속성을 사용하여 현재 선택된 탭을 나타내며,
aria-controls
속성으로 해당 탭이 제어하는 tabpanel을 지정합니다.
tablist
컨테이너 안에 포함되며,
선택된 탭에 따라 관련 콘텐츠(tabpanel
)가 표시됩니다.
tab
역할을 사용할 때는 반드시 aria-selected
속성을 설정하여 현재 선택된 탭을 명확히 표시해야 합니다.
값은 true
(선택됨) 또는 false
(선택되지 않음)입니다.
tab
요소는 aria-controls
속성을 사용하여 제어하는 tabpanel
을 지정해야 합니다.
이 속성은 tabpanel
의 ID
와 연결되어야 합니다.
tabpanel
은 tab
과 연결되어야 하며,
탭이 선택될 때 해당 tabpanel
만 표시되고 나머지는 숨겨져야 합니다.
aria-disabled="true"
속성을 사용하여 표시하며, 시각적으로도 이를 나타내야 합니다.
현재 탭의 선택 상태를 나타냅니다. 값은 true
(선택됨) 또는 false
(선택되지 않음)입니다.
탭이 제어하는 tabpanel의 ID
를 참조합니다.
탭이 비활성화되었는지 여부를 나타냅니다.
시멘틱 요소 사용을 권장합니다.
아래는 <button>
요소를 사용하여 탭을 구현한 예제이며,
탭 버튼과 관련 콘텐츠가 올바르게 연결되어 보조 기술이 이 구조를 정확히 이해할 수 있도록 해야 합니다.
tab
과 tabpanel
을 올바르게 연결해야 하며,
aria-controls
속성을 사용해 각 tab
이 제어하는 tabpanel
을 명시하고,
aria-selected
속성으로 현재 선택된 탭을 나타냅니다.
선택되지 않은 탭은 tabindex="-1"
을 사용해 포커스가 불가능하도록 설정해야 합니다.
이 예시는 탭을 동적으로 업데이트할 수 있는 기능을 구현한 것입니다. 사용자가 탭을 클릭하면, 이전에 선택된 탭은 비활성화되고 새 탭이 활성화됩니다. 보조 기술은 현재 선택된 탭과 그에 따른 콘텐츠를 정확히 전달받습니다.
(Full screen) 버튼을 클릭하여 전체 화면으로 예제를 확인하세요.
aria-disabled="true"
속성을 사용하여 tab
버튼이 비활성화되었음을 나타냅니다.
tabindex="-1"
를 적용하여 포커스를 받지 않도록 하며, 시각적으로도 비활성화된 상태임을 표시해야 합니다.
이 예시는 키보드 내비게이션을 지원하는 탭 인터페이스를 구현한 것입니다. 사용자는 ArrowRight 및 ArrowLeft 키를 사용하여 탭 간에 이동할 수 있으며, 탭의 선택이 자동으로 업데이트됩니다.
요약 설명
tabpanel
역할은 탭 인터페이스에서 개별 탭(tab
)과 연결된 콘텐츠 영역을 나타냅니다. 사용자가 특정 탭을 선택하면 해당tabpanel
이 활성화되며, 사용자는 탭과 관련된 콘텐츠를 볼 수 있습니다.tabpanel
은tablist
내의tab과
함께 사용되며, 각tab
요소는aria-controls
속성을 통해 자신이 제어하는tabpanel
을 가리킵니다.
tabpanel
역할은 탭 인터페이스에서 개별 탭에 연결된 콘텐츠 영역을 정의합니다.
tab
요소를 선택하여 관련 tabpanel
을 활성화할 수 있으며,
활성화된 tabpanel
은 사용자가 현재 보고 있는 콘텐츠를 나타냅니다.
tabpanel
은 aria-labelledby
속성을 사용하여 자신을 설명하는 탭의 ID
를 참조하며,
이를 통해 보조 기술이 이 패널과 관련된 탭을 인식할 수 있습니다.
tabpanel
역할을 사용할 때는 반드시 aria-labelledby
속성을 사용하여
해당 tabpanel
을 설명하는 tab
의 ID
를 참조해야 합니다.
tabpanel
은 탭 인터페이스의 일부로 사용되며, 탭과 연결되어 있어야 합니다.
선택된 탭과 연결된 tabpanel
만 표시되며, 나머지 패널은 숨겨져야 합니다.
tabpanel
의 콘텐츠가 동적으로 업데이트될 경우, 사용자가 선택한 탭에 따라 관련 콘텐츠만 표시되도록 구현해야 합니다.
tabpanel
은 접근할 수 없도록 해야 합니다.
tabpanel
이 연결된 tab
의 ID
를 참조하여, 해당 탭과의 관계를 나타냅니다.
tabpanel
에 대한 추가 설명을 제공하는 요소를 참조할 수 있습니다.
tabpanel
이 숨겨져 있는지를 나타냅니다. hidden
속성과 함께 사용되어야 합니다.
각 tabpanel
요소는 aria-labelledby
속성을 통해 자신을 설명하는 탭의 ID
를 참조하고 있으며,
또한, aria-controls
속성을 사용하여 각 탭이 관련된 tabpanel
을 가리키도록 설정해야 합니다.
이 예시는 탭을 클릭할 때마다 관련된 tabpanel
이 표시되고 나머지 패널은 숨겨지도록 동적으로 업데이트되는 기능을 구현한 것입니다.
선택된 탭에 따라 관련된 콘텐츠가 표시되며, 보조 기술은 이 변화된 상태를 인식할 수 있습니다.
aria-disabled="true"
속성을 사용하여 tab
버튼이 비활성화되었음을 나타내고 있습니다.
비활성화 된 탭은 포커스를 받을 수 없으며, 연결된 tabpanel
은 표시되지 않습니다.
요약 설명
textbox
역할은 사용자가 텍스트를 입력할 수 있는 UI 요소를 나타냅니다. 이 역할은 일반적으로 HTML의<input>
요소와<textarea>
요소에 해당하며, 단일 또는 여러 줄의 텍스트를 입력할 수 있는 필드를 정의합니다.textbox
는 사용자가 정보를 입력할 수 있는 기본적인 인터랙티브 요소로, 다양한 입력 유형을 지원할 수 있습니다.W3C ARIA textbox
MDN ARIA textbox
input type요소 참조 - UXKM input text
textarea요소 참조 - UXKM textarea
textbox
역할은 사용자가 텍스트를 입력할 수 있는 필드를 정의합니다.
aria-multiline
, aria-required
,
aria-readonly
, aria-invalid
등의 속성을 통해 텍스트 상자의 상태와 동작을 인식할 수 있습니다.
input type="text"
)와
여러 줄 텍스트 상자(textarea
) 모두 textbox
역할을 가집니다.
textbox
역할을 사용할 때는 사용자가 입력해야 할 내용의 목적을 명확히 설명하기 위해
aria-label
또는 aria-labelledby
속성을 사용해야 합니다.
aria-required="true"
를 사용하여 사용자에게 이를 알립니다.
aria-readonly="true"
속성을 사용해 수정이 불가능함을 나타내야 합니다.
aria-invalid
속성을 사용하여 입력 값이 유효한지 여부를 나타낼 수 있습니다.
유효하지 않은 경우 관련 메시지를 제공해야 합니다.
aria-multiline="true"
속성을 사용하여 보조 기술이 이 필드가 여러 줄을 지원함을 알 수 있도록 해야 합니다.
텍스트 상자가 필수 입력 필드인지 여부를 나타냅니다.
텍스트 상자의 입력 내용이 유효한지 여부를 나타냅니다.
텍스트 상자가 읽기 전용인지 여부를 나타냅니다.
텍스트 상자가 여러 줄을 지원하는지 여부를 나타냅니다. 값은 true
또는 false
입니다.
텍스트 상자의 레이블과 설명을 참조하는 속성입니다.
<input type="text">
또는 <textarea>
요소는 기본적으로 textbox
역할을 가지며,
사용자가 텍스트를 입력할 수 있는 필드로 동작합니다.
aria-label
속성을 사용해 보조 기술이 이 필드의 목적을 이해할 수 있도록 제공합니다.
aria-multiline="true"
속성을 사용하여 텍스트 상자가 여러 줄을 입력하는 필드임을 나타냅니다.
보조 기술은 해당 필드가 한 줄 이상의 텍스트 입력이 가능하다는 정보를 사용자에게 전달합니다.
aria-required="true"
속성을 사용하여 이 텍스트 상자가 필수 입력 필드임을 나타냅니다.
보조 기술은 사용자가 이 필드를 비워두고 제출하려고 할 때 이를 경고할 수 있습니다.
aria-readonly="true"
속성을 사용하여 이 텍스트 상자가 읽기 전용임을 나타냅니다.
사용자는 이 필드의 내용을 수정할 수 없으며, 보조 기술은 이 필드가 수정 불가능하다는 정보를 사용자에게 전달합니다.
aria-invalid
속성을 사용하여 텍스트 상자 입력 값의 유효성을 검사하는 예시입니다.
사용자가 올바른 이메일 형식을 입력하지 않으면, 보조 기술은 이 필드가 유효하지 않음을 경고할 수 있으며, 관련 오류 메시지를 표시합니다.
요약 설명
treeitem
역할은 트리 구조 내에서 개별 항목을 나타냅니다.treeitem
은 보통 계층적 데이터 구조를 표현하는 트리 컴포넌트 내에서 사용되며, 각 항목은 다른 항목을 포함하거나 포함하지 않을 수 있습니다.treeitem
은 일반적으로tree
또는group
역할과 함께 사용됩니다.
treeitem
역할은 트리 구조의 개별 항목을 정의하며, 사용자는 이를 클릭하거나 확장/축소할 수 있습니다.
aria-expanded
속성을 사용하여 현재 하위 항목이 표시되는지 여부를 나타냅니다.
treeitem
은 계층적 구조를 표현하기 위해 group
역할을 가진 컨테이너에 포함될 수 있으며,
최상위 항목은 tree
역할을 가진 컨테이너에 직접 포함됩니다.
treeitem
역할을 사용할 때는 필수적으로
aria-expanded
속성을 설정하여 하위 항목의 표시 여부를 명확히 해야 합니다.
값은 true
(확장됨) 또는 false
(축소됨)입니다.
group
역할을 가진 컨테이너에 포함되어야 하며,
이 컨테이너는 treeitem
내에 있어야 합니다.
aria-disabled="true"
속성을 사용하여 이를 명확히 표시해야 합니다.
트리 항목의 하위 항목이 확장되었는지 여부를 나타냅니다. 값은 true
(확장됨) 또는 false
(축소됨)입니다.
트리 항목이 비활성화되었는지 여부를 나타냅니다.
트리 항목이 선택되었는지 여부를 나타냅니다.
트리 항목의 레이블과 설명을 참조하는 속성입니다.
tree
역할을 가진 컨테이너 안에 treeitem
을 포함시켜 트리 구조를 정의합니다.
aria-expanded
속성을 사용하여 첫 번째 항목이 확장된 상태임을 나타내고,
해당 항목에 포함된 하위 항목들은 group
역할을 가진 컨테이너에 포함되어 제공합니다.