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

90 lines
5.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": "checkbox",
"end": "html",
"curated": true,
"summary": "纯 H5 复选框组:外层 .kole-checkbox 加 role=\"group\",每项用 label 包原生 input[type=checkbox]。",
"usage": [
"结构是「容器 + label 包 input」:<div class=\"row kole-checkbox\"><label class=\"kole-checkbox-option\"><input type=\"checkbox\" checked> 邮件通知</label>…(Checkbox.html:6)。",
"选中态直接用原生 checked 属性表达,不额外写状态类,也不需要脚本同步(Checkbox.html:6)。",
"每项的文字写在 <label> 内部、input 之后,点击文字即可切换勾选,靠原生 label 的关联行为实现(Checkbox.html:6)。",
"整组没有 name 与表单容器,页面里只有两个独立复选框;若要提交或读取选中值需要自己补 name 与表单(Checkbox.html:6)。",
"该页的 <script> 为空(Checkbox.html:6 尾部),示例里没有全选或半选(indeterminate)的任何实现,这两个能力需要自己写脚本。",
"容器的 .row 类来自页面内联样式(Checkbox.html:5),只负责 flex 换行与 12px 间距,与组件类 .kole-checkbox 是两层职责。"
],
"bestPractices": [
"组件类 .kole-checkbox 只做 box-sizing 归一与字体继承(Checkbox.css:2-3),换行与间距靠外部 .row;直接把复选框并排时记得自己给布局容器。",
"禁用态在本页没有示例;CSS 里有 .kole-checkbox-disabled 与 [disabled] 两条(Checkbox.css:13),实际使用要同时加原生 disabled 属性。",
"契约提到「支持全选和半选状态」,本页标记与脚本都没有对应结构(没有全选框、没有 indeterminate 赋值),按实现以原生复选框为准(Checkbox.html:6)。",
"选项间距来自 .kole-checkbox-option 的 gap 令牌(Checkbox.css:31),写死像素间距会与其它端不一致;优先复用该类。"
],
"apiCarrier": {
"kind": "attrs",
"note": "H5 端没有 props,载体是类名加原生属性:.kole-checkbox 是分组容器(带 role=\"group\"),.kole-checkbox-option 是单项,勾选状态由原生 checked、禁用由原生 disabled 表达;没有脚本钩子。",
"table": [
{
"name": "kole-checkbox",
"type": "基础类名",
"desc": "分组容器:box-sizing 归一、字体与正文色继承;本页同节点带 role=\"group\""
},
{
"name": "kole-checkbox-option",
"type": "结构类名",
"desc": "单项 label:inline-flex、垂直居中,间距取 --kole-space-4"
},
{
"name": "kole-checkbox-option",
"type": "原生属性",
"desc": "容器上写 role=\"group\",把一组复选框声明为同一分组"
},
{
"name": "kole-checkbox-surface",
"type": "容器类名",
"desc": "面板外观类(示例二用它包说明文案)"
},
{
"name": "kole-checkbox-desc",
"type": "文字类名",
"desc": "说明文字类(示例二的补充说明用它)"
},
{
"name": "row",
"type": "演示页布局类名",
"desc": "演示页内联样式提供的 flex 换行行容器,与组件类叠加使用"
}
]
},
"a11y": [
"容器带 role=\"group\",读屏器会把这一组复选框作为一个分组播报,但组名缺失(没有 aria-label 或 legend),只能逐个念选项(Checkbox.html:6)。",
"用原生 <input type=\"checkbox\"> 承载,空格键切换与 Tab 聚焦由浏览器提供,触摸目标也随原生控件(Checkbox.html:6)。",
"文字在 <label> 内部,点击文字能切换勾选,读屏器也会把这段文字作为控件名称(Checkbox.html:6)。",
"本页没有为禁用项提供任何示例,若在业务里加 disabled,需要同时确认 .kole-checkbox-disabled 的 0.55 透明不会让文字对比度低于阈值(Checkbox.css:13)。"
],
"resources": [
{
"file": "frameworks/Checkbox.html",
"kind": "纯 H5 演示页(内联样式 + 空脚本)",
"desc": "Checkbox.html —— 纯 H5 演示页:两个 label 包原生 input 的静态结构,脚本为空"
},
{
"file": "frameworks/Checkbox.css",
"kind": "样式文件",
"desc": "Checkbox.css —— .kole-checkbox 分组根、.kole-checkbox-option 单项与禁用/面板等类"
}
],
"exampleIds": [
"checkbox-ex-1",
"checkbox-ex-2"
],
"notes": [
"结构(label 包 input、checked 原生属性):frameworks/Checkbox.html:6",
"空脚本:frameworks/Checkbox.html:6 尾部的 <script></script>",
"分组根与 box-sizing 归一:frameworks/Checkbox.css:2-3",
"单项样式:frameworks/Checkbox.css:31",
"禁用态:frameworks/Checkbox.css:13",
"说明文字与面板类:frameworks/Checkbox.css:4-6",
"table 里没有列 name 与 checked:本页两个复选框都没有 name,checked 只看第一个(Checkbox.html:6),把它们当 API 会误导。",
"table 只列 Checkbox.html 里真实出现的名字:框架类名 kole-checkbox / kole-checkbox-option / kole-checkbox-surface / kole-checkbox-desc 与 role、以及页面内联的 .row(frameworks/Checkbox.html:5-6)。",
"frameworks/Checkbox.css:13,16-17,31 里的 kole-checkbox-disabled、kole-checkbox-control、kole-checkbox-item 等类在 frameworks/Checkbox.html 的标记里没有出现,故未进 html 端的 table(CSS 端另有文件收录)。"
]
}