Skip to content

bug(plugin-detail): the record page's summary chip names its field by the raw column name — the one band beside the H1 that does not resolve a label #8729

Description

@os-justin

Found while implementing objectui#8464. ⛔ Not fixed there — that card is a display decision about the chip's VALUE; this is about the name the chip gives the field, and changing it there would have moved a pin objectui#8394 owns.

What

packages/plugin-detail/src/DetailView.tsx, the effectiveSummaryFields.map render beside the page H1. The chip has no visible label, so its whole accessible name is:

aria-label={`${fieldName}: ${display}`}

fieldName is the raw stored column name, never the resolved label. Every other band of the same page resolves one: HeaderHighlight calls fieldLabel(objectName, field.name, field.label), DetailSection uses the section field's label. So a screen-reader user hears the database column where a sighted reader sees nothing at all.

Measured

Rendered DetailView with summaryFields: ['owner_ref'] and fields: [{ name: 'owner_ref', label: 'Owner', type: 'lookup' }], on ed971e8fc:

what value
chip aria-label owner_ref: [object Object]
the field's authored label Owner

(The value half of that string is objectui#8464 and is fixed there; the owner_ref half is this card and is unchanged by it.)

Why it was not folded into objectui#8464

detailPage.emptinessAuthority-8394.test.tsx navigates these chips by [aria-label^="<field>: "] and asserts 'stage: Won' exactly. Changing the name half means editing that instrument, which objectui#8394 / PR #8457 owns — worth doing deliberately, not as a rider.

If someone picks this up

useSafeFieldLabel is already imported in this file (fieldLabel is in scope at the render site), so the resolution itself is one call. The work is the instrument: widen chipFor in the 8394 file, or give it the data-summary-chip="<field>" handle objectui#8464 added, and re-pin the four accessible names it asserts.

Dedup

Run. Channel: MCP search_issues (repo-scoped REST /search/issues is refused in this container). Its control fired on the same session — a query for the summary-chip object-value defect returned objectui#8464 itself as the top hit — so this is not a false zero. Query summary chip aria-label uses raw field name instead of the resolved field label returned objectui#8231 (a different surface, app-shell's machine-name chip) and a closed item. No duplicate found.


Generated by Claude Code

Activity

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

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