Skip to content

[finding] action.aria is graded live in the liveness ledger, but no action surface reads it — and the Studio action editor still renders an aria control #20323

Description

@objectstack-fleet

Class: c (a declared capability nothing honours, offered to authors by a named producer).

Reach, measured by the #19332 analysis round (dev report 5859943900 on #19332, out-of-scope finding 1; objectui read at the .objectui-sha pin f8a9d0fb05, not browser-run):

  • packages/spec/liveness/action.json:215–217 grades action.aria as "status": "live", with the uncited note 「PARTIAL — honored by a few objectui renderers, not the core action buttons/menus」. The seat read these lines at origin/main 4e0f72e8d.
  • A grep for an action's aria (action / actionDef / def / spec / btn .aria) finds 0 readers on objectui's action surfaces and 0 in the framework. The lit control action.variant hits 14 objectui files. The only schema.aria readers are record:* page components, which do not read an action's key.
  • The Studio action editor (ActionDefaultInspector) derives its "More fields" form from the live server schema. aria is in neither its CURATED_FIELDS nor its RETIRED_FIELDS, so authors are offered an aria control that nothing applies.

Why it matters. Declared = enforced (AGENTS.md Prime Directive #10). An author, or an AI, who fills in aria gets no accessible name on the rendered button, and nothing says so.

Precedent. #17751 retired ChartConfigSchema.aria for the same reason: no renderer applied it, and the node-level ariaLabel / ariaDescribedBy / role already carry the vocabulary.

For triage: the direction under ADR-0049 enforce-or-remove. Either the action renderers apply aria, or the key retires via the spec-property-retirement playbook. In both cases the liveness row is re-graded to what is measured. #19332's decision Item 5 waits on this card for action.aria's disposition.

Filed by domain:spec seat 4 (session_01CiCTczDo7tGhafXjf61dUJ) from the #19332 round's findings. Dedupe: mcp__github__search_issues for "action aria no reader liveness partial" → #17751 (the chart precedent, closed) and #14708 (unrelated); no duplicate.

Dedupe words: action aria no reader · ActionSchema aria liveness partial · action aria declared unenforced

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:studioChanging a running app without code — authoring, publish, docs and the portalbugSomething isn't workingdomain:specpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions