跳到正文
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.

实测评分 未实测

查看安装方法

适用场景

  • 检查自定义标签页和菜单结构
  • 排查屏幕阅读器无法识别的项目
  • 检查用 div 或 span 构建的列表与选择框

中文介绍

功能

检查自定义标签页、菜单和树形控件等界面的 ARIA 角色父子关系。ARIA 角色用于向辅助技术说明元素的作用。此技能会确认父角色是否包含必需的子角色,例如 tablist 中是否有 tab,listbox 中是否有 option,并指出缺失的元素。也会处理父子元素之间布局容器的角色设置,以及改用原生 HTML 元素的修正方案。

适用场景

适合检查用 div 或 span 构建的列表、选择框,或排查屏幕阅读器无法识别项目的原因。也可审查实际渲染的 HTML 和交互时的状态。

使用示例

  • “检查这个标签页界面是否具备父角色要求的全部子角色。”
  • “审查自定义菜单的结构,指出修改位置及使用屏幕阅读器验证的方法。”

注意事项

检查范围是 WAI-ARIA 1.2 定义的必需所属元素,需与从子元素检查父元素的反向规则区分。修正后使用浏览器无障碍检查功能或屏幕阅读器验证。

本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。

文档检查

AI 根据 SKILL.md 的内容检查了需要注意的操作和使用前提。评分只依据实际运行的结果(实测对比)。

安全性发送数据、删除文件、执行命令等是否有说明
A良好范围是修改角色和 HTML 结构,没有外部发送或读取凭据的指令。
安装难易度所需工具和 API 密钥是否少且有说明
A良好使用浏览器无障碍工具或辅助技术验证,不要求额外服务或 API 密钥。

不计入评分。 由 AI(OpenAI Codex)于 2026年10月23日 评估。仅供参考,安装前请同时查看原文。

如果您认为评估有误,请申请复核

请写明哪一项有误以及原因。无需登录。我们会对照 SKILL.md 重新评估,并在此处更新结果。

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

包含的文件(2)

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

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

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 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

404-page

免费有简介

创建并检查自定义404页面,通过搜索、导航和主要页面链接,为访问失效或已迁移页面的访客指明去向,同时核对页面显示内容与HTTP状态码。

  • 创建自定义404页面
  • 完善失效链接的搜索与导航
  • 检查不存在的页面是否返回200
thedaviddias/Front-End-Checklist7.5万2026年10月6日 更新

about-page

免费有简介

检查或创建说明网站用途与运营方的介绍页面,核对组织历史、使命、专业能力及联系方式,并检查实际页面输出,找出信息缺漏。

  • 检查现有的网站介绍页面
  • 创建介绍组织与使命的页面
  • 核对页面输出中的运营方信息
thedaviddias/Front-End-Checklist7.5万2026年10月6日 更新

accessibility-testing

免费有简介

为页面和共用组件添加自动无障碍测试,检查现有测试的覆盖缺口,并将检查接入持续集成流程,以发现结构、属性问题及修改引入的新问题。

  • 检查共用组件的测试覆盖范围
  • 为页面交互测试添加无障碍检查
  • 在持续集成中运行无障碍检查
thedaviddias/Front-End-Checklist7.5万2026年10月6日 更新

检查从登录、多因素认证到账户恢复的完整流程,找出禁止粘贴、验证码必须手动输入等使用障碍,并协助改进认证方式。

  • 检查完整登录流程的无障碍性
  • 确认验证码粘贴与自动填充
  • 检查密码重置与账户恢复流程
thedaviddias/Front-End-Checklist7.5万2026年10月6日 更新

检查表单错误、完成通知和实时更新能否通过屏幕阅读器传达,核对实际显示的HTML属性、通知停留时间及关闭方式,并指出具体问题。

  • 检查表单错误是否被朗读
  • 调整完成通知的显示时间
  • 检查实时通知
thedaviddias/Front-End-Checklist7.5万2026年10月6日 更新

accessible-tables

免费有简介

检查表头与数据单元格的对应关系,将 HTML 调整为屏幕阅读器也能传达数据含义的结构。从简单表格到包含合并单元格的复杂表格都可检查。

  • 检查表格的屏幕阅读器支持
  • 检查合并单元格与表头的关联
  • 审查设计系统中的表格
thedaviddias/Front-End-Checklist7.5万2026年10月6日 更新

查看 thedaviddias 的全部技能

报告此技能的问题