You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(views): ListView's aria and sharing are the spec sub-shapes (#2890) (#2949)
Last rename batch in the ListView vocabulary migration.
`aria` is now the spec's AriaPropsSchema: `label` → `ariaLabel`, `describedBy` →
`ariaDescribedBy`, folded at the ListView boundary like every other legacy key.
Two things fall out of adopting the spec shape: `role` becomes authorable (the
region hardcoded `role="region"`; it now reads `aria.role` and falls back), and
`aria.live` stays as a documented local extension — no spec counterpart, and
dropping it would silently disable a shipped capability.
`sharing` is now the spec's ViewSharingSchema ({ type, lockedBy }), imported by
reference; the local four-key object is gone. `visibility` collapses onto the
two ownership kinds the spec models (only `private` is personal), and a bare
`enabled: true` maps to `personal` — the badge the user already saw, since the
old title fell back to 'private'.
Visible change: the share badge tooltip shows the spec ownership type, so
`visibility: 'team'` reads "Sharing: collaborative". The four-value audience has
no spec home and nothing but that tooltip consumed it; keeping a second audience
enum alive would re-open the fork this issue closes.
Also fixes the spec bridge, which was doing the opposite of its job: given a
spec-shaped `sharing`, transformListView DOWNGRADED it — inventing a legacy
`visibility` and an `enabled` flag the renderer then had to fold back. Both
sides speak ViewSharing now, so it passes through.
`conditionalFormatting` and `exportOptions` are deliberately NOT folded: both
objectui shapes are supersets carrying capability the spec cannot express (the
{field, operator, value} rule form; maxRecords / includeHeaders /
fileNamePrefix). Folding them onto the narrower spec shapes would delete working
features — they want promotion upstream, not a rename.
Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
0 commit comments