관계 속성 - by. UXKM

요약 설명

WAI-ARIA(Accessible Rich Internet Applications)의 관계 속성(Relationship Attributes)은 웹 페이지 내의 요소 간 관계를 명시적으로 정의하여 접근성을 높이는 데 중요한 역할을 합니다.
이 속성들은 스크린 리더와 같은 보조 기술이 웹 콘텐츠를 보다 이해하기 쉽게 만들기 위해 사용됩니다. 관계 속성은 특히 복잡한 웹 애플리케이션에서 요소들 간의 논리적 관계를 명확하게 하는 데 필수적입니다.

W3C ARIA Relationship Attributes
MDN: ARIA Relationship attributes

관계 속성 요약

자주 사용하는 관계 속성(Relationship Attributes)

  • aria-labelledby
    • 이 속성은 하나 이상의 요소를 참조하여 현재 요소의 레이블을 지정합니다. 예를 들어, 어떤 요소가 하나 이상의 제목이나 설명 텍스트를 통해 설명될 때 사용됩니다.
    • 예시) <div aria-labelledby="label1 label2">
      여기서 label1, label2는 해당 요소의 ID를 가리키며, 이 요소들은 현재 요소의 레이블 역할을 합니다.
  • aria-describedby
    • 설명 : 이 속성은 사용자가 현재 요소에 대해 추가적인 설명을 제공하는 하나 이상의 요소를 참조하는 데 사용됩니다. 주로 툴팁이나 설명 텍스트 같은 부가 정보를 연결할 때 유용합니다.
    • 예시) <input aria-describedby="desc1">
      여기서 desc1은 입력 필드에 대한 추가 설명을 제공하는 요소의 ID입니다.
  • aria-controls
    • 이 속성은 현재 요소가 조작하는 하나 이상의 요소를 참조합니다. 예를 들어, 버튼이 특정 콘텐츠를 보여주거나 숨길 수 있는 경우 이 속성을 사용해 그 관계를 명확히 할 수 있습니다.
    • 예시) <button aria-controls="section1">
      여기서 section1은 버튼이 조작할 수 있는 콘텐츠 영역의 ID입니다.

사용 시 주의사항

  • 적절한 관계 정의

    관계 속성은 요소 간의 논리적 관계를 명확히 하기 위해 사용됩니다. 잘못된 관계 정의는 사용자를 혼란스럽게 할 수 있으므로, 올바른 참조를 설정하는 것이 중요합니다.

  • ID 참조의 유효성

    모든 참조된 ID는 문서 내에서 고유해야 하며, 참조된 요소가 실제로 존재해야 합니다.

aria-labelledby 속성

요약 설명

aria-labelledby 속성은 WAI-ARIA(Accessible Rich Internet Applications)에서 제공하는 속성으로, 특정 요소의 레이블(제목)을 다른 요소를 통해 정의할 때 사용됩니다. 이 속성은 보조 기술(예: 스크린 리더)이 요소와 연관된 레이블을 사용자에게 명확하게 전달할 수 있도록 도와줍니다.
aria-labelledby 속성은 aria-label 속성과 유사하지만, aria-label이 직접적으로 레이블 텍스트를 제공하는 반면, aria-labelledby는 다른 요소의 콘텐츠를 레이블로 참조합니다.

WAI-ARIA 1.2 Specification (aria-labelledby)
MDN Web Docs (aria-labelledby)

aria-labelledby 속성 값

aria-labelledby의 값은 레이블로 사용할 요소의 id입니다. 하나 이상의 요소를 공백으로 구분하여 나열할 수 있습니다.

연관된 HTML 태그 및 역할

  • 연관된 태그

    <input>, <textarea>, <button>, <div>, <section> 등 거의 모든 HTML 요소에서 사용 가능합니다.

  • 연관된 역할

    textbox, button, img, link 등 다양한 역할과 함께 사용됩니다.

사용 시 주의사항

  • 정확한 참조

    aria-labelledby 속성의 값으로 참조되는 ID는 문서 내에서 고유해야 하며, 실제로 존재하는 요소를 가리켜야 합니다.

  • 문맥에 맞는 레이블

    참조된 요소의 텍스트는 해당 요소가 설명하려는 대상과 관련성이 있어야 합니다.

  • 보완적 사용

    aria-describedby와 함께 사용하면, 요소의 제목과 추가 설명을 모두 보조 기술에 전달할 수 있습니다.

예시

폼 필드에서의 사용 예시

이 예시에서는 input 요소가 aria-labelledby 속성을 통해 label 요소(username-label ID가 있는 요소)를 참조합니다. 보조 기술은 input 필드의 레이블로 "사용자 이름"을 사용자에게 전달합니다.

그룹화된 요소에서의 사용 예시

이 예시에서는 input 필드들이 aria-labelledby 속성을 통해 h2 요소(personal-info-title ID가 있는 요소)를 참조하여, 두 필드 모두 "개인 정보"라는 제목을 레이블로 사용합니다.

버튼에 대한 설명에서의 사용 예시

이 예시에서는 button 요소가 aria-labelledby 속성을 통해 div 요소(save-desc ID가 있는 요소)를 참조합니다. 보조 기술은 버튼의 텍스트와 함께 추가 설명을 사용자에게 전달합니다.

이미지에 대한 설명에서의 사용 예시

이 예시에서 aria-labelledby는 이미지와 설명 텍스트 요소를 연결하는 데 사용되며, 이미지에 대한 설명을 다른 요소로부터 참조하도록 설정하는 역할을 합니다. aria-labelledby="image-desc"는 이미지가 id="image-desc"를 가진 요소에 의해 레이블이 지정되었음을 나타냅니다.

복합 위젯에서의 사용 예시

이 예시에서는 div 요소가 role="group"과 함께 사용되며, aria-labelledby 속성을 통해 그룹의 제목을 정의합니다. 보조 기술은 그룹 내의 모든 요소들이 "복합 위젯 제목"이라는 레이블을 공유하고 있음을 전달합니다.

aria-controls 속성

요약 설명

aria-controls 속성은 WAI-ARIA(Accessible Rich Internet Applications)에서 제공하는 속성으로, 특정 요소가 제어하는 다른 요소의 ID를 참조하는 데 사용됩니다.
이 속성은 주로 동적 콘텐츠(예: 탭 패널, 드롭다운 메뉴, 대화 상자 등)에서 사용되며, 보조 기술(예: 스크린 리더) 사용자에게 현재 요소가 어떤 요소를 제어하고 있는지를 알리는 역할을 합니다. 즉, 요소 간의 제어 관계를 명확히 전달할 수 있으며, 이를 통해 보다 접근성 높은 인터랙티브 웹 콘텐츠를 제공할 수 있습니다.

WAI-ARIA 1.2 Specification (aria-controls)
MDN Web Docs (aria-controls)

aria-controls 속성 값

aria-controls의 값은 제어할 요소의 id 값을 사용합니다. 하나의 요소만 제어할 수도 있고, 여러 요소를 공백으로 구분하여 제어할 수도 있습니다.

연관된 HTML 태그 및 역할

  • 연관된 태그

    <button>, <a>, <div>, <input>, <details>, <summary> 등 제어 기능을 수행하는 대부분의 HTML 요소에서 사용 가능합니다.

  • 연관된 역할

    tab, button, checkbox, radio, switch, combobox, menuitem 등의 역할과 함께 사용됩니다.

사용 시 주의사항

  • 정확한 참조

    aria-controls 속성의 값은 반드시 유효한 ID여야 하며, 문서 내에서 고유해야 합니다. 잘못된 참조는 보조 기술 사용자에게 혼란을 줄 수 있습니다.

  • 시맨틱 의미

    aria-controls 속성은 보조 기술 사용자에게만 영향을 주므로, 제어되는 요소 간의 시각적 또는 논리적 관계를 명확히 하도록 HTML 구조를 설계해야 합니다.

  • 동작 시나리오

    이 속성은 주로 JavaScript와 함께 사용되어 인터랙티브한 동작을 구현할 때 유용합니다.

사용 시나리오

  • 모달 대화 상자

    button이 모달 대화 상자를 열 때, aria-controls로 대화 상자의 ID를 참조하여 제어 관계를 명시합니다.

  • 탭 인터페이스

    탭이 선택되었을 때 해당 탭이 제어하는 패널을 aria-controls로 지정하여 보조 기술이 어떤 콘텐츠가 활성화되는지 알 수 있도록 합니다.

  • 슬라이더

    슬라이더 컨트롤이 특정 콘텐츠 영역을 업데이트할 때, 해당 영역을 aria-controls로 참조합니다.

예시

드롭다운 메뉴에서의 사용 예시

이 예시에서는 button 요소가 aria-controls 속성을 통해 ul 요소(드롭다운 메뉴)를 제어하고 있음을 나타냅니다. 드롭다운 메뉴가 열리면 첫 번째 항목에 포커스가 이동하며, 메뉴가 닫히면 버튼으로 포커스가 반환됩니다.

탭 패널에서의 사용 예시

이 예시에서는 각 탭(button 요소)이 aria-controls 속성을 사용하여 해당하는 패널(div 요소)을 제어하고 있음을 나타냅니다. 사용자가 탭을 선택하면 해당 패널로 포커스가 이동하며, 선택된 탭이 활성화됩니다.

모달 대화 상자에서의 사용 예시

이 예시에서는 button 요소가 aria-controls 속성을 통해 모달 대화 상자(div 요소)를 제어하고 있음을 나타냅니다. 모달이 열리면 닫기 버튼으로 포커스가 이동하고, 모달이 닫히면 버튼으로 포커스가 반환됩니다.

스와이프 슬라이더에서의 사용 예시

이 예시에서는 이전 및 다음 버튼이 aria-controls 속성을 사용하여 슬라이더(div 요소)를 제어하고 있음을 나타냅니다. 사용자가 버튼을 클릭하면 슬라이드가 변경되며, 변경된 슬라이드에 포커스가 설정됩니다.

aria-describedby 속성

요약 설명

aria-describedby 속성은 WAI-ARIA(Accessible Rich Internet Applications)에서 제공하는 속성으로, 특정 요소에 대한 추가적인 설명을 제공하는 요소의 ID를 참조하는 데 사용됩니다.
이 속성은 주로 입력 필드, 버튼, 이미지 등에서 추가적인 컨텍스트나 설명을 제공할 때 사용되며, 보조 기술(예: 스크린 리더)이 이 정보를 사용자에게 전달할 수 있도록 돕습니다.

WAI-ARIA 1.2 Specification (aria-describedby)
MDN Web Docs (aria-describedby)

aria-describedby 속성 값

aria-describedby의 값은 하나 이상의 ID를 공백으로 구분하여 나열합니다. 이러한 ID들은 설명을 제공하는 요소를 가리킵니다.

연관된 HTML 태그 및 역할

  • 연관된 태그

    <input>, <button>, <textarea>, <img>, <div> 등 거의 모든 HTML 요소에서 사용 가능합니다.

  • 연관된 역할

    textbox, button, img, link 등 다양한 역할과 함께 사용됩니다.

사용 시 주의사항

  • 정확한 참조

    aria-controls 속성의 값은 반드시 유효한 ID여야 하며, 문서 내에서 고유해야 합니다. 잘못된 참조는 보조 기술 사용자에게 혼란을 줄 수 있습니다.

  • 시맨틱 의미

    aria-controls 속성은 보조 기술 사용자에게만 영향을 주므로, 제어되는 요소 간의 시각적 또는 논리적 관계를 명확히 하도록 HTML 구조를 설계해야 합니다.

  • 동작 시나리오

    이 속성은 주로 JavaScript와 함께 사용되어 인터랙티브한 동작을 구현할 때 유용합니다.

예시

폼 입력 필드에서의 사용 예시

이 예시에서는 input 요소가 aria-describedby 속성을 통해 추가 설명(div 요소)을 참조하고 있습니다. 스크린 리더는 사용자가 입력 필드에 포커스할 때 이 추가 설명을 읽어줍니다.

버튼에서의 사용 예시

이 예시에서는 button 요소가 aria-describedby 속성을 통해 추가 설명(div 요소)을 참조하고 있습니다. 이 설명은 버튼이 수행할 작업에 대한 추가 정보를 제공합니다.

이미지에서의 사용 예시

이 예시에서는 img 요소가 aria-describedby 속성을 통해 이미지에 대한 추가 설명(div 요소)을 참조하고 있습니다. 스크린 리더는 이미지의 alt 텍스트와 함께 추가 설명을 읽어줍니다.

복합 위젯에서의 사용 예시

이 예시에서는 div 요소가 aria-describedby 속성을 통해 경고 메시지에 대한 추가 설명을 제공하고 있습니다. 보조 기술은 경고 메시지를 설명과 함께 사용자에게 전달합니다.

aria-details 속성

요약 설명

aria-details 속성은 WAI-ARIA(Accessible Rich Internet Applications)에서 제공하는 속성으로, 특정 요소와 관련된 추가적인 세부 정보나 설명을 제공하는 다른 요소의 ID를 참조하는 데 사용됩니다. aria-describedby와 유사하지만, aria-details는 더 구체적이고 복잡한 설명이나 세부 사항을 제공하는 경우에 사용됩니다.
이 속성은 주로 보조 기술(예: 스크린 리더) 사용자에게 추가적인 정보를 제공하기 위해 사용됩니다.

WAI-ARIA 1.2 Specification (aria-details)
MDN Web Docs (aria-details)

aria-details 속성 값

aria-details의 값은 참조되는 요소의 id입니다. 하나 이상의 요소를 공백으로 구분하여 나열할 수 있습니다.

연관된 HTML 태그 및 역할

  • 연관된 태그

    <div>, <details>, <summary>, <input>, <button> 등 거의 모든 HTML 요소에서 사용 가능합니다.

  • 연관된 역할

    textbox, button, img, link 등 다양한 역할과 함께 사용됩니다.

사용 시 주의사항

  • 구체적인 세부 정보

    aria-details는 복잡한 설명이나 세부 정보를 제공할 때 사용됩니다. 기본적인 설명은 aria-describedby를 사용하는 것이 더 적합합니다.

  • 정확한 참조

    aria-details 속성의 값으로 참조되는 ID는 문서 내에서 고유해야 하며, 참조하는 요소가 실제로 존재해야 합니다.

  • 사용 시점

    aria-details는 주로 더 많은 세부 사항이 필요할 때 사용되며, 일반적으로 추가적인 컨텍스트가 필요한 상황에서 사용됩니다.

aria-detailsaria-describedby 비교

ARIA(Accessible Rich Internet Applications) 속성으로, 웹 콘텐츠의 접근성을 개선하기 위해 사용되지만, 그 목적과 기능이 다릅니다.

aria-details

  • 목적

    aria-details는 더 복잡하거나 상세한 정보가 필요할 때 사용됩니다. 이 속성은 주로 추가적인 설명이나 상세한 정보를 제공하는 별도의 요소를 참조합니다.

  • 사용 예

    어떤 요소에 대한 자세한 설명이 다른 곳에 있을 때 그 정보를 연결하는 데 사용됩니다. 예를 들어, 사진에 대한 긴 설명이 이미지 바로 옆에 있지 않고, 페이지의 다른 부분에 위치해 있다면 aria-details를 사용하여 그 설명 요소를 참조할 수 있습니다.

  • 특징

    aria-details가 가리키는 대상은 비교적 상세한 설명이 포함된 요소입니다. 사용자 에이전트(브라우저)와 보조 기술(예: 화면 낭독기)이 이 속성을 통해 관련된 상세 정보를 제공할 수 있습니다.

  • 요약

    aria-details는 더 자세한 정보를 제공하는 요소를 참조합니다.

aria-describedby

  • 목적

    aria-describedby는 요소에 대한 짧고 간결한 설명을 제공하는 다른 요소를 참조합니다. 이 설명은 보통 텍스트 형식이며, 간단한 문장이나 단어로 구성될 수 있습니다.

  • 사용 예

    폼 필드에 대한 간단한 설명을 제공하거나, 버튼의 기능을 설명하는데 사용됩니다. 예를 들어, 텍스트 입력 필드가 있고 그 아래에 짧은 설명이 있을 때, 이 설명 요소를 aria-describedby를 통해 참조할 수 있습니다.

  • 특징

    aria-describedby 속성은 설명이 되는 요소를 가리키며, 이 설명은 간단하고 명확해야 합니다. 화면 낭독기는 이 설명을 읽어서 사용자가 어떤 기능이나 내용을 이해할 수 있도록 돕습니다.

  • 요약

    aria-describedby는 간단한 설명을 제공하는 요소를 참조합니다.

예시

이미지에 대한 추가 세부 정보 제공 예시

이 예시에서는 img 요소가 aria-details 속성을 통해 이미지에 대한 더 구체적인 설명(div 요소)을 참조하고 있습니다. 스크린 리더는 alt 속성의 기본 설명 외에도 추가적인 세부 정보를 사용자에게 제공할 수 있습니다.

폼 필드에 대한 복잡한 세부 정보 제공 예시

이 예시에서는 input 요소가 aria-details 속성을 통해 사용자 이름 필드에 대한 더 구체적인 입력 요구 사항을 제공하는 div 요소를 참조하고 있습니다. 사용자는 해당 필드에 대한 추가 정보를 받을 수 있습니다.

복잡한 위젯에 대한 세부 정보 제공 예시

이 예시에서는 button 요소가 aria-details 속성을 통해 버튼의 동작에 대한 더 구체적인 설명을 제공하는 div 요소를 참조하고 있습니다. 보조 기술은 이 버튼이 수행하는 작업에 대한 추가적인 세부 정보를 사용자에게 제공할 수 있습니다.

데이터 테이블에 대한 추가 설명 제공 예시

이 예시에서는 table 요소가 aria-details 속성을 통해 테이블의 내용과 관련된 추가 설명(div 요소)을 참조하고 있습니다. 사용자는 테이블의 목적이나 맥락에 대한 더 많은 정보를 받을 수 있습니다.

aria-errormessage 속성

요약 설명

aria-errormessage 속성은 WAI-ARIA(Accessible Rich Internet Applications)에서 제공하는 속성으로, 사용자 입력에서 오류가 발생했을 때 해당 오류 메시지를 제공하는 요소의 ID를 참조합니다.
이 속성은 주로 폼 필드에서 사용되며, 보조 기술(예: 스크린 리더)을 통해 사용자에게 어떤 오류가 발생했는지 명확하게 전달하는 데 사용됩니다. 사용자가 입력한 데이터가 잘못되었을 때 해당 오류를 명확히 전달하는 데 매우 유용하며, 이를 통해 보조 기술 사용자가 웹 양식에서 발생하는 오류를 보다 쉽게 이해하고 수정할 수 있도록 돕습니다.

WAI-ARIA 1.2 Specification (aria-errormessage)
MDN Web Docs (aria-errormessage)

aria-errormessage 속성 값

aria-errormessage의 값은 오류 메시지를 제공하는 요소의 id입니다. 이 ID는 문서 내에서 고유해야 하며, 참조된 요소는 사용자에게 오류에 대한 구체적인 정보를 제공해야 합니다.

연관된 HTML 태그 및 역할

  • 연관된 태그

    <input>, <textarea>, <select>, <form>, <div> 등 사용자 입력을 받거나 오류 메시지를 표시하는 요소에서 사용 가능합니다.

  • 연관된 역할

    textbox, combobox, listbox, spinbutton, checkbox, radio, slider 등 다양한 역할과 함께 사용됩니다.

사용 시 주의사항

  • 정확한 오류 메시지 제공

    aria-errormessage는 사용자가 발생시킨 오류를 명확하게 설명하는 메시지와 연결되어야 합니다. 이 메시지는 사용자에게 무엇이 잘못되었는지, 그리고 어떻게 수정할 수 있는지에 대한 정보를 제공해야 합니다.

  • 동적 업데이트

    오류 메시지는 사용자가 입력을 수정할 때 동적으로 업데이트될 수 있습니다. 이 경우 aria-errormessage 속성도 동적으로 변경되어야 합니다.

  • 보완적 사용

    aria-invalid 속성과 함께 사용하여 폼 필드의 유효성 검사 상태를 명확히 전달할 수 있습니다.

예시

텍스트 입력 필드에서의 사용 예시

이 예시에서는 이메일 입력 필드가 유효성 검사를 통과하지 못할 경우, aria-errormessage 속성을 통해 오류 메시지가 사용자에게 전달됩니다. 오류가 발생하면 필드에 포커스가 유지되며, 오류가 수정되면 오류 메시지가 숨겨집니다.

비밀번호 확인 필드에서의 사용 예시

이 예시에서는 비밀번호와 비밀번호 확인 필드 간의 불일치에 대해 aria-errormessage 속성을 사용하여 오류 메시지가 사용자에게 전달됩니다. 비밀번호가 일치하지 않으면 확인 필드에 포커스가 유지되며, 오류가 수정되면 포커스가 해제됩니다.

체크박스에서의 사용 예시

이 예시에서는 사용자가 체크박스를 선택하지 않고 제출 버튼을 클릭했을 때, aria-errormessage 속성을 통해 오류 메시지가 표시됩니다. 오류 발생 시 체크박스에 포커스가 유지되며, 사용자가 체크박스를 선택하면 제출 버튼으로 포커스가 이동합니다.

데이터 테이블에 대한 추가 설명 제공 예시

이 예시에서는 table 요소가 aria-details 속성을 통해 테이블의 내용과 관련된 추가 설명(div 요소)을 참조하고 있습니다. 사용자는 테이블의 목적이나 맥락에 대한 더 많은 정보를 받을 수 있습니다.

aria-activedescendant 속성

요약 설명

aria-activedescendant 속성은 WAI-ARIA(Accessible Rich Internet Applications)에서 제공하는 속성 중 하나로, 복잡한 위젯 내에서 현재 활성화된(또는 포커스된) 자식 요소를 지정하는 데 사용됩니다.
이 속성은 사용자 입력에 따라 동적으로 선택된 자식 요소를 명시적으로 참조함으로써, 스크린 리더가 현재 활성화된 항목을 올바르게 전달할 수 있도록 돕습니다.

WAI-ARIA 1.2 Specification (aria-activedescendant)
MDN Web Docs (aria-activedescendant)

aria-activedescendant 속성 값

aria-activedescendant는 현재 활성화된 자식 요소의 id 값을 가집니다. 이 속성은 부모 요소에 설정되고, 해당 부모 요소 내에서 활성화된 자식 요소를 나타냅니다.

연관된 HTML 태그 및 역할

  • 연관된 태그

    <input>, <div>, <ul>, <table>, <listbox>, <grid>

  • 연관된 역할

    listbox, grid, tree, tablist, combobox, menu, radiogroup 등에서 주로 사용됩니다. 주로 여러 자식 요소를 포함하고 있으며, 사용자의 선택에 따라 활성화된 요소가 바뀌는 구조에서 유용합니다.

사용 시 주의사항

  • 동적 업데이트

    aria-activedescendant 속성은 자식 요소 간의 활성화 상태가 변경될 때마다 동적으로 업데이트되어야 합니다.
    예를 들어, 키보드 네비게이션을 통해 선택된 항목이 바뀔 때마다 속성 값을 업데이트해야 합니다.

  • 포커스 관리

    aria-activedescendant 속성을 사용하는 요소는 보통 자체적으로 포커스를 받지 않고, 자식 요소가 대신 포커스를 받는 상황에서 사용됩니다. 이 경우 자식 요소로 포커스를 이동하지 않고, 부모 요소의 포커스 상태를 유지한 채 aria-activedescendant 속성으로 활성화된 자식을 지정합니다.

  • 유효한 ID

    속성 값으로 참조하는 ID는 반드시 문서 내의 유효한 요소 ID여야 합니다. 참조하는 자식 요소가 실제로 존재하지 않으면, 스크린 리더 사용자가 혼란을 겪을 수 있습니다.

예시

Listbox에서의 사용 예시

이 예시에서는 사용자가 입력한 값에 따라 listbox의 항목 중 활성화된 항목을 aria-activedescendant로 지정합니다. 스크린 리더는 사용자가 입력을 통해 선택된 항목을 인식할 수 있게 됩니다.

Combobox에서의 사용 예시

이 예시에서는 combobox에서 사용자가 입력한 내용에 따라 listbox 항목 중 선택된 항목이 aria-activedescendant로 지정됩니다. 사용자는 입력한 내용에 따라 자동으로 필터링된 결과를 시각적으로 확인하고, 스크린 리더는 해당 상태를 올바르게 알립니다.

aria-flowto 속성

요약 설명

aria-flowto 속성은 WAI-ARIA(Accessible Rich Internet Applications)에서 제공하는 속성으로, 웹 페이지 내의 요소들이 일반적인 문서 흐름과 다르게 논리적으로 연결되어 있음을 명시할 때 사용됩니다. 이 속성은 사용자가 페이지 내의 요소 간 이동을 할 때 특정 요소에서 다른 요소로 이동하도록 안내하는 데 유용합니다. 주로 복잡한 레이아웃에서 요소 간의 탐색 순서를 제어하거나 명시하고자 할 때 사용됩니다.

WAI-ARIA 1.2 Specification (aria-flowto)
MDN Web Docs (aria-flowto)

aria-flowto 속성 값

aria-flowto의 값은 하나 이상의 요소 ID입니다. 여러 요소를 참조할 경우 ID를 공백으로 구분하여 나열합니다.

연관된 HTML 태그 및 역할

  • 연관된 태그

    <div>, <span>, <section>, <article> 등 거의 모든 HTML 요소에서 사용 가능합니다.

  • 연관된 역할

    다양한 역할과 함께 사용되며, section, article, region, listitem 등 요소의 논리적 흐름을 명시할 필요가 있는 상황에서 유용합니다.

사용 시 주의사항

  • 정확한 흐름 정의

    aria-flowto 속성은 논리적인 탐색 순서를 명확히 정의할 때 사용되며, 이로 인해 사용자가 예상치 못한 방식으로 페이지를 탐색하지 않도록 주의해야 합니다.

  • 참조의 유효성

    참조된 요소의 ID는 문서 내에서 유일해야 하며, 실제로 존재하는 요소를 가리켜야 합니다.

  • 보조 기술의 호환성

    모든 보조 기술이 aria-flowto 속성을 완벽하게 지원하지 않을 수 있습니다. 따라서, 이 속성만을 의존하지 않고 페이지 내의 탐색 흐름을 설계해야 합니다.

  • 탐색 혼란 방지

    사용자가 논리적인 흐름을 쉽게 이해할 수 있도록, aria-flowto 속성을 신중하게 사용해야 합니다. 지나치게 복잡한 탐색 흐름은 오히려 혼란을 초래할 수 있습니다.

예시

일반적인 문서 흐름에서 벗어난 요소 간 연결 예시

이 예시에서는 section1에서 section3로 논리적인 탐색 순서가 연결되어 있으며, section2는 논리적 흐름에서 제외되었습니다. 보조 기술 사용자는 section1에서 section3로 바로 이동할 수 있습니다.

인터랙티브한 탐색 순서 제어 예시

이 예시에서는 단계별 양식 입력 흐름을 제어하고 있으며, step1에서 step3로 논리적으로 연결되어 있습니다. 사용자는 step2를 건너뛰고 바로 step3로 이동할 수 있습니다.

복잡한 레이아웃에서의 흐름 제어 예시

이 예시에서는 content1content3이 논리적으로 연결되어 있으며, content2는 탐색 흐름에서 제외되었습니다. 보조 기술 사용자는 이 논리적 흐름에 따라 콘텐츠를 탐색할 수 있습니다.

aria-owns 속성

요약 설명

aria-owns 속성은 WAI-ARIA(Accessible Rich Internet Applications)에서 제공하는 속성으로, DOM(Document Object Model) 트리 내에서 시각적으로나 논리적으로 특정 요소의 자식 요소처럼 보이지만, 실제로는 다른 위치에 있는 요소들을 명시적으로 부모-자식 관계로 설정할 때 사용됩니다.
이 속성은 스크린 리더와 같은 보조 기술이 요소 간의 논리적인 관계를 정확히 이해할 수 있도록 도와줍니다.

WAI-ARIA 1.2 Specification (aria-owns)
MDN Web Docs (aria-owns)

aria-owns 속성 값

aria-owns의 값은 소유할 자식 요소의 id입니다. 하나 이상의 요소를 공백으로 구분하여 나열할 수 있습니다.

연관된 HTML 태그 및 역할

  • 연관된 태그

    <div>, <span>, <ul>, <li>, <table>, <tr> 등 거의 모든 HTML 요소에서 사용 가능합니다.

  • 연관된 역할

    tree, grid, listbox, menu, toolbar, tablist 등 특정 요소들을 논리적으로 그룹화할 때 사용됩니다.

사용 시 주의사항

  • DOM 트리와의 일관성

    aria-owns 속성은 실제 DOM 트리 구조를 변경하지 않고 논리적인 관계를 정의하기 때문에, 사용자에게 혼란을 주지 않도록 주의해야 합니다. 사용자는 시각적으로나 기능적으로 요소들이 그룹화되어 있는 것을 기대합니다.

  • 중복 관계 피하기

    aria-owns를 사용하여 이미 DOM 트리에서 자식으로 정의된 요소를 다시 소유하는 것으로 지정할 경우 혼란을 줄 수 있습니다. aria-owns는 실제로 DOM에서 자식이 아닌 요소에 대해서만 사용해야 합니다.

  • 순환 참조 주의

    aria-owns를 잘못 사용하면 순환 참조가 발생할 수 있습니다. 이는 보조 기술 사용자를 혼란스럽게 만들 수 있습니다.

사용 시나리오

  • 동적 콘텐츠 관리

    동적으로 추가되거나 재배치된 콘텐츠를 논리적으로 그룹화해야 할 때 aria-owns를 사용하여 보조 기술 사용자에게 논리적인 관계를 명확히 전달할 수 있습니다.

  • 복합 위젯

    트리, 그리드, 메뉴, 탭 인터페이스 등에서 논리적인 부모-자식 관계를 명시하여 복잡한 UI 구조를 보다 명확하게 할 수 있습니다.

  • 리스트 관리

    리스트나 트리에서 DOM 구조와 논리적 구조가 다를 때, aria-owns를 사용하여 올바른 탐색 순서를 유지할 수 있습니다.

예시

동적 메뉴에서의 사용 예시

이 예시에서는 menu 요소가 aria-owns 속성을 통해 실제 DOM 트리 구조와는 달리 특정 메뉴 항목들을 명시적으로 소유하고 있음을 나타냅니다. menu-item 요소들이 실제로는 다른 위치에 있을 수 있지만, 논리적으로 menu의 자식 요소로 처리됩니다.

트리 구조에서의 사용 예시

이 예시에서는 parent-nodechild-nodes가 실제로는 DOM 트리에서 떨어져 있지만, aria-owns 속성을 사용하여 논리적으로 트리 구조의 부모-자식 관계를 형성합니다.

복합 위젯에서의 사용 예시

이 예시에서는 content 요소가 aria-owns 속성을 통해 실제 DOM 트리에서 떨어져 있는 탭 패널(tabpanel)들을 논리적으로 소유하고 있음을 나타냅니다.

aria-posinset 속성

요약 설명

aria-posinset 속성은 WAI-ARIA(Accessible Rich Internet Applications)에서 제공하는 속성으로, 특정 항목이 세트나 그룹 내에서 몇 번째 위치에 있는지를 나타낼 때 사용됩니다.
이 속성은 일반적으로 aria-setsize와 함께 사용되며, 리스트, 트리, 그리드 등에서 항목의 순서를 명확하게 정의하기 위해 사용됩니다. 이 속성은 스크린 리더와 같은 보조 기술이 그룹 내 항목의 위치를 사용자에게 정확하게 전달할 수 있도록 도와줍니다.

WAI-ARIA 1.2 Specification (aria-posinset)
MDN Web Docs (aria-posinset)

aria-posinset 속성 값

aria-posinset의 값은 1 이상의 양의 정수로, 세트나 그룹 내에서 요소의 위치를 나타냅니다.

연관된 HTML 태그 및 역할

  • 연관된 태그

    <li>, <option>, <tr>, <div>, <span> 등 리스트 항목이나 트리 항목 등을 나타내는 요소에서 사용됩니다.

  • 연관된 역할

    listitem, treeitem, option, row 등 그룹화된 항목에서 주로 사용됩니다.

사용 시 주의사항

  • 일관성 유지

    aria-posinset의 값은 해당 그룹 내의 다른 항목들과 일관성을 유지해야 합니다. 이 값은 해당 항목이 그룹 내에서 몇 번째인지 명확하게 나타내야 합니다.

  • aria-setsize와 함께 사용

    일반적으로 aria-setsize 속성과 함께 사용하여 세트의 전체 크기와 각 항목의 위치를 명확하게 정의합니다.

  • 적절한 역할과 함께 사용

    이 속성은 주로 listitem, treeitem, option, row 등의 역할과 함께 사용되어, 보조 기술이 그룹 내의 탐색 위치를 사용자에게 전달할 수 있도록 합니다.

사용 시나리오

  • 리스트 항목 정의

    리스트 내의 각 항목의 위치를 명확히 하여 사용자가 현재 몇 번째 항목을 탐색 중인지 알 수 있도록 합니다.

  • 트리 구조

    트리 구조에서 각 노드의 위치를 명확하게 정의하여, 사용자가 트리 내에서 탐색하는 위치를 파악할 수 있도록 합니다.

  • 그리드 또는 테이블

    그리드 또는 테이블에서 각 행 또는 셀의 위치를 명확하게 정의하여 탐색의 편의성을 높입니다.

예시

리스트 항목에서의 사용 예시

이 예시에서는 ul 요소 내의 각 li 요소가 aria-posinset 속성을 통해 리스트 내에서 몇 번째 항목인지를 명시하고 있습니다. 스크린 리더는 사용자가 현재 탐색 중인 항목이 전체 리스트 중 몇 번째인지 전달할 수 있습니다.

트리 항목에서의 사용 예시

이 예시에서는 트리 구조 내의 각 li 요소가 aria-posinset 속성을 통해 트리에서의 위치를 나타냅니다. 트리 구조에서 스크린 리더는 현재 항목이 몇 번째 위치에 있는지를 사용자에게 전달할 수 있습니다.

옵션 항목에서의 사용 예시

이 예시에서는 select 요소 내의 각 option 요소가 aria-posinset 속성을 통해 해당 옵션이 리스트 내에서 몇 번째 위치에 있는지를 나타냅니다. 사용자는 옵션의 순서를 정확하게 파악할 수 있습니다.

aria-setsize 속성

요약 설명

aria-setsize 속성은 WAI-ARIA(Accessible Rich Internet Applications)에서 제공하는 속성으로, 특정 그룹이나 세트(set) 내에 포함된 항목의 총 개수를 명시하는 데 사용됩니다.
이 속성은 주로 리스트 항목, 트리 항목, 그리드 항목 등에서 사용되며, 보조 기술(예: 스크린 리더)이 사용자에게 현재 항목이 속한 세트의 크기를 전달할 수 있도록 도와줍니다. aria-setsize 속성은 aria-posinset 속성과 함께 사용하여 세트 내 항목의 순서와 전체 크기를 명확하게 나타냅니다.

WAI-ARIA 1.2 Specification (aria-setsize)
MDN Web Docs (aria-setsize)

aria-setsize 속성 값

aria-setsize의 값은 1 이상의 양의 정수로, 세트나 그룹 내의 항목 총수를 나타냅니다.

연관된 HTML 태그 및 역할

  • 연관된 태그

    <li>, <option>, <tr>, <div>, <span> 등 리스트 항목이나 트리 항목 등을 나타내는 요소에서 사용됩니다.

  • 연관된 역할

    listitem, treeitem, option, row 등 그룹화된 항목에서 주로 사용됩니다.

사용 시 주의사항

  • 정확한 세트 크기 제공

    aria-setsize는 세트 내 항목의 총 개수를 정확히 반영해야 합니다.
    예를 들어, 리스트에 5개의 항목이 있으면, 각 항목의 aria-setsize 값은 5여야 합니다.

  • aria-posinset과 함께 사용

    일반적으로 aria-posinset 속성과 함께 사용하여, 세트의 전체 크기와 각 항목의 위치를 명확하게 정의합니다.

  • 중복 또는 누락 방지

    aria-setsize는 동일한 세트 내의 다른 항목과 일치해야 하며, 중복되거나 누락되지 않도록 주의해야 합니다.

사용 시나리오

  • 리스트 항목

    리스트나 메뉴에서 항목의 총 개수를 명시하여 사용자가 전체 항목의 크기를 파악할 수 있도록 합니다.

  • 트리 구조

    트리 내의 항목 개수를 명시하여 사용자가 전체 트리 구조에서 탐색할 위치를 이해할 수 있도록 합니다.

  • 테이블의 행 또는 열

    테이블에서 행이나 열의 개수를 명확하게 정의하여 탐색의 편의성을 높입니다.

예시

리스트 항목에서의 사용 예시

이 예시에서는 ul 요소 내의 각 li 요소가 aria-setsize 속성을 통해 리스트 내 항목의 총 개수를 명시하고 있습니다. 스크린 리더는 사용자가 현재 탐색 중인 항목이 3개의 항목 중 하나임을 전달할 수 있습니다.

트리 항목에서의 사용 예시

이 예시에서는 트리 구조 내의 각 li 요소가 aria-setsize 속성을 통해 트리 내의 루트 항목의 총 개수를 나타냅니다. 사용자는 전체 트리 구조에서 몇 개의 루트 항목이 있는지 파악할 수 있습니다.

테이블 행에서의 사용 예시

이 예시에서는 테이블 내의 각 행(tr 요소)이 aria-setsize 속성을 통해 전체 테이블에서 몇 개의 행이 있는지 명시하고 있습니다. 사용자는 현재 탐색 중인 행이 전체 행의 몇 번째인지 알 수 있습니다.

aria-colcount 속성

요약 설명

aria-colcount 속성은 WAI-ARIA(Accessible Rich Internet Applications)에서 정의된 속성 중 하나로, 그리드나 테이블 구조에서 총 열(column)의 수를 명시적으로 설정하는 데 사용됩니다.
이 속성은 특히 그리드나 테이블이 동적으로 생성되거나 페이지에서 일부 열만 보이는 경우(동적인 그리드나 테이블의 열 수를 명확히 정의)에 유용합니다. aria-colcount는 스크린 리더와 같은 보조 기술이 전체 테이블 구조를 올바르게 이해하고 사용자에게 전달할 수 있도록 돕습니다.

WAI-ARIA 1.2 Specification (aria-colcount)
MDN Web Docs (aria-colcount)

aria-colcount 속성 값

aria-colcount의 값은 양의 정수로, 그리드 또는 테이블의 열 수를 나타냅니다.
예), aria-colcount=”5”5개의 열이 있음을 의미합니다.

연관된 HTML 태그 및 역할

  • 연관된 태그

    <table>, <grid>, <treegrid> 등 테이블 또는 그리드 구조를 나타내는 요소에 사용됩니다.

  • 연관된 역할

    table, grid, treegrid 등의 ARIA 역할과 함께 사용됩니다.

사용 시 주의사항

  • 정확한 열 수 설정

    aria-colcount는 시각적으로 보이는 열의 수가 아닌, 데이터 구조에서 전체 열의 수를 반영해야 합니다. 페이지에서 일부 열이 숨겨져 있더라도 전체 열 수를 지정해야 합니다.

  • 동적 콘텐츠

    동적으로 생성되거나 수정되는 테이블이나 그리드에서는 이 속성을 사용하여 보조 기술이 전체 데이터 구조를 이해할 수 있도록 해야 합니다.

  • 보완적 속성 사용

    aria-colindex, aria-rowcount, aria-rowindex 등 다른 ARIA 속성과 함께 사용하여 전체 테이블 구조를 명확히 나타낼 수 있습니다.

예시

단순 테이블에서의 사용 예시

이 예시에서는 테이블이 4개의 열을 가지고 있으므로 aria-colcount="4"로 지정합니다. 스크린 리더는 이 속성을 사용하여 테이블의 열 구조를 정확히 전달합니다.

동적으로 생성되는 그리드에서의 사용 예시

이 그리드 구조는 3개의 열을 가지고 있으므로 aria-colcount="3"로 지정합니다. 스크린 리더는 이 정보를 사용하여 그리드의 열 구조를 사용자에게 전달할 수 있습니다.

시멘틱 구조의 예시

이 예시에서는 aria-colcount와 함께 aria-rowcount 속성도 사용하여 전체 그리드의 행과 열의 수를 명확히 나타내고 있습니다. 이러한 정보는 스크린 리더가 그리드의 구조를 정확하게 이해하고 사용자에게 전달하는 데 도움을 줍니다.

aria-colindex 속성

요약 설명

aria-colindex 속성은 WAI-ARIA(Accessible Rich Internet Applications)에서 제공하는 속성으로, 그리드 또는 테이블 구조에서 특정 셀(gridcell 또는 cell)이 어느 열에 위치하는지를 명시적으로 지정합니다. 이 속성은 스크린 리더와 같은 보조 기술이 현재 셀의 위치를 정확하게 파악하고 사용자에게 전달할 수 있도록 돕습니다.

WAI-ARIA 1.2 Specification (aria-colindex)
MDN Web Docs (aria-colindex)

aria-colindex 속성 값

aria-colindex의 값은 1 이상의 양의 정수로, 그리드나 테이블의 열(column) 번호를 나타냅니다.
예), aria-colindex="1"은 해당 셀이 첫 번째 열에 위치함을 의미합니다.

연관된 HTML 태그 및 역할

  • 연관된 태그

    <div>, <span>, <td>, <th>, <li> 등 그리드 또는 테이블 셀을 나타내는 요소에서 사용됩니다.

  • 연관된 역할

    gridcell, columnheader, rowheader, cell 등의 ARIA 역할과 함께 사용됩니다.

사용 시 주의사항

  • 정확한 인덱스 제공

    aria-colindex 값은 시각적으로 표시되는 순서와 일치해야 합니다. 이 속성을 사용하여 보조 기술이 테이블이나 그리드의 정확한 구조를 인식할 수 있도록 해야 합니다.

  • 스패닝 셀

    셀이 여러 열에 걸쳐(span) 있는 경우, aria-colindex는 셀의 시작 위치를 나타내며, colspan 속성과 함께 사용될 수 있습니다.

  • 동적 콘텐츠

    동적으로 생성되거나 수정되는 그리드 또는 테이블에서는 이 속성을 사용하여 보조 기술이 전체 데이터 구조를 올바르게 이해할 수 있도록 해야 합니다.

예시

단순 테이블에서의 사용 예시

이 예시에서는 각 thtd 요소에 aria-colindex 속성을 사용하여 열의 위치를 명확히 지정합니다. 스크린 리더는 이 정보를 사용하여 테이블의 구조를 올바르게 사용자에게 전달할 수 있습니다.

동적으로 생성되는 그리드에서의 사용 예시

이 그리드 구조에서는 각 셀이 어느 열에 위치하는지 aria-colindex를 사용하여 명확히 정의합니다. 이는 스크린 리더가 그리드의 셀 위치를 사용자에게 정확히 전달하는 데 도움이 됩니다.

시멘틱 구조의 예시

이 예시에서는 aria-colindex와 함께 aria-colcount, aria-rowcount 등의 속성을 사용하여 그리드의 전체 구조를 명확히 나타내고 있습니다. 이러한 정보는 스크린 리더가 그리드의 셀 위치를 정확하게 파악하고 사용자에게 전달하는 데 도움을 줍니다.

aria-colspan 속성

요약 설명

aria-colspan 속성은 WAI-ARIA(Accessible Rich Internet Applications)에서 제공하는 속성으로, 테이블 또는 그리드 구조에서 특정 셀이 몇 개의 열을 차지하는지를 명시적으로 지정하는 데 사용됩니다.
이 속성은 HTML의 colspan 속성과 유사한 역할을 하며, 스크린 리더와 같은 보조 기술이 셀의 레이아웃을 정확하게 이해하고 사용자에게 전달할 수 있도록 돕습니다.

WAI-ARIA 1.2 Specification (aria-colspan)
MDN Web Docs (aria-colspan)

aria-colspan 속성 값

aria-colspan의 값은 1 이상의 양의 정수로, 셀이 차지하는 열의 수를 나타냅니다.
예), aria-colspan="3"은 해당 셀이 세 개의 열을 차지함을 의미합니다.

연관된 HTML 태그 및 역할

  • 연관된 태그

    <div>, <span>, <td>, <th> 등 테이블 또는 그리드 셀을 나타내는 요소에서 사용됩니다.

  • 연관된 역할

    gridcell, columnheader, rowheader, cell 등의 ARIA 역할과 함께 사용됩니다.

사용 시 주의사항

  • 정확한 열 병합

    aria-colspandiv 요소에 사용되며, HTML의 colspan 속성은 td 또는 th 요소에서만 사용됩니다. div 요소에서는 colspan 속성을 사용할 수 없습니다. 대신, aria-colspan을 사용하여 보조 기술이 셀의 병합을 올바르게 이해하도록 합니다.

  • 동적 콘텐츠

    동적으로 생성되거나 수정되는 테이블이나 그리드에서 이 속성을 사용하여 보조 기술이 셀의 레이아웃을 정확하게 이해할 수 있도록 해야 합니다.

  • 보완적 속성 사용

    aria-colindex, aria-rowspan, aria-rowindex 등 다른 ARIA 속성과 함께 사용하여 전체 그리드 구조를 명확히 나타낼 수 있습니다.

예시

단순 테이블에서의 사용 예시

aria-colspan 속성과 관련된 역할 및 접근성 문제를 고려할 때, 기본적으로 HTML의 table 요소, colspan 속성, 그리고 관련 태그(th, td)를 사용하여 테이블 구조를 구현하는 것이 가장 표준적이고 접근성 있는 방법입니다. aria-colspan 속성은 주로 divspan 등의 요소로 테이블과 유사한 레이아웃을 만들 때 사용될 수 있지만, 실제로 HTML의 table 요소를 사용할 때는 role="grid"aria-* 속성을 추가로 사용하는 것이 필요하지 않습니다. HTML 표준에서 제공하는 colspan 속성만으로도 접근성을 충분히 지원할 수 있습니다.
따라서, 테이블을 구성할 때는 HTML의 기본 구조와 속성을 사용하는 것이 바람직하며, 이 경우 role 속성이나 aria-* 속성을 추가할 필요는 없습니다.

동적으로 생성되는 그리드에서의 사용 예시

이 그리드 구조에서는 두 번째 셀이 두 개의 열을 병합하고 있으므로 aria-colspan="2"를 사용합니다. div 요소에서는 colspan 속성을 사용할 수 없으므로, aria-colspan만을 사용하여 보조 기술이 그리드의 구조를 정확하게 전달할 수 있도록 합니다.

시멘틱 구조의 예시

이 예시에서는 두 번째 열이 두 개의 열을 병합하여 사용하고 있습니다. aria-colspan 속성을 사용하여 보조 기술이 그리드의 구조를 정확하게 이해할 수 있도록 도와줍니다.

aria-rowcount 속성

요약 설명

aria-rowcount 속성은 WAI-ARIA(Accessible Rich Internet Applications)에서 제공하는 속성으로, 테이블, 그리드 또는 트리 구조에서 전체 행(row)의 총 수를 명시하는 데 사용됩니다.
이 속성은 스크린 리더와 같은 보조 기술이 테이블이나 그리드의 전체 크기를 이해하고, 사용자에게 현재 탐색 중인 항목이 전체 행 중 몇 번째에 위치하는지를 더 잘 전달할 수 있도록 돕습니다.

WAI-ARIA 1.2 Specification (aria-rowcount)
MDN Web Docs (aria-rowcount)

aria-rowcount 속성 값

aria-rowcount의 값은 양의 정수로, 테이블 또는 그리드 내에 있는 전체 행의 수를 나타냅니다. 전체 행 수를 알 수 없거나 동적으로 변경될 경우, -1 값을 사용하여 행 수가 불확실함을 나타낼 수 있습니다.

연관된 HTML 태그 및 역할

  • 연관된 태그

    <table>, <div>, <ul>, <li> 등 테이블, 그리드 또는 트리 구조를 나타내는 요소에서 사용됩니다.

  • 연관된 역할

    table, grid, tree, row 등의 ARIA 역할과 함께 사용됩니다.

사용 시 주의사항

  • 정확한 행 수 제공

    aria-rowcount는 테이블이나 그리드의 전체 행 수를 정확하게 반영해야 합니다. 잘못된 값은 보조 기술 사용자에게 혼란을 줄 수 있습니다.

  • 동적 콘텐츠에서의 활용

    동적으로 생성되거나 수정되는 테이블이나 그리드에서 이 속성을 사용하여 보조 기술이 전체 구조를 정확하게 이해할 수 있도록 해야 합니다.

  • 다른 ARIA 속성과의 조합

    aria-rowcountaria-colcount, aria-rowindex, aria-colindex 등 다른 ARIA 속성과 함께 사용하여 테이블 구조를 명확히 정의할 수 있습니다.

예시

단순 테이블에서의 사용 예시

이 예시에서는 table 요소에 aria-rowcount 속성을 사용하여 테이블 내의 전체 행 수가 3개임을 명시하고 있습니다. 스크린 리더는 이 정보를 사용하여 사용자가 테이블 내에서 탐색할 때 전체 행 수를 알려줄 수 있습니다.

동적으로 생성되는 그리드에서의 사용 예시

이 예시에서는 div 요소에 aria-rowcount 속성을 사용하여 그리드 내의 전체 행 수가 3개임을 명시합니다. 이 정보는 스크린 리더가 그리드의 전체 구조를 이해하는 데 도움이 됩니다.

시멘틱 구조의 예시

이 예시에서는 HTML 표 요소 대신 div 요소를 사용하여 테이블 구조를 시멘틱하게 나타냅니다. aria-rowcount 속성은 테이블의 전체 행 수를 명확히 하여 스크린 리더가 이 구조를 올바르게 해석하고 사용자에게 전달할 수 있도록 돕습니다.

aria-rowindex 속성

요약 설명

aria-rowindex 속성은 WAI-ARIA(Accessible Rich Internet Applications)에서 제공하는 속성으로, 테이블이나 그리드에서 특정 행(row)의 위치를 명시하는 데 사용됩니다.
이 속성은 스크린 리더와 같은 보조 기술이 테이블 구조를 정확하게 이해하고, 현재 행이 전체 테이블이나 그리드 내에서 몇 번째에 위치하는지를 사용자에게 전달할 수 있도록 돕습니다.

WAI-ARIA 1.2 Specification (aria-rowindex)
MDN Web Docs (aria-rowindex)

aria-rowindex 속성 값

aria-rowindex의 값은 1 이상의 양의 정수로, 행이 전체 테이블 또는 그리드에서 몇 번째 위치에 있는지를 나타냅니다.

연관된 HTML 태그 및 역할

  • 연관된 태그

    <tr>, <div>, <li> 등 행을 나타내는 요소에서 사용됩니다.

  • 연관된 역할

    row, gridcell, columnheader, rowheader 등의 ARIA 역할과 함께 사용됩니다.

사용 시 주의사항

  • 정확한 위치 명시

    aria-rowindex 속성은 테이블 또는 그리드 내에서 행의 정확한 위치를 명시해야 합니다. 잘못된 인덱스 값은 보조 기술 사용자에게 혼란을 줄 수 있습니다.

  • 동적 콘텐츠에서의 활용

    동적으로 생성되거나 수정되는 테이블이나 그리드에서 이 속성을 사용하여 보조 기술이 행의 위치를 정확하게 이해할 수 있도록 해야 합니다.

  • 다른 ARIA 속성과의 조합

    aria-rowindexaria-colindex, aria-rowspan, aria-colspan 등 다른 ARIA 속성과 함께 사용하여 테이블 구조를 명확히 정의할 수 있습니다.

예시

단순 테이블에서의 사용 예시

이 예시에서는 각 tr 요소가 aria-rowindex 속성을 통해 테이블 내에서 행의 위치를 명시하고 있습니다. 스크린 리더는 이 정보를 사용하여 사용자가 현재 탐색 중인 행이 테이블의 몇 번째 행인지 알 수 있습니다.

동적으로 생성되는 그리드에서의 사용 예시

이 예시에서는 div 요소가 aria-rowindex 속성을 사용하여 그리드 내에서 각 행의 위치를 명시합니다. 이 정보는 스크린 리더가 그리드의 구조를 이해하는 데 도움이 됩니다.

시멘틱 구조의 예시

이 예시에서는 HTML의 표 요소 대신 div 요소를 사용하여 테이블과 유사한 구조를 시멘틱하게 나타냅니다. aria-rowindex 속성은 스크린 리더가 각 행의 위치를 올바르게 해석하고 사용자에게 전달할 수 있도록 돕습니다.

aria-rowspan 속성

요약 설명

aria-rowspan 속성은 WAI-ARIA(Accessible Rich Internet Applications)에서 제공하는 속성으로, 테이블 또는 그리드 구조에서 특정 셀이 여러 행(row)에 걸쳐 있음을 명시적으로 정의하는 데 사용됩니다.
이 속성은 HTML의 rowspan 속성과 유사하며, 스크린 리더와 같은 보조 기술이 테이블의 구조를 정확하게 이해하고 사용자에게 전달할 수 있도록 돕습니다.

WAI-ARIA 1.2 Specification (aria-rowspan)
MDN Web Docs (aria-rowspan)

aria-rowspan 속성 값

aria-rowspan의 값은 1 이상의 양의 정수로, 셀이 차지하는 행의 수를 나타냅니다.

연관된 HTML 태그 및 역할

  • 연관된 태그

    <td>, <th> 등 표 또는 그리드 셀을 나타내는 요소에서 사용됩니다.

  • 연관된 역할

    gridcell, columnheader, rowheader, cell 등의 ARIA 역할과 함께 사용됩니다.

사용 시 주의사항

  • 정확한 행 병합

    aria-rowspan 속성은 HTML의 rowspan 속성과 일관되게 사용되어야 합니다. 두 속성이 서로 다른 값을 가지면 보조 기술이 테이블이나 그리드의 레이아웃을 올바르게 해석하지 못할 수 있습니다.

  • 동적 콘텐츠

    동적으로 생성되거나 수정되는 표 또는 그리드에서 이 속성을 사용하여 보조 기술이 셀의 레이아웃을 정확하게 이해할 수 있도록 해야 합니다.

  • 보완적 속성 사용

    aria-colspan, aria-rowindex, aria-colindex 등 다른 ARIA 속성과 함께 사용하여 전체 표 구조를 명확히 나타낼 수 있습니다.

예시

단순 테이블에서의 사용 예시

이 예시에서는 td 요소가 rowspanaria-rowspan 속성을 통해 두 개의 행에 걸쳐 있음을 명시하고 있습니다. 스크린 리더는 이 정보를 사용하여 테이블의 구조를 올바르게 해석하고 사용자에게 전달합니다. 이 방법은 표준 HTML의 rowspan 속성을 사용하면서 접근성을 강화하는 aria-rowspan을 함께 사용한 예시입니다.

동적으로 생성되는 그리드에서의 사용 예시

이 예시에서는 div 요소가 aria-rowspan 속성을 사용하여 그리드 내에서 두 개의 행에 걸쳐 있음을 명시합니다. 이 정보는 스크린 리더가 그리드의 구조를 이해하는 데 도움이 됩니다. 동적 콘텐츠에서 유용하게 사용되며, HTML table 요소를 사용하지 않고도 접근성을 강화할 수 있습니다.

시멘틱 구조의 예시

이 예시에서는 HTML의 표 요소 대신 div 요소를 사용하여 테이블과 유사한 구조를 시멘틱하게 나타냅니다. aria-rowspan 속성은 스크린 리더가 두 개의 행에 걸친 셀을 올바르게 해석하고 사용자에게 전달할 수 있도록 돕습니다. 이 구조는 동적 콘텐츠와 복잡한 레이아웃에서 유용하게 사용될 수 있습니다.