3.6 KiB
FAIL
crates/ely-ui/src/shell/root.rs:133 — 命令面板及窗口内容缺少 UX-12 要求的辅助技术名称、角色、状态和文本。实测打开中文画廊的命令面板,macOS AX 树只有窗口、系统窗口按钮和菜单,搜索框、命令结果、Rename/Delete 按钮与属性全部缺席;屏幕阅读器无法读取或操作这些内容。在临时副本为三个焦点锚点添加 role 和 aria_label 后,同一 AX 客户端立即读到 Inbox、Content、Properties,确认采集链正常。修复方向:在组件库补齐实际使用组件的可访问语义并更新依赖,为项目自绘控件补齐语义;增加原生辅助技术树及读写、选择、禁用状态的验收。
crates/ely-ui/examples/shell/dialogs.rs:27 — 此处接入的 PromptDialog 将输入法候选确认的 Enter key-up 当作重命名提交,违反 UX-09。按 macOS IME 回调顺序在临时探针中设置 marked text 为 ye,再提交“页”,随后仅派发 Enter key-up,实际得到 dialog_after_candidate_enter=false、标题变为“页”;用户确认候选时,对话框已经提交关闭。现有 probe.rs:283 直接注入最终汉字,shell.sh 的 CJK/撤销断言通过时仍遗漏此错误。修复方向:在组件库区分 IME 已消费的确认键和明确的表单提交,再更新依赖;回归覆盖组合、候选确认、继续输入、撤销及跨区域焦点。
crates/ely-ui/src/shell/root.rs:133 — 中文目录只覆盖命令名称和分组,命令面板自身文案仍为英文,违反 UX-08。设置 ELY_LOCALE=zh-CN 后打开面板,实测仍显示 Type a command、Recent,查询无结果时显示 No matching commands;画廊 main.rs:269、dialogs.rs:14 的状态、操作和错误正文同样硬编码英文。shell.sh:107 的中文流程停在菜单检查,因而全部通过。修复方向:让这些可见文案与错误正文统一读取双语目录,组件固定文案在组件库接入国际化;中文验收继续覆盖面板、空结果、状态、对话框和错误。
crates/ely-platform/src/locale.rs:13 — macOS 使用区域格式 localeIdentifier 选择界面语言,遗漏系统首选语言。以 -AppleLanguages '(zh-Hans)' -AppleLocale en_US 启动且清除 ELY_LOCALE,原生探针读到 preferred=["zh-Hans"]、system=en-US;实际 ely-doc 冒烟日志也是 locale en-US -> en-US。选择中文界面并保留美国区域格式的用户因此得到英文界面,违反 UX-08。修复方向:按系统首选界面语言匹配受支持语言,将区域格式与界面语言分别处理,并增加二者不同的回归案例。
crates/ely-platform/src/locale.rs:28 — Linux 将高优先级的 C/POSIX 语言设置跳过,继续采用低优先级中文设置。将该 Linux 函数原样编译成临时探针,LC_ALL=C.UTF-8、LC_MESSAGES=zh_CN.UTF-8、LANG=zh_CN.UTF-8 返回 zh-CN;LC_MESSAGES=C、LANG=zh_CN.UTF-8 也返回 zh-CN。有效的英文覆盖因此失效。修复方向:采用首个非空的高优先级设置,遇到 C/POSIX 时解析为英文并结束查找;补上这两种优先级组合的测试。
tests/scripts/shell.sh:80 — 缺少 UX-10 指定的多屏缩放验收。当前 resized layout 断言仅检查逻辑窗口宽度;对应 probe.rs:159 改变窗口尺寸。本轮在临时副本记录 scale_factor,1100×720 → 800×600 → 1100×720 全程为 2,断言仍通过;测试也没有点击命中、文本选区或浮层位置的检查,无法检测跨屏 DPI 改变后的坐标错误。修复方向:增加 100%、150%、200% 以及跨屏变化的验收,分别核对点击目标、选区和浮层位置,明确记录三端实际运行结果。