본문으로 건너뛰기
cccskills
무료GitHub에 공개한국어 소개

aria-required-children

사용자 정의 탭과 메뉴 등에서 ARIA 부모 역할에 필요한 자식 역할이 있는지 점검합니다. 스크린 리더가 항목을 인식하도록 구조 수정을 돕습니다.

원문원문 설명 보기

Use when applies to custom ARIA widgets using composite roles: tablist, list, listbox, menu, menubar, tree, treegrid, grid, rowgroup, row, radiogroup. Use when reviewing components built with div/span elements that replace native HTML list, select, or nav elements.

AI 평가100점/ 100설치 방법 보기

이럴 때 유용합니다

  • 사용자 정의 탭과 메뉴 구조 점검
  • 스크린 리더가 항목을 인식하지 못할 때
  • div와 span으로 만든 목록과 선택란 확인

한국어 소개

할 수 있는 일

사용자 정의 탭, 메뉴, 트리 등의 ARIA 역할 부모와 자식 관계를 점검합니다. ARIA 역할은 보조 기술에 요소의 기능을 알리는 지정입니다. tablist에 tab이 있는지, listbox에 option이 있는지 등 부모 역할에 필요한 자식 역할을 확인하고 누락된 요소를 짚습니다. 레이아웃 요소가 중간에 들어갈 때의 역할 지정과 기본 HTML 요소로 바꾸는 수정도 다룹니다.

이럴 때 유용합니다

div나 span으로 목록과 선택란을 만들었거나, 스크린 리더가 항목을 인식하지 못하는 원인을 조사할 때 활용합니다. 실제 렌더링된 HTML과 조작 중의 상태를 확인하는 검토에도 사용합니다.

사용 예시

  • “이 탭 UI에 부모 역할이 요구하는 자식 역할이 모두 있는지 확인해 주세요.”
  • “사용자 정의 메뉴 구조를 검토하고 수정할 곳과 스크린 리더로 확인하는 방법을 제시해 주세요.”

주의 사항

대상은 WAI-ARIA 1.2에서 정의한 필수 소유 요소입니다. 자식에서 필요한 부모를 확인하는 반대 방향의 규칙과 구분합니다. 수정 결과는 브라우저 접근성 검사 기능이나 스크린 리더로 검증합니다.

이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.

객관 평가

AI가 SKILL.md의 내용만을 근거로 4가지 관점에서 판정했습니다. 스타 수나 인기도는 판정에 넣지 않았습니다.

지시의 명확성언제 쓰고 무엇을 하는지 알 수 있는가
A양호사용자 정의 UI를 대상으로 부모 역할에 필수 자식 역할이 있는지 확인한다고 명시합니다.
절차의 구체성절차·입출력·예시가 구체적으로 적혀 있는가
A양호부모와 자식 역할 대응, 자식 역할 추가, 래퍼 역할 지정, 기본 HTML 대체를 제시합니다.
안전성전송·삭제·명령 실행 등을 명시하고 있는가
A양호역할과 HTML 구조 수정이 대상이며 외부 전송이나 인증 정보 조회 지시는 없습니다.
도입의 용이성필요한 도구나 API 키가 적고 적혀 있는가
A양호브라우저 접근성 도구나 보조 기술로 검증하며 추가 서비스나 API 키는 요구하지 않습니다.

총점은 각 항목을 A=25점, B=15점, C=5점으로 더한 값입니다. 2026년 10월 23일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.

평가가 다르다고 생각되면 재검토를 요청하기

어느 항목이 왜 다르다고 생각하는지 적어 주세요. 로그인은 필요 없습니다. SKILL.md와 대조해 평가를 다시 만들고 이곳에 반영합니다.

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

포함된 파일(2)

  • SKILL.md3.5 KB
  • references/rule.md4.1 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Ensure ARIA roles contain required child roles

Screen readers like NVDA and VoiceOver navigate composite widgets (menus, tabs, trees) by moving between the required child roles. If a tablist contains <div> elements instead of role='tab', the user hears no tabs at all. JAWS announces 'list of 5 items' only when role='listitem' children exist inside role='list'. Without correct nesting, the entire widget becomes opaque to keyboard-only and screen reader users.

Quick Reference

  • Container roles mandate specific owned child roles: tablist → tab, list/listbox → listitem/option, menu/menubar → menuitem, tree → treeitem, grid/rowgroup → row
  • Missing required children break the accessibility tree so screen readers cannot enumerate items or announce counts
  • Use role='none' or role='presentation' on purely structural wrapper elements inside the container to avoid invalid nesting
  • Applies to WAI-ARIA 1.2 required owned elements for composite widget roles

Check

Identify all elements with ARIA container roles (tablist, list, listbox, menu, menubar, tree, treegrid, grid, rowgroup, radiogroup). For each, verify it contains the required owned child roles per the WAI-ARIA spec: tablist must own tab elements; list must own listitem; listbox must own option; menu/menubar must own menuitem, menuitemcheckbox, or menuitemradio; tree must own treeitem; grid must own row (which owns gridcell); radiogroup must own radio. Flag any container roles missing required children.

Fix

For each container role missing its required children: (1) Add the correct role to each child element — e.g., add role='tab' to each tab button inside role='tablist'. (2) If wrapper <div> elements exist between the container and the required children for layout purposes, add role='none' or role='presentation' to those wrappers. (3) Prefer native HTML equivalents where possible: <ul>/<li> instead of role='list'/role='listitem', <select>/<option> instead of role='listbox'/role='option'.

Explain

WAI-ARIA 1.2 defines 'required owned elements' for composite widget roles — these are the child roles a container must contain for the widget to be valid. Screen readers build their understanding of a widget from this structure. A tablist without tab children means a screen reader user in Forms Mode will find nothing to navigate between. A menu without menuitem children will not be announced as a menu at all in some ATs. This is distinct from aria-required-parent, which checks the inverse direction.

Code Review

Review the rendered markup and interactive states that affect Ensure ARIA roles contain required child roles. Flag exact elements, roles, labels, focus behavior, or keyboard interactions that violate the rule, and note how to verify the fix with browser accessibility tooling or assistive tech.


For full implementation details, code examples, and framework-specific guidance, see references/rule.md.

Rule page: https://frontendchecklist.io/rules/accessibility/aria-required-children

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

404-page

무료요약 있음AI 평가 100점

존재하지 않는 페이지를 방문한 사람에게 검색과 주요 페이지 링크를 제공하는 맞춤형 404 페이지를 만들고 점검합니다. 화면 내용과 HTTP 상태 코드도 확인합니다.

  • 맞춤형 404 페이지를 제작합니다
  • 끊어진 링크의 검색과 안내를 정비합니다
  • 없는 페이지의 200 응답을 확인합니다
thedaviddias/Front-End-Checklist7.5만2026년 10월 6일 업데이트

about-page

무료요약 있음AI 평가 90점

사이트의 목적과 운영자를 소개하는 페이지를 점검하거나 작성합니다. 조직의 역사, 사명, 전문성, 연락처를 확인하고 실제 페이지 출력에서 정보 누락을 찾습니다.

  • 기존 사이트 소개 페이지 점검
  • 조직과 사명을 소개하는 페이지 작성
  • 페이지 출력의 운영자 정보 확인
thedaviddias/Front-End-Checklist7.5만2026년 10월 6일 업데이트

accessibility-testing

무료요약 있음AI 평가 80점

페이지와 공통 컴포넌트에 자동 접근성 테스트를 추가하고 검사 누락을 찾습니다. 지속적 통합에 검사를 연결해 구조·속성 문제와 변경으로 생긴 오류를 확인합니다.

  • 공통 컴포넌트의 테스트 범위 검토
  • 페이지 조작 테스트에 접근성 검사 추가
  • 지속적 통합에서 접근성 검사 실행
thedaviddias/Front-End-Checklist7.5만2026년 10월 6일 업데이트

accessible-authentication

무료요약 있음AI 평가 90점

로그인부터 다단계 인증과 계정 복구까지 점검하고, 붙여넣기 차단이나 인증 코드 수동 입력처럼 이용을 방해하는 인증 절차의 개선을 돕습니다.

  • 전체 로그인 과정의 접근성을 점검합니다
  • 인증 코드 붙여넣기와 자동 완성을 확인합니다
  • 비밀번호 재설정과 계정 복구를 점검합니다
thedaviddias/Front-End-Checklist7.5만2026년 10월 6일 업데이트

accessible-notifications

무료요약 있음AI 평가 100점

폼 오류, 완료 알림, 실시간 업데이트가 스크린 리더로도 전달되도록 실제 표시되는 HTML 속성, 표시 시간, 알림을 닫는 조작을 점검합니다.

  • 폼 오류가 읽히는지 확인합니다
  • 완료 알림의 표시 시간을 검토합니다
  • 실시간 알림을 점검합니다
thedaviddias/Front-End-Checklist7.5만2026년 10월 6일 업데이트

accessible-tables

무료요약 있음AI 평가 100점

표 머리글과 셀의 대응 관계를 점검해 화면 낭독으로도 데이터의 의미가 전달되는 HTML로 정리합니다. 단순한 표부터 병합 셀이 있는 복잡한 표까지 확인합니다.

  • 표의 화면 낭독 지원을 확인할 때
  • 병합 셀과 머리글의 관계를 검토할 때
  • 디자인 시스템의 표를 검토할 때
thedaviddias/Front-End-Checklist7.5만2026년 10월 6일 업데이트

thedaviddias의 스킬 모두 보기

이 스킬의 문제 신고