# Cursor 弹窗键盘测试：Tab 不跑到背景，关闭后回到原按钮

Cursor 弹窗键盘测试。已通过真实Tab/Shift+Tab/Escape检查两个来源的焦点恢复，并检查390px弹窗；Cursor会话未执行。

## 开始

先读 task.md 和 prompt.md。starter 是可打开但未实现任务逻辑的起点工程，reference 是本站人工完成的参考。目标代理没有参与生成此次原生账号会话，不能把参考代码称为该产品已执行结果。

```bash
python3 -m http.server 8073 --directory reference
```

HTTP网页访问 http://127.0.0.1:8073/ ，按顺序点击输入、操作和导出控件。8073是示例端口，可自行换用空闲端口。

## 文件

- starter/：起点工程及明确需求。
- reference/：可运行人工参考、原创输入和实际运行结果。
- task.md：七步任务和独立验收。
- verify.py：回读实际下载文件、结果结构和边界的检查。
- native-*-draft.*（若有）：原生结构草案，明确未完成导入/运行验证。

## 本题操作要点

1. 两个触发按钮分别对应阅读笔记和学习计划。原生dialog必须用showModal()打开，单加role或open属性不会产生相同行为。

2. 真实Tab先看焦点是否会漏到背景帮助链接；背景是本例刻意保留的可聚焦元素，不是截图装饰。

3. showModal使背景隔离；文件名输入、确认、取消才是可用焦点，hidden和disabled不能混入。

4. 记录本次opener，关闭时返回该按钮。两个入口必须分别测，不能总把焦点送到第一个按钮。

5. 禁用按钮与hidden输入保留在DOM中，用于检查焦点候选；必填空字符串时确认不应悄悄提交。

6. 用真实键盘Tab/Shift+Tab循环，按Escape关闭，再在390px宽度检查。测试没有直接focus到预期控件来代替按键。

7. browser-result.json保存每个触发器的实际焦点轨迹与返回者。该检查不代表完整WCAG认证或所有辅助技术均已通过。

## 官方依据

- https://cursor.com/docs/agent/browser
- https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/

Google与抖音查询词是内容目标，不代表实测搜索量、热榜或流量结果。
