2.4 KiB
BASE-04:DOM、样式、输入与 demo 路径
日期 2026-09-10;分支 codex/compatible-modernization;起点 94893929。
新增 dom.html/js 及 /reports/dom 白名单,使用固定 core 5.4.0 / chapter 1.1.0 和本地视频。保存模板、运行时节点树、88 个核心 CSS 类名、43 个变量、控件可访问属性、章节数据、布局及可信键盘交互,绑定来源、媒体和夹具哈希。
新增 dom.mjs 验证和比较器,两次最终页面重载、真实 Tab/点击/ArrowRight/Escape 操作得到相同 profile,16 项检查通过。无意外错误/拒绝,浏览器 error/warn 日志为空;320px 容器已经截图目视检查。比较忽略小数像素宽度,保留节点/类名/变量和布局边界差异。
新增 demo-inventory.json/demos.mjs,覆盖 29 示例、36 HTML 和 22 包,保留首页 25 条菜单链接、插件 libs、静态脚本与历史 LF 指纹。补充 upscaler、站点验证页、无菜单示例和生成文档路径;所有官方页面仍为 not-run。当前开发命令同步为 Yarn。
发现与兼容决定
- controls.update 返回 undefined,必须保留;替换元素通过 controls[name] 访问。早期夹具错误假设已修正后重新完成两次最终采集,没有修改播放器来迁就测试。
- BASE-DOM-01:Tab 跳过内部控件,分配 CORE-23/17;已有部分 aria-label 仍记录。
- BASE-DOM-02:带自定义文字控件的 320px 容器裁切设置/网页全屏按钮,分配 CORE-13/14;不是移动设备结论。
- BASE-DEMO-01:thumbnail 示例依赖 workspace 不存在的历史包,分配 SITE-01/EX-03。
详见 覆盖与复现、报告 和 路径清单。历史缺陷不成为候选必须复现的兼容行为。未测原生全屏/PiP、屏幕阅读器、触摸/拖动、Monaco Run、全部插件及远端 SDK。
验证与回退
新增 3 项 Node 测试,负例包括缺路径/包/菜单、虚假输入、错误媒体/热键结果、DOM/CSS/布局差异。完整 ci:check、计划/链接和 diff 检查通过。未修改生产代码、依赖、类型或生成分发;服务可撤销此提交回到上版,历史报告保留于 Git。
本任务独立本地提交,主题含 BASE-04;不推送或发布。下一任务 BASE-05:发布入口、资源与类型消费者基线,再继续最小试点所需工具及类型基础。