Files
2026-07-27 16:46:15 +08:00

64 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 里程查询口径与移动阅读审计
## 1. 审计范围
本轮为 UX 与可访问性联合审计范围覆盖里程查询的统计摘要、每日矩阵、缺失数据、接口失败、长日期横向浏览、URL 状态和 390 × 844 移动布局。
## 2. 用户目标与可访问性目标
用户需要在不误读数据的前提下,快速判断查询范围内有多少车辆真正产生了里程证据,并能在桌面和手机上浏览自然日矩阵。键盘用户需要能够聚焦矩阵并用方向键浏览长日期范围;错误和缺失值需要有可区分的语义。
## 3. 已确认优势
- 车牌、日期和数据源同屏,快捷日期会同步 URL刷新和分享后可恢复。
- 桌面矩阵在固定工作区内独立滚动,页面本身没有额外纵向滚动。
- 移动端保留车牌与区间总里程固定列,并使用底部任务表单修改筛选。
- `0 km` 与每日缺失值已有不同视觉符号,矩阵区域可以获得键盘焦点。
## 4. 本轮修复的 UX 风险
- 原“已绑定主车辆 4 辆”容易被理解为 4 辆都有里程,实际只有 2 辆有证据。现改为“有里程车辆 2 / 4 辆”,并显示覆盖率。
- 原无任何日记录的车辆仍显示“区间总里程 0 km”会把未上报误读为已上报且未行驶。现统一显示 `—`,并明确“未上报不计为 0”。
- 原“日均里程”没有说明分母。现改为“车日均里程”,说明为“总里程 ÷ 有效车辆日”。
- 原接口失败时,错误提示下方仍可能出现一张全为横线的矩阵。现错误、加载、空范围和有效矩阵互斥。
- 读表说明现直接展示“本页有数据车辆数”,移动端同样保留这一关键信息。
## 5. 可访问性风险与处理
- 区间总里程单元格新增可访问名称读屏可以区分“88.7 公里”和“无可用里程”。
- 长日期矩阵保持 `region`、可聚焦和左右方向键浏览;浏览器实测从 `scrollLeft 0` 移动到 `96`
- 错误仍使用 `role=alert`,并在结果卡内提供可聚焦的重试操作。
- 颜色只用于辅助里程高低,数值、`0 km``—` 仍是主要信息,不依赖颜色单独传达状态。
## 6. 机会区
- 当真实生产数据达到数百自然日与数万车辆时,还需要继续验证服务端聚合、导出内存占用和大规模分页性能。
- 可在后续接入数据完整性 SLA让覆盖率从描述性指标升级为可操作的质量入口。
## 7. 证据限制与验证缺口
- 本轮使用本地真实应用与 mock API 数据验证,未连接生产账号或真实大规模车辆集。
- 已验证 DOM 语义、键盘横向浏览、桌面/移动响应式与自动化回归;未进行 VoiceOver、NVDA、200% 缩放和正式 WCAG 合规认证。
- 控制台仅出现 Semi UI 在 React StrictMode 下已知的 `findDOMNode` 弃用警告,没有发现本轮页面逻辑异常。
## 8. 建议
1. 保持“有数据 / 查询范围”的分数式口径,避免回退到只显示授权车辆总数。
2. 后续把覆盖率与运维质量的缺数工单串联,但不要在没有真实处置能力前把它做成可点击假入口。
3. 下一轮优先审计车辆查询的主档维护、来源证据与批量同步反馈。
## 当前运行截图
- 桌面优化前:`before/desktop-mileage.png`
- 桌面优化后:`after/desktop-mileage.png`
- 移动端优化前:`before/mobile-mileage.png`
- 移动端优化后:`after/mobile-mileage.png`
## 验证结果
- 定向测试:`StatisticsPage.test.tsx` 22 / 22 通过。
- Web 全量测试77 个测试文件、480 项测试全部通过。
- 生产构建与发布资产门禁:通过。
- 浏览器1440 × 1000、390 × 844页面无额外纵向溢出。