[{"data":1,"prerenderedAt":402},["ShallowReactive",2],{"navigation_docs":3,"-guide-keyboard":102,"-guide-keyboard-surround":397},[4,82,87,92,97],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"指南","i-lucide-list-tree","\u002Fguide","1.guide",[10,14,19,24,29,34,39,44,48,53,58,63,68,73,77],{"title":11,"path":7,"stem":12,"icon":13},"指南总览","1.guide\u002Findex","i-lucide-map",{"title":15,"path":16,"stem":17,"icon":18},"快速开始","\u002Fguide\u002Fquick-start","1.guide\u002F1.quick-start","i-lucide-rocket",{"title":20,"path":21,"stem":22,"icon":23},"键盘导航与可访问性","\u002Fguide\u002Fkeyboard","1.guide\u002F10.keyboard","i-lucide-keyboard",{"title":25,"path":26,"stem":27,"icon":28},"类型化 createTypedOkrTree","\u002Fguide\u002Ftyped","1.guide\u002F11.typed","i-lucide-type",{"title":30,"path":31,"stem":32,"icon":33},"Vue Devtools 面板","\u002Fguide\u002Fdevtools","1.guide\u002F12.devtools","i-lucide-wrench",{"title":35,"path":36,"stem":37,"icon":38},"需要注意的行为","\u002Fguide\u002Fbehavior","1.guide\u002F13.behavior","i-lucide-triangle-alert",{"title":40,"path":41,"stem":42,"icon":43},"仓库与本地开发","\u002Fguide\u002Frepo","1.guide\u002F14.repo","i-lucide-folder-git-2",{"title":45,"path":46,"stem":47},"Demo 总览（可交互）","\u002Fguide\u002Fdemos","1.guide\u002F2.demos",{"title":49,"path":50,"stem":51,"icon":52},"自定义节点内容","\u002Fguide\u002Fnode-content","1.guide\u002F3.node-content","i-lucide-layout-template",{"title":54,"path":55,"stem":56,"icon":57},"受控状态与方法","\u002Fguide\u002Fcontrolled","1.guide\u002F4.controlled","i-lucide-sliders-horizontal",{"title":59,"path":60,"stem":61,"icon":62},"复选框与拖拽","\u002Fguide\u002Finteraction","1.guide\u002F5.interaction","i-lucide-mouse-pointer-click",{"title":64,"path":65,"stem":66,"icon":67},"懒加载子节点","\u002Fguide\u002Flazy","1.guide\u002F6.lazy","i-lucide-layers",{"title":69,"path":70,"stem":71,"icon":72},"虚拟滚动 virtual","\u002Fguide\u002Fvirtual","1.guide\u002F7.virtual","i-lucide-scan",{"title":74,"path":75,"stem":76,"icon":72},"画布缩放 OkrTreeViewport","\u002Fguide\u002Fviewport","1.guide\u002F8.viewport",{"title":78,"path":79,"stem":80,"icon":81},"多树根对齐 OkrTreeGroup","\u002Fguide\u002Fgroup","1.guide\u002F9.group","i-lucide-network",{"title":83,"path":84,"stem":85,"icon":86},"主题与样式定制","\u002Ftheme","2.theme","i-lucide-palette",{"title":88,"path":89,"stem":90,"icon":91},"API","\u002Fapi","3.api","i-lucide-braces",{"title":93,"path":94,"stem":95,"icon":96},"与 vue-okr-tree 的差异（迁移说明）","\u002Fmigration","4.migration","i-lucide-arrow-right-left",{"title":98,"path":99,"stem":100,"icon":101},"更新日志","\u002Fchangelog","5.changelog","i-lucide-history",{"id":103,"title":20,"body":104,"description":390,"extension":391,"links":392,"meta":393,"navigation":394,"path":21,"seo":395,"stem":22,"__hash__":396},"docs\u002F1.guide\u002F10.keyboard.md",{"type":105,"value":106,"toc":383},"minimark",[107,160,164,266,283,287,326,346,349],[108,109,110,111,115,116,119,120,123,124,123,127,123,130,123,133,123,136,139,140,143,144,147,148,151,152,155,156,159],"p",{},"树容器为 ",[112,113,114],"code",{},"role=\"tree\"","，节点为 ",[112,117,118],{},"role=\"treeitem\"","，带 ",[112,121,122],{},"aria-level"," \u002F ",[112,125,126],{},"aria-expanded",[112,128,129],{},"aria-selected",[112,131,132],{},"aria-disabled",[112,134,135],{},"aria-setsize",[112,137,138],{},"aria-posinset","（后两者按可见兄弟节点计数，被 ",[112,141,142],{},"filter"," 隐藏的节点不计入），",[112,145,146],{},"show-checkbox"," 下另输出 ",[112,149,150],{},"aria-checked","（半选为 ",[112,153,154],{},"mixed","），子容器为 ",[112,157,158],{},"role=\"group\"","。",[161,162,163],"h2",{"id":163},"按键",[165,166,167,179],"table",{},[168,169,170],"thead",{},[171,172,173,176],"tr",{},[174,175,163],"th",{},[174,177,178],{},"行为",[180,181,182,193,206,216,226,240,253],"tbody",{},[171,183,184,190],{},[185,186,187],"td",{},[112,188,189],{},"Tab",[185,191,192],{},"进入 \u002F 离开树",[171,194,195,203],{},[185,196,197,123,200],{},[112,198,199],{},"↑",[112,201,202],{},"↓",[185,204,205],{},"在可见节点间移动焦点（文档顺序，跳过收起子树）",[171,207,208,213],{},[185,209,210],{},[112,211,212],{},"→",[185,214,215],{},"展开当前节点；已展开则进入第一个子节点",[171,217,218,223],{},[185,219,220],{},[112,221,222],{},"←",[185,224,225],{},"收起当前节点；已收起则回到父节点",[171,227,228,233],{},[185,229,230],{},[112,231,232],{},"Enter",[185,234,235,236,239],{},"选中节点（触发 ",[112,237,238],{},"node-click","）",[171,241,242,247],{},[185,243,244],{},[112,245,246],{},"Space",[185,248,249,250,252],{},"选中节点；",[112,251,146],{}," 下改为切换该节点勾选",[171,254,255,263],{},[185,256,257,123,260],{},[112,258,259],{},"Home",[112,261,262],{},"End",[185,264,265],{},"移到第一个 \u002F 最后一个可见节点",[108,267,268,269,271,272,123,274,276,277,279,280,282],{},"OKR 模式下：根节点 ",[112,270,222],{}," 作用于左子树（展开或进入），左树节点的 ",[112,273,222],{},[112,275,212],{}," 镜像（",[112,278,222],{}," 展开\u002F进入、",[112,281,212],{}," 收起\u002F返回根节点）。",[161,284,286],{"id":285},"漫游-tabindex-的唯一性","漫游 tabindex 的唯一性",[108,288,289,290,293,294,297,298,301,302,305,306,309,310,159,313,316,317,321,322,325],{},"同一时刻只有一个节点可被 Tab 进入：容器自己不带 ",[112,291,292],{},"tabindex","，组件用一棵内部「当前焦点节点」状态（",[112,295,296],{},"OkrTree.vue:417"," 的 ",[112,299,300],{},"focusedNode","）决定哪个 ",[112,303,304],{},"treeitem"," 拿到 ",[112,307,308],{},"tabindex=\"0\"","，其余为 ",[112,311,312],{},"-1",[112,314,315],{},"focusin","、点击、方向键移动都会更新它，所以从容器 Tab 出去再回来会落到",[318,319,320],"strong",{},"上次离开时所在的节点","。只有两种情况回到起点：还没聚焦过任何节点，或那个节点被卸载了（例如它所在的子树被收起）——此时第一个根节点可 Tab 进入（",[112,323,324],{},"OkrTreeNode.vue:497-502","）。",[108,327,328,330,331,334,335,338,339,342,343,345],{},[112,329,126],{}," 在 OKR 模式下要",[318,332,333],{},"左右两侧都展开","才是 ",[112,336,337],{},"true","（",[112,340,341],{},"OkrTreeNode.vue:467-475","）；懒加载下未加载但可能加载的节点算「有子节点」，会输出展开按钮与 ",[112,344,126],{},"。焦点落在节点内的输入控件（搜索框等）时不拦截按键。",[161,347,348],{"id":348},"减弱动效与焦点环",[108,350,351,352,355,356,359,360,363,364,367,368,371,372,367,375,378,379,159],{},"系统开启 ",[112,353,354],{},"prefers-reduced-motion: reduce"," 时，展开\u002F收起过渡与 ",[112,357,358],{},"scrollToNode"," 的平滑滚动自动关闭，状态直切（",[112,361,362],{},"animate"," 不用你自己查媒体查询）。焦点环颜色与宽度用 ",[112,365,366],{},"--okr-focus-color","（默认 ",[112,369,370],{},"#409eff","）\u002F ",[112,373,374],{},"--okr-focus-width",[112,376,377],{},"2px","）定制，见",[380,381,83],"a",{"href":382},"\u002Ftheme\u002F",{"title":384,"searchDepth":385,"depth":385,"links":386},"",2,[387,388,389],{"id":163,"depth":385,"text":163},{"id":285,"depth":385,"text":286},{"id":348,"depth":385,"text":348},"按键表、漫游 tabindex 与 WAI-ARIA tree 语义","md",null,{},{"icon":23},{"title":20,"description":390},"gD3OZxffpLCSpykGer_r2IdeSPvX1t2whoodrMNYeE4",[398,400],{"title":15,"path":16,"stem":17,"description":399,"icon":18,"children":-1},"安装、样式引入、全局注册、CDN \u002F UMD 与 SSR 注意事项",{"title":25,"path":26,"stem":27,"description":401,"icon":28,"children":-1},"createTypedOkrTree\u003CT>() 的类型覆盖位置与导出清单",1793606851536]