Skip to content

Factory Studio — localization and accessibility

Target

This page describes intended behaviour or structure. No implementation is claimed unless a section is explicitly marked Current implementation or Evidence.

Decision D34 sets the bar: English, Hebrew and Russian; Web Studio, CLI and VS Code first; WCAG 2.2 AA; keyboard; light and dark; reduced motion. The Config Platform prototype already demonstrates an RTL toggle; the Factory Studio makes it the shell's default behaviour for Hebrew.

Localization

Concern Rule
Locale source the session preference (SetStudioPreferences); first sign-in takes the browser locale; the CLI takes --locale or the OS
Resources resource dictionaries per microfrontend, keyed by stable ids; no concatenated sentences; plural rules per locale
Direction he renders RTL: mirrored layout, rail on the right, logical CSS properties (inline-start), icons that imply direction mirrored, numbers and code left-to-right inside RTL text
Dates, numbers, currency formatted per locale; usage amounts always show the currency code; timestamps carry the tenant's time zone with UTC on hover
Generated content model outputs, artifacts and logs are shown in their own language and direction, marked as content, not translated by the Studio
Fonts Inter (Latin, Cyrillic), Heebo (Hebrew), JetBrains Mono for code, per the design system

Accessibility (WCAG 2.2 AA)

Concern Rule
Keyboard every action reachable by keyboard; roving tab index in lists and tables; the command palette as the keyboard entry to any screen; no keyboard traps in webviews
Focus visible focus ring from the design system tokens in light and dark; focus returned to the triggering control after dialogs; focus not obscured by sticky bars (2.4.11)
Semantics landmarks per shell region; ARIA roles and names on composed widgets; live regions for realtime updates with polite announcements; status badges carry text, never colour alone
Motion reduced-motion preference disables transitions and animated live updates; streaming text is paged, not animated
Contrast design-system palette verified for 4.5:1 text and 3:1 UI in both schemes; the seven status colours have text equivalents
Targets 24×24 CSS pixel minimum for controls (2.5.8); drag operations have keyboard equivalents (2.5.7)
Errors validation messages are tied to fields, localized, and never rely on colour; server refusals (403, 409, 412) are explained in words
Testing automated checks per microfrontend; manual screen-reader passes in all three locales; the acceptance list of the Claude Design handoff (U4) includes keyboard-only, 1440×900 and 390×844, light and dark, RTL