# 侧栏折叠入口初步调查 ## 证据 - `public/index.html` 已存在 `#menu-btn`,包含 `aria-controls="sidebar"` 和初始 `aria-expanded="true"`。 - `public/app.js` 已缓存 `menuBtn`,并区分窄屏 drawer 与桌面 fixed collapse 两条点击路径。 - 桌面折叠能力当前使用 `(width > 768px) and (hover: hover) and (pointer: fine)`。 - `scripts/regression.js` 已有 `assertFrontendSidebarCollapseContract()`,覆盖 DOM、持久化、无障碍状态、窄屏 drawer 与桌面 hover rail。 - 用户截图底部有触控设备 Home Indicator,且视口为横屏宽屏;这与 `width > 768px`、`pointer: coarse`、无 hover 的组合一致。 ## 根因假设 宽触控设备既不满足 `max-width: 768px` 的 drawer 条件,也不满足要求 `hover: hover`、`pointer: fine` 的桌面折叠条件,因此落入能力空档:现有按钮可能被 CSS 隐藏,即使存在于 DOM 中也不会进入任何有效点击分支。 ## 实施方向 - 宽屏固定折叠能力应按宽度提供,而不是按鼠标能力整体禁用。 - hover 临时展开只属于鼠标增强,可继续用 hover/fine 条件隔离。 - 先用本地源码与浏览器 computed style 验证假设,再做最小实现。