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

95 lines
3.5 KiB
JSON

{
"slug": "radio",
"end": "html",
"curated": true,
"summary": "原生单选框:label 包住 input 与文案,互斥靠同名 name,整页无脚本。",
"usage": [
"每个选项是 <label class=\"kole-radio-option\"> 包住一个 <input type=\"radio\"> 与文案,点文字即选中。",
"互斥完全靠原生 name=\"kole-radio-demo\",同组必须用同一个 name,改这串值等于换组。",
"默认选中用原生 checked 属性写在 HTML 上,示例是 value=\"a\" 那一项。",
"frameworks/Radio.html:6 的 <script> 标签之间是空的,没有任何脚本,也没有 data-* 钩子。"
],
"bestPractices": [
"同页多组单选必须用不同 name,复用同一个值会导致两组互相取消。",
"取选中值走原生表单语义(FormData 或 querySelector(\"input:checked\")),不要靠类名判断。",
"value 是提交时使用的实际值,示例的 a / b 应换成业务值。"
],
"a11y": [
"原生 radio 加 label 包裹,读屏能读出选项文案并能用方向键在同组内移动,这是最省事的无障碍做法。",
"这一组没有 <fieldset> 与 <legend>,读屏无法得知这组单选在问什么。",
"required 未声明,表单校验里这一组不会被强制选择。"
],
"apiCarrier": {
"kind": "attrs",
"note": "H5 端直接消费原生表单元素:<label class=\"kole-radio-option\"> 包 <input type=\"radio\" name>,互斥与选中都交给浏览器,.kole-radio 只是行容器,无脚本。",
"table": [
{
"name": "demo",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Radio.html:5)。"
},
{
"name": "demo-block",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Radio.html:5)。"
},
{
"name": "demo-note",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Radio.html:5)。"
},
{
"name": "kole-radio",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Radio.html:6)。"
},
{
"name": "kole-radio-desc",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Radio.html:6)。"
},
{
"name": "kole-radio-option",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Radio.html:6)。"
},
{
"name": "kole-radio-surface",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Radio.html:6)。"
},
{
"name": "row",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Radio.html:5)。"
},
{
"name": "sub",
"type": "类名",
"desc": "H5 端结构里使用的类名(frameworks/Radio.html:5)。"
}
]
},
"resources": [
{
"file": "frameworks/Radio.html",
"kind": "H5 原生",
"desc": "该端实现(本页 API 与用法的唯一权威来源)。"
},
{
"file": "frameworks/Radio.css",
"kind": "样式",
"desc": "该组件的样式文件,类名口径以它为准。"
}
],
"exampleIds": [
"radio-ex-1",
"radio-ex-2"
],
"notes": [
"label 包裹与 name 互斥见(frameworks/Radio.html:6),checked 默认项也在这一行。",
"脚本区为空见(frameworks/Radio.html:6)的 <script> 标签对。",
"样式依据:.kole-radio-option 的类名用法见(frameworks/Radio.html:6)。"
]
}