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

101 lines
4.2 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": "drawer",
"end": "html",
"curated": true,
"summary": "原生 Drawer:aside 加 role=\"dialog\" 从侧向滑出,显隐只切 hidden 属性。",
"usage": [
"抽屉本体是 <aside class=\"kole-drawer-drawer\" hidden role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"kole-drawer-title\">,语义标签加 ARIA 一起用。",
"标题 id 与 aria-labelledby 对应:<h3 id=\"kole-drawer-title\">,改标题时两处要一起改。",
"显隐只切 hidden:data-open 打开时 drawer.hidden = false 与 mask.hidden = false,关闭时双双置 true。",
"遮罩 .kole-drawer-drawer-mask 自己带 data-mask,点它调 closeDrawer。",
"四个钩子分工明确:data-open 打开、data-mask 点遮罩关、data-close 取消、data-confirm 确定,关闭函数是同一个。"
],
"bestPractices": [
"确定与取消调的是同一个 closeDrawer,业务逻辑要自己插进 data-confirm 那条路径。",
"脚本用 document.querySelector(\".kole-drawer-drawer\") 取第一个抽屉,同页多个抽屉必须换成 id 或作用域查询。",
"hidden 属性会连样式一起隐藏,别再用 display 覆盖它,二者混用会出现关不掉的情况。"
],
"a11y": [
"aside 加 role=\"dialog\" 与 aria-modal=\"true\",读屏会当成模态对话框,这是本端少见的完整语义。",
"aria-labelledby 指向真实存在的标题 id,读屏进入时会读出「编辑资料」。",
"没有焦点管理:打开后焦点不进入抽屉、关闭不归还,也没有 Escape 关闭,键盘用户仍需自己 Tab。"
],
"apiCarrier": {
"kind": "attrs",
"note": "H5 端没有 props:显隐是 .kole-drawer-drawer 与遮罩上的 hidden 属性,入口用 data-open / data-mask / data-close / data-confirm 四个钩子标记,开合全在同一段页内脚本里。",
"table": [
{
"name": "demo",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Drawer.html:5)。"
},
{
"name": "demo-block",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Drawer.html:5)。"
},
{
"name": "demo-note",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Drawer.html:5)。"
},
{
"name": "kole-drawer",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Drawer.html:6)。"
},
{
"name": "kole-drawer-button",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Drawer.html:6)。"
},
{
"name": "kole-drawer-desc",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Drawer.html:6)。"
},
{
"name": "kole-drawer-drawer",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Drawer.html:6)。"
},
{
"name": "kole-drawer-drawer-footer",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Drawer.html:6)。"
},
{
"name": "kole-drawer-drawer-mask",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Drawer.html:6)。"
},
{
"name": "kole-drawer-primary",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Drawer.html:6)。"
}
]
},
"resources": [
{
"file": "frameworks/Drawer.html",
"kind": "H5 原生",
"desc": "该端实现(本页 API 与用法的唯一权威来源)。"
},
{
"file": "frameworks/Drawer.css",
"kind": "样式",
"desc": "该组件的样式文件,类名口径以它为准。"
}
],
"exampleIds": [
"drawer-ex-1",
"drawer-ex-2"
],
"notes": [
"抽屉与遮罩结构见(frameworks/Drawer.html:6),role / aria-modal / aria-labelledby 同在这一行。",
"closeDrawer 与四个钩子绑定见(frameworks/Drawer.html:6),整页脚本只有这一处。",
"页内脚本用 querySelector 取首个 .kole-drawer-drawer,多实例需自行改作用域(frameworks/Drawer.html:6)。"
]
}