Get a web app ready for the European Accessibility Act and a new market in a single workflow. This goes past detecting accessibility and localization problems to fixing them: audit and remediate WCAG 2.2 and keyboard issues, then extract your UI copy into a validated i18n catalog. It is framework-agnostic, so the same steps apply across React, Vue, Svelte, Angular, and plain HTML.
Start by scanning your UI against WCAG 2.2 and ARIA rules. The audit flags missing labels and roles, broken heading and landmark structure, and color-contrast failures, then ranks each violation by severity and points to the exact markup that needs fixing.
Work through the keyboard and focus problems the audit surfaced. This rewrites components so every interactive element is reachable by keyboard, tab order follows reading order, and focus is trapped and restored correctly in dialogs and menus while indicators stay visible.
Pull hardcoded copy out of your components and into a translation catalog. Strings are replaced with catalog keys and wrapped in correct ICU MessageFormat, so plurals, gender, numbers, and dates render right in every locale instead of being concatenated by hand.
Check the catalog for your new locale before it ships. The doctor reports missing and orphaned keys, malformed ICU syntax, and placeholder mismatches between the source and target catalogs, so translators receive a clean, complete file to work from.
Run /a11y-audit on a whole directory before touching individual files. Fixing the systemic issues it ranks first, shared components and contrast tokens, clears far more violations than chasing one page at a time.
Extract strings before you translate, not after. Running /i18n-extract first gives /i18n-doctor a complete source catalog to diff every locale against, which is how missing keys and stale entries get caught.
If your new locale reads right-to-left, such as Arabic or Hebrew, follow up with /rtl-ready so physical CSS like margin-left and text-align: left becomes logical properties that mirror correctly.