Files
aurora-admin/site/end-content/collapse.html.json

112 lines
4.4 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"slug": "collapse",
"end": "html",
"curated": true,
"summary": "纯 H5 折叠面板:is-open 类与内容 hidden 双状态同步,手风琴靠 data-accordion 开启。",
"usage": [
"每个面板是 .kole-collapse-item 加 .kole-collapse-header 与 .kole-collapse-content 两段,收起时内容加 hidden。",
"面板头写 role=\"button\" 与 tabindex=\"0\" 补语义,箭头是独立节点 .kole-collapse-arrow,展开时随 .is-open 旋转。",
"手风琴能力用属性存在性声明:容器加 data-accordion,脚本据此在展开时收起同级其它面板。",
"交互统一在容器上做事件委托:点击后先判断项是否带 is-disabled,再 toggle is-open 并同步内容的 hidden。"
],
"bestPractices": [
"展开是两处状态同步:项的 .is-open 与内容的 hidden 必须一起改,只改一处会出现「箭头转了内容没出」。",
"手风琴模式要遍历同级其它 .is-open 项一起收起,别只处理被点的那一个。",
"面板头有 role=\"button\" 但没有键盘事件,若要键盘可达请补 keydown 处理 Enter 与空格。"
],
"apiCarrier": {
"kind": "attrs",
"note": "H5 端没有 props,API 载体是类名(.kole-collapse 容器与面板头/箭头/内容结构类、is-open 与 is-disabled 状态类)加 data-accordion 能力钩子,展开由容器级事件委托处理。",
"table": [
{
"name": "kole-collapse",
"type": "基础类名",
"desc": "折叠面板容器,脚本据此做事件委托"
},
{
"name": "kole-collapse-item",
"type": "结构类名",
"desc": "单个面板,展开时加 is-open"
},
{
"name": "is-open",
"type": "状态类名",
"desc": "展开态,写在面板项上,同时驱动箭头的旋转"
},
{
"name": "is-disabled",
"type": "状态类名",
"desc": "禁用面板,点击时脚本直接跳过"
},
{
"name": "kole-collapse-header",
"type": "结构类名",
"desc": "面板头,带 role=\"button\" 与 tabindex=\"0\""
},
{
"name": "kole-collapse-arrow",
"type": "结构类名",
"desc": "展开箭头(▶),展开时随 is-open 旋转"
},
{
"name": "kole-collapse-title",
"type": "结构类名",
"desc": "面板标题文本"
},
{
"name": "kole-collapse-content",
"type": "结构类名",
"desc": "内容区,收起时加 hidden"
},
{
"name": "data-accordion",
"type": "data-* 钩子",
"desc": "存在即手风琴模式,展开时收起同级其它面板"
},
{
"name": "hidden",
"type": "原生属性",
"desc": "内容区显隐,必须与 is-open 同步切换"
},
{
"name": "role",
"type": "原生属性",
"desc": "面板头写 role=\"button\" 补按钮语义"
},
{
"name": "tabindex",
"type": "原生属性",
"desc": "取值为 0,让面板头可聚焦"
}
]
},
"a11y": [
"面板头有 role=\"button\" 与 tabindex=\"0\",但缺少 aria-expanded / aria-controls,读屏器无法得知展开状态与关联内容。",
"示例没有给面板头绑定 keydown,Enter 与空格不会展开内容,键盘可达性不完整。",
"内容区是普通 div,没有 role=\"region\",也没有与头部建立可访问关联。"
],
"resources": [
{
"file": "frameworks/Collapse.html",
"kind": "纯 H5 演示页(内联样式 + 原生脚本)",
"desc": "Collapse.html —— 纯 H5 演示页:手风琴与非手风琴两组结构,含事件委托脚本负责展开与隐藏同步"
},
{
"file": "frameworks/Collapse.css",
"kind": "样式文件",
"desc": "Collapse.css —— 本页组件类名的样式定义,由 Collapse.html 第 8 行的 <link rel=\"stylesheet\" href=\"Collapse.css\"> 引入"
}
],
"exampleIds": [
"collapse-ex-1",
"collapse-ex-2"
],
"notes": [
"手风琴能力声明见(frameworks/Collapse.html:24)",
"展开态切换见(frameworks/Collapse.html:67)",
"内容区 hidden 与展开态同步,见(frameworks/Collapse.html:69)",
"手风琴模式下收起同级其它面板,见(frameworks/Collapse.html:72)",
"面板头语义标注见(frameworks/Collapse.html:26)"
]
}