1.2 KiB
1.2 KiB
侧栏折叠入口初步调查
证据
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 验证假设,再做最小实现。