Skip to content

ChartConfig 剩余的 declared ≠ delivered 属性:stepSize / clickAction / zoom / description / height(#3729 收尾) #3752

Description

@os-zhuang

#3729<ObjectChart> 的作者面切回 spec ChartConfig 形状,objectui#2883 让渲染器兑现了绝大部分。收尾盘点后仍有 5 个属性是声明了但渲染器不读的,按 ADR-0078 单独记账,不留在暗处。

清单

属性 现状 建议
ChartAxis.stepSize 完全无人读 实现(Recharts ticks / tickCount)——刻度密度是真实需求
ChartInteraction.clickAction 完全无人读 渲染器已有 onChartClick,但没有「按 action id 触发」的接线。要么接上 action 派发,要么裁掉——drillDown 已覆盖大部分点击语义
ChartInteraction.zoom 无 Recharts 原语,#3750 已在 schema description 里标注 declared-not-delivered 保持标注,或按 #1475 先例裁掉;brush 是已交付的替代
ChartConfig.description 无人读(无障碍描述) 接到 aria-label / <desc>——成本极低,且是 a11y 缺口
ChartConfig.height 只有 ChartBarRenderer 读;AdvancedChartImpl(真正的图表路径)不读 接上,或从 ChartConfig 裁掉并统一由容器控制高度

为什么单独开

#3729/#3750 的范围是绑定(轴/系列/结果列)与主要表现属性,已全部兑现并被测试锁定。上面 5 个是同一类问题的长尾:单个成本都很低,但混进那个 PR 会让它变成一次无边界的 ChartConfig 全量审计。按 PD #10「file, don't silently expand」拆出来。

处理时请同时更新 <ObjectChart>dataProps:裁掉的属性要一并从公布契约移除,实现的保持——否则又回到 declared ≠ delivered。

关联

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions