네이게이션 건너뛰기
codingEverybody
  • HTML
  • CSS
  • JavaScript
  • PHP
  • HTML 소개
  • HTML 태그
  • HTML 속성
  • HTML 특수 문자·이모지
  • 유용한 활용 팁
HTML
  • HTML 소개
  • <!DOCTYPE html>
    선언의 올바른 의미
  • HTML 주석
    올바른 이해와 사용 방법
HTML 태그
  • HTML 태그 참고서
  • <a>
  • <abbr>
  • <address>
  • <article>
  • <aside>
  • <audio>
  • <b>
  • <base>
  • <bdi>
  • <bdo>
  • <blockquote>
  • <body>
  • <br>
  • <button>
  • <canvas>
  • <cite>
  • <code>
  • <data>
  • <datalist>
  • <del>
  • <details>
  • <summary>
  • <dfn>
  • <dialog>
  • <div>
  • <dl>
  • <dt>
  • <dd>
  • <em>
  • <embed>
  • <fieldset>
  • <legend>
  • <figure>
  • <figcaption>
  • <footer>
  • <form>
  • <head>
  • <header>
  • <hgroup>
  • <hr>
  • <html>
  • <h1>~<h6>
  • <i>
  • <iframe>
  • <img>
  • <input>
  • <ins>
  • <kbd>
  • <label>
  • <li>
  • <link>
  • <main>
  • <map>
  • <area>
  • <mark>
  • <menu>
  • <meta>
  • <meter>
  • <nav>
  • <noscript>
  • <object>
  • <ol>
  • <optgroup>
  • <option>
  • <output>
  • <p>
  • <picture>, <source>
  • <pre>
  • <progress>
  • <q>
  • <ruby>, <rt>
  • <s>
  • <samp>
  • <script>
  • <search>
  • <section>
  • <select>
  • <small>
  • <span>
  • <strong>
  • <style>
  • <sub>
  • <sup>
  • <table>
  • <caption>
  • <tr>
  • <td>
  • <th>
  • <thead>
  • <tbody>
  • <tfoot>
  • <col>
  • <colgroup>
  • <template>
  • <textarea>
  • <time>
  • <title>
  • <u>
  • <ul>
  • <var>
  • <video>
  • <wbr>
HTML 속성
  • HTML 속성 소개
  • aria-*
    웹 접근성 향상을 위한 요소의 상태와 특성 제공
  • aria-hidden
  • aria-label
  • aria-labelledby
  • <button> type
    버튼의 컨트롤 유형을 지정
  • <button type="button">
  • <button type="reset">
  • <button type="submit">
  • cite
    인용문이나 변경 내용의 출처를 가리키는 URL
  • class
    하나 이상의 클래스 이름을 지정
  • contenteditable
    에디터 개발을 위해 알아야 할 필수 속성
  • crossorigin
    CORS(교차 출처 리소스 공유) 요청 설정
  • data-*
    표준 사용자 지정 데이터 속성
  • datetime
    해당 요소와 관련된 시간이나 날짜 정보
  • dir
    언어의 특성에 맞게 읽고 쓰는 텍스트의 방향을 지정
  • disabled
    컨트롤 요소를 비활성화하는 속성
  • enterkeyhint
    가상 키보드의 Enter 버튼 모양 지정
  • form
    특정 <form>과 폼 관련 요소를 연결
  • hidden
    숨겨진 요소임을 나타내는 속성
  • href
    링크된 리소스의 URL을 지정
  • id
    웹 페이지 내에서 유일한 고유식별자 설정
  • <img> alt
    이미지의 대체 텍스트를 지정
  • <img> srcset, sizes
    <img>로 반응형 이미지 구현하기
  • <input> type
    다양한 입력 컨트롤 유형을 지정
  • <input type="button">
  • <input type="checkbox">
  • <input type="color">
  • <input type="date">
  • <input type="datetime-local">
  • <input type="email">
  • <input type="file">
  • <input type="hidden">
  • <input type="image">
  • <input type="number">
  • <input type="password">
  • <input type="radio">
  • <input type="range">
  • <input type="reset">
  • <input type="search">
  • <input type="submit">
  • <input type="tel">
  • <input type="text">
  • <input type="time">
  • <input type="url">
  • <input> checked
    체크박스와 라디오 버튼에 미리 체크하기
  • <input> list
    연결할 <datalist> 지정
  • <input> pattern
    정규 표현식 패턴으로 입력값 형식 설정
  • <input> size
    문자 기준으로 한 줄 입력 필드의 너비 지정
  • <input> step
    입력값의 간격을 지정
  • inputmode
    가상 키보드의 입력 모드 지정
  • lang
    기본 언어를 지정
  • min
    최솟값 지정
  • max
    최댓값 지정
  • minlength
    <input>과 <textarea>의 최소 입력 문자 수 설정
  • maxlength
    <input>과 <textarea>의 최대 입력 문자 수 설정
  • name
    요소가 참조되는 이름을 지정
  • placeholder
    텍스트 박스에 플레이스홀더 텍스트 지정하기
  • readonly
    텍스트 관련 컨트롤 요소의 편집 여부 제어
  • rel
    링크된 리소스와 현재 문서 사이의 관계를 지정
  • <link rel="dns-prefetch">
    링크된 외부 도메인의 DNS 조회를 미리 수행
  • <link rel="preconnect">
    링크된 외부 도메인을 미리 연결
  • <link rel="prefetch">
    다음에 사용될 리소스를 미리 로딩하여 캐시로 저장
  • <link rel="preload">
    리소스 사전 로드하기
  • required
    폼의 필수 항목 지정하기
  • role
    웹 접근성 향상을 위한 요소의 의미와 역할 보완
  • role="banner"
  • role="button"
  • role="complementary"
  • role="contentinfo"
  • role="generic"
  • role="img"
  • role="main"
  • role="navigation"
  • role="none"
  • role="note"
  • role="presentation"
  • role="region"
  • role="search"
  • style
    요소에 직접 CSS 스타일링하기
  • tabindex
    요소의 키보드 tab 포커스 탐색 제어하기
  • <th> scope
    향상된 테이블 헤더 구조의 접근성 제공
  • title
    요소에 대한 지침 또는 설명 등의 참고 정보
  • value
    사용되는 요소의 값을 지정
HTML 특수 문자·이모지
  • HTML 특수 문자·이모지 소개
  • HTML 특수문자 사용법과 의의
    예약된 문자와의 충돌을 피하며 웹 콘텐츠 작성하기
  • HTML 특수 문자 코드표
    특수기호, 엔티티, 문자 인코딩
  • 웹 페이지에서 이모지(이모티콘) 사용하기
    웹 페이지에 이모지 삽입하는 방법
  • 이모지(이모티콘) 리스트
    유니코드 및 HTML 엔티티 코드 포함
  • 카오모지(顔文字, Kaomoji) 리스트
    감정·상황별 정리
HTML 유용한 활용 팁
  • 유용한 활용 팁 소개
  • 오픈 그래프 프로토콜
    웹 페이지의 소셜 미디어 공유 미리보기 설정
  • <video> 태그 자동 재생 완벽 가이드
    자동 재생 안 됨 해결

HTML role="generic" – 올바른 이해와 사용 방법

HTML 속성 홈 이전 다음

정의 및 사용 방법

role 속성의 generic 값은 웹 접근성 측면에서 해당 HTML 요소에 어떠한 의미(semantic meaning)도 갖지 않는 이름 없는 컨테이너(nameless container) 역할(role)을 부여합니다.

기본적으로 HTML의 많은 요소들은 이미 고유한 역할의 의미(semantic meaning)를 가지고 있습니다.
그러나, <div>나 <span>과 같이 고유한 역할(role)의 의미(semantic meaning)를 가지고 있지 않은 요소들도 있습니다. role 속성의 generic 값은 이러한 요소들의 암시적인(Implicit) 역할(role)의 값으로 사용하기 위해 의도적으로 고안되었습니다.

role 속성의 generic 값은 고유한 역할의 의미(semantic meaning)를 가지고 있지 않은 요소의 암시적인(Implicit ) 역할(role)의 값으로만 사용해야 하며, 그렇지 않은 요소에 직접 사용해서는 안 됩니다.

암시적인(Implicit ) role 속성의 값이 generic인 요소들

다음의 요소들은 고유한 의미(semantic meaning)에 해당하는 역할(role)을 가지고 있지 않습니다. 즉, role 속성의 값을 별도로 지정하지 않으면, 접근성 API에서 role 속성의 값이 generic으로 매핑됩니다.

  • <div>
  • <span>
  • <body>
  • <bdi>
  • <bdo>
  • <data>
  • <pre>
  • <samp>
  • <small>
  • <b>
  • <i>
  • <q>
  • <u>

이러한 요소들은 HTML에서 각각 고유한 의미(semantic meaning)를 가지고 있습니다. (물론, <div>나 <span>은 자체적으로 아무런 의미가 없다라는걸 나타내는 고유한 의미를 가집니다.)

하지만, 접근성 측면에서는 보조 기술이 해당 요소를 특정한 역할(role)로 인식하고 처리할 수 있는 고유한 역할(role)의 의미가 없는 일반적인(generic) 콘텐츠입니다. 따라서 role 속성의 값을 별도로 지정하지 않으면, 접근성 API에는 해당 요소의 role 속성 값이 generic으로 매핑됩니다.

허용되지 않는 aria-* 속성

role 속성의 generic 값은 고유한 역할의 의미(semantic meaning)를 가지고 있지 않기 때문에 접근성 측면에서 보조 기술이 인식할 수 있는 레이블이나 설명에 해당하는 '상태'나 '특성' 정보 관련 aria-* 속성을 사용할 수 없습니다.

  • aria-braillelabel
  • aria-brailleroledescription
  • aria-label
  • aria-labelledby
  • aria-roledescription

활용 예제(주의할 점)

role 속성의 generic 값은 고유한 역할의 의미(semantic meaning)를 가지고 있지 않은 요소의 암시적인(Implicit) 역할(role)의 값으로만 사용해야 합니다. 개발자가 직접 사용하는 것이 아니라 사용자 에이전트(브라우저 등)가 사용하기 위한 것입니다. 따라서 적절한 예제가 존재하지 않습니다.

명세서

role 속성의 generic 값에 대한 명세서 사양
명세서 사양
role="generic" Accessible Rich Internet Applications (WAI-ARIA)
#generic

참고문헌

  • MDN - ARIA: generic role

같이 보기

  • HTML role 속성 – 장애를 가진 사용자들을 위한 향상된 웹 콘텐츠의 접근성 제공
  • HTML aria-* 속성 – 웹 접근성 향상을 위한 요소의 상태와 특성 제공
HTML 속성 홈 이전 다음

codingEverybody는 모든 사람을 위한 코딩 학습서입니다.
모든 자료와 예제는 오류를 방지하기 위해 지속적으로 검토되지만 완전한 정확성을 보증할 수는 없습니다.
따라서, 모든 자료와 예제를 신뢰하기 전에 스스로의 판단에 따라 오류, 버그, 취약점이 없는지 신중하게 테스트하고 검토해야 합니다.
크리에이티브 커먼즈 저작자표시-저작자표시 4.0 국제 에 따라 사용할 수 있습니다.

Copyright © 옵티안. All Rights Reserved. 개인정보처리방침