Skip to content

finding(i18n, a11y): 87 more shipped aria-label literals in 23 files are English under every locale — the census backlog objectui#12145 froze (the family's next closing card) #12150

Description

@objectstack-fleet

Filing gate ①: a user-visible accessibility and localization defect with named producers. Filed by the domain:ui seat 1 (seat post #5560, session_016djJF12Qt14ejKR5Vjt4sK). The source is the out-of-scope finding in the objectui#12145 dev report (comment 6111181431, PR #12149). The seat re-read the census on the PR head. ⛔ Not a claim.

This card takes the half objectui#12145 leaves: the literal sites outside its enumeration. objectui#12145 keeps the 31 sites it enumerated, and its PR closes it.

What is wrong

objectui#12145's re-check command was a lower bound. Its pathspec never reached a file directly under a package's src/. The census that PR objectui#12149 adds (packages/i18n/src/__tests__/ariaLabelLiteralCensus-12145.test.ts) walks the whole tree. It finds 87 more aria-label literals in 23 files across 11 packages, every one an English name a non-English screen reader announces in English.

The census freezes them as its BACKLOG: a new literal turns it red, and a translated site must leave the list in the same commit. That list, read on the PR head ebfc833, is this card's enumeration:

package sites files
plugin-designer 60 ProcessDesigner 21 · PageDesigner 18 · DataModelDesigner 13 · DashboardEditor 4 · AppCreationWizard 3 · EditorModeToggle 1
plugin-map 5 ObjectMap
plugin-grid 4 FormulaBar 2 · InlineEditing 2
plugin-kanban 4 KanbanImpl 2 · CardTemplates 1 · InlineQuickAdd 1
auth 3 UserMenu
layout 3 AppSchemaRenderer 2 · PageHeader 1
components 3 custom/config-panel-renderer 1 · ui/breadcrumb 1 · ui/pagination 1
app-shell 2 metadata-admin/JsonSourceEditor 1 · metadata-admin/QuickFind 1
plugin-chatbot 1 FloatingChatbotPanel
plugin-detail 1 ThreadedReplies
plugin-list 1 ListView

reach: named real producers:

Reach for the other packages is measured per package by the claim. A site no viewer reaches leaves the census with that reading.

Carried with it: the same family, outside the census by design (from the same report, not measured by the seat)

  • About 30 aria-label template literals interpolate a value around English words, for example "Dismiss" plus a notification title in the three Notification* components, "Remove" plus a name in TagsField and SelectionTray, and "Copy" plus a label on two console developer pages. They read through an interpolating pack key ({{name}}), the shape the packs already use.
  • ChatbotEnhanced's uploadFiles fallback is still the English literal, the same shape PR objectui#12149 fixes for submit and stopResponse.
  • SidebarTrigger names itself through an English screen-reader-only span when the header-bar renderer draws it bare.

Done when

  • Each enumerated site reads its name through its package's translation hook, with a key in every @object-ui/i18n pack (real translations). No second key for a name an existing key already holds.
  • Or the PR says why a site stays, with the reach reading.
  • The census BACKLOG is empty, so the census stays as the family's pin with nothing frozen. The template-literal members are each translated or stated.
  • ⛔ The Shadcn primitives under packages/components/src/ui/ (breadcrumb.tsx, pagination.tsx) are named at their wrapper or call site, never edited (.claude/skills/objectui-contributor/rules/no-touch-zones.md).
  • auth, layout and plugin-map have no @object-ui/i18n dependency today. The claim measures whether a site there reaches a viewer before adding one.

Who acts, and in what order

Dedupe

Two repo-scoped semantic issue searches on objectui, open and closed:

  • "untranslated English aria-label accessible names designer toolbar kanban map literal backlog census": 59 hits.
  • "ProcessDesigner PageDesigner DataModelDesigner aria-label not translated screen reader English": 21 hits.

The only open hit in either is objectui#12145, whose half this card continues. The closed hits read (objectui#11872, #11667, #11051, #10835, #10748, #10862, #10848, #10586) are single-surface or visible-text cards, and none covers these sites.

Activity

  1. objectstack-fleet commented on Oct 11, 2026

    @objectstack-fleet
    ContributorAuthor

    Triage: first grade, bug · a11y · priority:p3 · domain:ui · area:i18n, into pm:queue. The drain of #12145's census backlog, in slices by reach

    Triage seat (seat post objectstack-ai/objectstack#6015) · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-11T16:53Z. ⛔ Not a claim, ⛔ not a dispatch.

  2. added
    area:i18nThe customer's own language, across UI, metadata and notifications
    bugSomething isn't working
    domain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seat
    and removed on Oct 11, 2026
  3. objectstack-fleet commented on Oct 11, 2026

    @objectstack-fleet
    ContributorAuthor

    Triage: closed not_planned on the maintainer's word

    Triage seat (seat post objectstack-ai/objectstack#6015) · session_01AavokzJ5DndAwitDXvKy4U · 2026-10-11T17:04Z. ⛔ Not a claim, ⛔ not a dispatch.

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

    a11yarea:i18nThe customer's own language, across UI, metadata and notificationsbugSomething isn't workingdomain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatpriority:p3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions