混灵画布Design SystemVersion 1.1.3
Liquid GlassLOCAL PREVIEW

开关

二元设置的开关状态、键盘操作和接入规范。

1 个规范与展示分区 · 独立组件页面

开关规范

组件规范与变体。组合示例保持自身业务职责。

职责与结构

开关用于立即生效的二元设置。需要随表单提交的勾选项使用复选框;三种及以上状态使用选择器。切换状态不更改控件的名称。

稳定的设置名称 + switch 控件 + 可选帮助或状态说明。蓝色与滑块右移同时表示开启,灰底与左移表示关闭。

变体与 Tokens

变体使用规则
项目规范
开启/关闭共用 .switch,aria-checked 必须与实际状态一致。
禁用原生 disabled 阻止输入,旁边说明为何不可修改;保留开启或关闭的状态。
处理中同步请求期间阻止重复切换并提供等待提示,结果确认后更新状态;失败恢复原值并提供重试。
错误错误文字描述失败原因;不把错误红作为第三种开关状态。

复用已有 44 × 26 px 开关与 18 px 滑块;外部命中区域至少 44 px 高。颜色、焦点和位移动效来自共享 action / focus / motion Tokens。

交互与状态示例

接收任务提醒

切换只更新本页设置,不发送通知。

已关闭
自动同步已开启 · 不可修改

此设置由工作空间管理员管理。

任务提醒已关闭。

交互与无障碍

Tab 聚焦,Space 或 Enter 通过原生 button click 切换;disabled 不响应。aria-label / aria-labelledby 关联固定名称。不得以“开启/关闭”替换设置名。帮助与错误使用 aria-describedby,文字反馈用 role="status"。演示只更新本页值,不连接服务器。减少动效时关闭滑块位移过渡。

接入约定

接入参数与事件
项目规范
结构button type="button" class="switch" role="switch" aria-checked="false",提供 aria-label 或 aria-labelledby。
状态与事件当前共享运行文件委托切换 aria-checked;本页 data-family-switch 同步可见状态并派发 change。不要再绑定第二套切换逻辑。
表单/持久化role="switch" 按钮不会自动提交字段;业务层维护布尔值,需要提交时写入字段;异步等待与回退由业务层管理。
查看最小使用示例
<button type="button" class="switch" role="switch"
  aria-checked="false" aria-label="接收任务提醒"></button>

维护位置:scripts/family-specimens.mjs;示例行为:scripts/family-specimens.js。组合应用见本页末尾引用。