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 |