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

82 lines
3.7 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": "numberrangeinput",
"end": "html",
"curated": true,
"summary": "原生 H5 数字区间输入:两个 number 框在 input 与 blur 时校验,失焦按 step 取整。",
"usage": [
"结构在标记里静态写好,脚本按 min、max、msg 三个 id 取节点,初始边界常量 STEP、MIN、MAX 写在脚本顶部。",
"校验在输入时立即执行,越界与最小值大于最大值分别给出不同文案,并给根节点切换 is-error 类。",
"与 React 端不同,这里在 blur 时会按 STEP 把当前值取整后再校验,即失焦会把 2.4 修正为 2。",
"两个输入框共用同一个 validate,注册时用 forEach 批量添加 input 与 blur 两个监听。",
"错误文案写入独立的 .kole-numrange-msg 节点,无错误时置为空串保留节点,而不是移除节点。",
"单位元与分隔符都是标记里的静态文本,脚本不参与其渲染。"
],
"bestPractices": [
"取整只在 blur 触发,纯键盘上下调值时不经过这条路径,数值仍可能是小数。",
"根节点是 .kole-numrange 并带 role=group,错误类 is-error 也加在它上面,样式选择器要按这个层级写。",
"边界常量硬编码在脚本里,改范围要同时改两个 number 输入的原生 min / max 与脚本常量,容易不一致。"
],
"apiCarrier": {
"kind": "attrs",
"note": "HTML 端无 props,载体为:原生 number 输入承担取值与步进、kole-numrange-* 类名给出结构与提示位、is-error 状态类表达校验失败、aria 的 role=group 标注整组,没有 data-* 行为钩子。",
"table": [
{
"name": "kole-numrange",
"type": "类名",
"desc": "根容器,同时是错误状态类 is-error 的挂载点"
},
{
"name": "kole-numrange-sep",
"type": "类名",
"desc": "两个数字框之间的分隔符,内容是静态文本"
},
{
"name": "kole-numrange-unit",
"type": "类名",
"desc": "单位文本节点,静态写在标记里"
},
{
"name": "kole-numrange-msg",
"type": "类名",
"desc": "错误文案位,无错误时文本置空但节点保留"
},
{
"name": "is-error",
"type": "状态类",
"desc": "校验失败时加在根容器上,控制错误配色"
},
{
"name": "role",
"type": "group 属性",
"desc": "根节点上的分组语义标注"
}
]
},
"a11y": [
"两个数字框只有 placeholder,没有 label 或 aria-label,读屏器分不出最小与最大。",
"错误文案节点没有 role=alert 与 aria-live,校验结果不会主动播报,也没有 aria-describedby 关联到输入框。",
"role=group 标了整组但组内没有可读名称,分组本身不提供信息。",
"原生 number 输入支持上下方向键调值,键盘可用性由浏览器保证。"
],
"resources": [
{
"file": "frameworks/NumberRangeInput.html",
"kind": "HTML 实现",
"desc": "NumberRangeInput.html —— 本端实现全文(结构、事件与状态逻辑)"
},
{
"file": "frameworks/NumberRangeInput.css",
"kind": "样式文件",
"desc": "frameworks/NumberRangeInput.css —— 本端 kole-* 类名与 is-* 状态类的样式定义"
}
],
"exampleIds": [
"numberrangeinput-ex-1"
],
"notes": [
"静态结构与 role=group 见 frameworks/NumberRangeInput.html:12-18。",
"边界常量与校验见 frameworks/NumberRangeInput.html:25-37,is-error 切换见第 34 行。",
"input 与 blur 双绑定及失焦取整见 frameworks/NumberRangeInput.html:38-45。"
]
}