生态桌面应用
表单控件
使用复选框、单选框、切换、下拉选择、滑块和进度条构建有界可访问表单。
言界 1.0 的表单控件共享保留模式控件树、事件路由、主题状态和言台无障碍协议。应用负责 业务校验与提交;控件负责有界状态、输入交互、绘制和语义同步。
组合表单
定 姓名 为 表单.输入框({「占位」:「姓名」,「可访问名称」:「姓名」});
姓名.必填(真);
定 接受 为 表单.复选框(「接受服务条款」);
接受.必填(真);
定 地区 为 表单.下拉选择(【「中国大陆」,「中国香港」,「新加坡」,「其他」】);
地区.可访问名称(「地区」);
定 音量 为 表单.滑块({
「最小」:0,「最大」:100,「步长」:5,「值」:50,
「可访问名称」:「通知音量」
});
定 完成度 为 表单.进度条({
「最小」:0,「最大」:100,「值」:50,
「可访问名称」:「表单完成度」
});通用状态
| 状态 | 行为 |
|---|---|
启用(假) | 不进入焦点序列,拒绝指针、键盘和辅助技术动作 |
只读(真) | 仍可聚焦和读取;拒绝交互改值,程序方法仍可更新 |
必填(真) | 向允许的表单角色公开必填语义;业务是否满足仍由应用判断 |
无效(真) | 公开无效语义并使用危险状态样式 |
输入框切到只读会取消正在进行的 IME 组合;下拉选择会折叠弹框,滑块会释放指针捕获。 进度条是不可聚焦、无动作的输出角色,协议不允许它声明只读、必填或无效。
交互边界
- 复选框支持未选、已检查和混合三态;单选框同组互斥,方向键循环并跳过不可修改项;
- 切换支持指针、空格和回车,状态变化统一触发
变化时; - 下拉选择最多 4096 项,每项不超过 65536 UTF-8 字节,支持首字导航、Home/End、 Escape、锚定翻转和辅助技术设置值;
- 滑块要求有限的最小、最大、步长和值;指针、方向键、PageUp/PageDown、Home/End 和 辅助动作都经过同一范围夹取与步长吸附;
- 进度条可公开确定值,或用
不定(真)公开空值和忙碌状态。
程序调用仍可以更新只读控件。用户或辅助技术实际改变值时才触发变化事件;拒绝输入不会
部分改写原状态。应用在提交回调中调用无效(真)表达业务校验结果,不应从样式颜色反推
数据是否有效。
验收
键盘验收至少覆盖 Tab/Shift+Tab、空格、回车、方向键、Home/End 和 Escape;中文表单还要 覆盖 IME 组合、只读切换与粘贴。屏幕阅读器应能读出名称、必填/无效、检查状态、当前值、 范围和忙碌状态,并通过与指针/键盘相同的动作路径改值。
完整行为和可运行示例见 言界 1.0 表单指南。