Accessibility Deep Dive

Multilingual and right-to-left accessibility

31 languages, four of them right-to-left. How language attributes, mirrored layouts and per-script font scaling keep the platform readable everywhere.

Updated July 12, 2026

On this page

Getting the language attribute right

Language is the most commonly broken accessibility attribute on multilingual sites, and one of the cheapest to fix. Assistive technology reads the document's declared language to select a speech synthesiser and pronunciation rules. Declare English and serve Tamil, and a screen reader produces sounds rather than words.

CAMARON updates the document language whenever the interface language changes — not just on first load — and sets text direction on the same element. Where a page mixes languages, such as a species' scientific name inside a translated paragraph, the inline element carries its own language so pronunciation switches for that fragment only.

RTL mirroring, not just text direction

Flipping text direction is the easy part. A genuinely right-to-left interface mirrors the whole spatial model:

  • Navigation, sidebars and drawers open from the opposite edge.
  • Directional icons — back arrows, chevrons, progress indicators — flip; non-directional ones such as a clock or a checkmark do not.
  • Padding and margins use logical start/end properties, so spacing mirrors automatically instead of needing a duplicated stylesheet.
  • Tables, breadcrumbs and step indicators reverse their reading order.
  • Keyboard arrow behaviour in composite widgets follows the visual direction.

The mobile navigation drawer has a dedicated right-to-left end-to-end test leg for exactly this reason: a drawer that slides from the wrong edge, or traps focus in the wrong order, is broken in a way that is invisible to a left-to-right reviewer.

Per-script font scaling

A single font size does not serve 31 languages. Devanagari, Bengali and Tamil carry more vertical detail than Latin at the same nominal size; Arabic script needs more line height for its diacritics; Chinese and Japanese glyphs are denser. Setting one size for all of them means either oversized Latin text or illegible Indic text.

The stylesheet applies language-scoped rules that adjust font size and line height per script, most noticeably on small viewports where the margin for error is smallest. This is a legibility fix that disproportionately helps low-vision users reading non-Latin scripts — a group that generic accessibility guidance rarely addresses.

Translated labels and announcements

Accessible names are content. An interface translated into Hindi that still announces "Close menu" in English to a screen reader is not translated — it is translated for sighted users only.

  • Accessible labels on icon-only controls come from the translation catalogue, not from hardcoded strings.
  • Live-region announcements — offline status, queue flushes, export progress — are translated.
  • Form validation messages are translated, including the required-field text behind the asterisk.
  • Every user-facing string carries a sensible fallback, so a slow or missing translation bundle never leaks a raw translation key into the interface.

That last point is an accessibility issue as much as a polish one: a screen reader announcing a dotted key path is worse than announcing nothing.

Numerals, dates and currency

Cognitive accessibility depends on numbers appearing in the form a user expects. CAMARON formats dates, numbers and currency by locale, and Indian pricing uses the lakh and crore grouping convention rather than a Western thousands separator. Where editorial content cites a figure sourced in another currency, both values are shown together rather than silently converted.

Units follow the same rule: parameters are shown with their unit attached rather than expecting the reader to infer it, so an announcement reads "dissolved oxygen 4.2 milligrams per litre" rather than a bare number.

Where translation coverage stops

  • Long-form content is English-only. These deep-dive articles and the water-quality guides are not translated. The pages declare English so pronunciation stays correct.
  • AI-generated text follows the model. Analysis narratives are requested in the user's language, but quality varies by language and is not guaranteed.
  • No native-speaker accessibility review. Translations have not been reviewed by native speakers using assistive technology in their own language.
  • Right-to-left coverage is automated only. The mirroring is verified by automated visual and behavioural tests, not by right-to-left screen reader users.

Hit a barrier we missed?

Report it and we will treat it as a priority rather than waiting for the next sweep. Accessibility reports are triaged within two business days.

Report an accessibility issue