树形控件
src3 项
components3 项
button.css4 KB
tree.css3 KB
legacy.css已锁定
tests1 项
tree.spec.ts
index.ts2 KB
package.json1 KB
安装Terminal
用法
树形控件适合文件浏览器、资源层级和嵌套配置。它与折叠面板不同:焦点会在可见节点之间移动,选择状态明确,并向辅助技术表达父子层级。
引入 CSS
导入 Tailwind 和一个完整的 A3S UI 样式包。
也可以只导入基础 CSS、树形控件 CSS 和一个样式包。
引入 JavaScript
加载完整运行时,或先加载运行时,再加载树形控件脚本。
添加树形结构 HTML
参数
控制器负责维护 tabindex,使子节点组的可见性与 aria-expanded 同步,并确保 Tab 顺序中只有一个可用的可见节点。
JavaScript API
选择变化会触发可冒泡的 change 事件,详情为 { item, value };展开变化会触发 a3s:tree-toggle,详情为 { item, value, expanded }。
状态与变体
禁用节点
在树节点上设置 aria-disabled="true"。禁用节点仍然可见,但指针、方向键导航和字符快速定位都会跳过它。
RTL
المصدرعنصران
المكونات
الفهرس
层级缩进、引导线与箭头都会跟随文档方向。在 RTL 中,ArrowLeft 用于展开或进入分支,ArrowRight 用于折叠或返回父节点。
可访问性
- 树节点应当是根节点或某个直接子节点组的直接子元素。
- 为每个节点提供简洁的可访问名称。显式使用
aria-label,可以避免子节点组或尾部信息被误读为当前分支名称。 - 不要在树节点行中嵌套按钮、链接或表单控件;焦点和选择应由树节点本身承担。
- 层级选择使用树形控件;相互独立的内容展开使用折叠面板;页面导航使用侧边栏。
