Skip to content

Compare approaches

Four ways to find Arabic defects

No products are named here, because the question a buyer actually has is which kind of check to run. Two of the four below are not alternatives to this one: run them as well.

What each approach catches, by kind of Arabic defect
DefectBilingual testerAccessibility scannerLocalization toolingRitla
Direction and mirrored layoutcatchesmissesmissescatches
Numbers, emails and Latin inside Arabic textpartlymissesmissescatches
CSS that will not mirror, named by selectormissesmissesmissescatches
Arabic typography and font fallbackpartlymissesmissescatches
Untranslated strings on the pagecatchesmissespartlycatches
Whether the Arabic reads wellcatchesmissesmissesmisses
Flows behind a login, payment or bot checkcatchesnot what it checksnot what it checksmisses
Contrast, labels and structuremissescatchesmissespartly
A repeatable diff after every releasemissescatchescatchescatches
  • catches
  • partly
  • misses
  • not what it checks

The line

Mirroring is solved. Arabic isn't.

Logical properties and dir="rtl" are table stakes: every modern kit ships them. What still breaks is everything a flip does not touch.

What a mirrored interface gets right, and what an Arabic-native one also needs
What the reader getsMirroredArabic-native
The layout reads right to leftyesyes
Margins, padding and icons flip with the directionyesyes
Arabic text is set in a font that has ArabicR050noyes
No letter-spacing or synthetic italic on a connected scriptR051R054noyes
Phone numbers, emails and prices keep their orderR021noyes
One numeral system per viewR061noyes
Inputs type in the reader's direction; phone and email stay left to rightR023R070noyes
The page says it is Arabic (lang="ar"), for screen readers and searchR002noyes

In detail

What each one catches, and what it misses

Including ours, with a misses list as long as anyone else's.

A bilingual tester, by hand

Somebody who reads Arabic opens the product and writes down what is wrong.

Catches

  • Tone, register and whether a translation is actually idiomatic
  • Anything that needs judgment about meaning
  • Defects in flows a crawler cannot reach, behind a login or a payment

Misses

  • Repeatability. A second pass is a second opinion, not a diff
  • Breadth. Every page, every width, every release is more hours
  • Mechanism. It finds that something looks wrong, rarely which rule and which selector

Best for: Judging whether Arabic copy is good. No tool decides that, and a scan that said otherwise would be lying.

A general accessibility scanner

An automated pass for contrast, labels, landmarks and structural accessibility.

Catches

  • Contrast, alternative text, form labeling, heading structure
  • Regressions in all of the above, on every build, for free

Misses

  • Direction. A page laid out left to right is not an accessibility failure and will not be reported as one
  • Bidirectional text. Mixed Arabic and Latin runs, neutral characters resolving the wrong way, numerals inside a right to left line
  • Arabic typography. A face with no Arabic coverage falls back silently and the page still passes
  • Untranslated strings, which are structurally perfect and semantically wrong

Best for: Accessibility, which is a different job. Run one. It is not in competition with this and every site should have both.

Localization QA tooling

Checks over the translation pipeline: missing keys, placeholder mismatches, string length budgets.

Catches

  • Untranslated and stale keys before they ship
  • Broken interpolation and plural forms
  • Strings that will overflow a known budget

Misses

  • Everything that happens after the string reaches the page: the CSS that positions it, the font that renders it, the direction it inherits
  • Text that is not in the pipeline at all, which is most of a third-party widget
  • Whether the rendered result is readable, as opposed to whether the input was complete

Best for: Catching translation problems at the source, which is earlier and cheaper than catching them on the page. Also not in competition with this.

Ritla

this is us

Deterministic checks on the rendered Arabic page, with a screenshot, a selector and a fix for each finding.

Catches

  • Direction and bidi defects in the rendered result, not in the source
  • Physical CSS that will not mirror, per property and per selector
  • Arabic typography: missing coverage, silent fallback, tracking applied to a connected script
  • Untranslated content on a page that is otherwise Arabic
  • Overflow and clipping per breakpoint, because Arabic runs longer
  • The same defects again after a release, with a diff rather than a second opinion

Misses

  • Whether the Arabic is any good. It checks the rendering, never the writing
  • Anything behind a login, a payment step or a bot check
  • Design intent. An asymmetry on purpose and an asymmetry by accident look identical to a rule, which is why the declines list exists

Best for: Proving an Arabic product renders correctly, repeatably, with evidence a client or a developer can act on without a meeting.

The short answer

Pick by the question you need answered

  • If you need to know whether the Arabic reads well→ A bilingual testerNo tool decides this.
  • If you need to know whether it renders correctly, on every page and width→ RitlaWith a screenshot, a selector and a fix per finding.
  • If you need to know whether translation is complete before it ships→ Localization QA toolingEarlier and cheaper, at the source.
  • If you need to know whether it is accessible→ An accessibility scannerA different job. Every site should run one.

Most teams shipping Arabic seriously need a person and a scan, and the scan is the cheaper half to start with because it costs nothing to try.

FAQ

Questions about testing Arabic

Start with the half that costs nothing

Scan the Arabic page that matters most. In about a minute you will know whether the rendering needs work.

Run a free scanSee every check