Moayyad Faris
arabic-web-research9 min readยท Published 2026-07-24

How Many Arabic Websites Implement RTL Correctly?

A measured answer from a 220-site, country-stratified crawl of ranked Arabic-region homepages โ€” not a guess.

Moayyad Faris
VP of Engineering & Software Architect

Drawn directly from the author's own 220-site, country-stratified RTL adoption crawl โ€” every number below is measured, not estimated.

In a 220-site, country-stratified sample of ranked Arabic-region homepages, 63% set dir="rtl" on the root HTML element, 75% declare an Arabic lang value, and 60% get both right together. 85% show an RTL signal somewhere in the page, meaning 15% of homepages with substantial Arabic content expose no RTL declaration at all in their initial HTML.

1. The Headline Number: 63% Set dir="rtl" on the Root Element

Out of 220 ranked Arabic-region homepages โ€” sampled with a per-country cap so no single country (historically Saudi Arabia) dominates the result โ€” 138 sites (63%) set `dir="rtl"` on the root `<html>` element. That is the single most important signal for RTL support: it establishes the page-wide base text direction that every other layout decision inherits from.

A further breakdown:

SignalSitesShare
Declare Arabic lang16675%
Set root dir="rtl"13863%
Any RTL signal anywhere in the HTML18885%
Both lang and dir correct together13160%

The gap between "any RTL signal" (85%) and "root dir="rtl"" (63%) is the interesting part: 50 sites declare RTL somewhere in the document โ€” a nested dir="rtl" on a container, or an inline direction: rtl style โ€” without setting it on the root element. That's a common but incomplete pattern: it can produce a page that looks right in the areas where RTL was explicitly applied, while anything outside those containers silently defaults to LTR.

2. Correct, Incomplete, and Missing: Three Different Failure Modes

"RTL adoption" isn't a single yes/no measurement โ€” this sample breaks into three distinct patterns:

  • Correct (60%, 131 sites): Both an Arabic lang value and root dir="rtl" are present. This is the complete, recommended pattern per W3C guidance.
  • Incomplete (25%, 54 sites): Arabic content is present and substantial, but the root lang attribute isn't a recognized Arabic tag โ€” the language metadata is simply missing, even where direction may be handled correctly elsewhere.
  • RTL signal without root declaration (23%, 50 sites): An RTL direction signal exists somewhere in the page, but not on the root element โ€” the incomplete-application pattern described above.

These aren't mutually exclusive categories in the raw data (a site can be missing lang and also only apply RTL below the root), but together they show that "implements RTL" is doing a lot of work as a phrase โ€” a homepage can pass a shallow check ("does it have dir="rtl" anywhere?") while still shipping an incomplete implementation.

3. CSS Tells a Different Story Than HTML Does

HTML-level RTL adoption (63% root dir="rtl") looks reasonably strong. CSS-level adoption does not: across all 220 sites' analyzable CSS (inline styles plus up to two linked stylesheets per site), only 5% of sites use more logical directional properties than physical ones โ€” the rest lean on margin-left/margin-right/left/right rather than margin-inline-start/margin-inline-end or inset-inline-*.

That matters because logical properties are what actually make an RTL page maintainable: they flip automatically with direction, while physical properties require a maintained set of RTL-specific overrides (a separate rtl.css, or [dir="rtl"] selector overrides scattered through the stylesheet) that tend to drift out of sync with the LTR styles over time. A site can set dir="rtl" correctly at the HTML level and still be running on a CSS architecture that makes every future layout change a two-direction maintenance burden.

See the full CSS property breakdown โ€” including :dir(rtl) pseudo-class and [dir="rtl"] selector usage โ€” in the complete dataset.

4. How This Was Measured

This isn't a survey or an estimate โ€” it's a direct crawl. 220 homepages were sampled from the daily Tranco top-one-million ranking, filtered to Arabic-region country-code domains (.sa, .eg, .iq, .jo, .ae, and 17 others), with a soft per-country cap (~20% of the sample) so the result reflects the region rather than whichever country happens to have the most highly-ranked domains. A page qualifies only if it returns real HTML over HTTPS with at least 200 visible Arabic-script characters.

The crawler reads the initial server response only โ€” no JavaScript execution โ€” so a site that injects lang/dir attributes or RTL-aware CSS after hydration will under-report here. That's a real limitation, not just a caveat: it means these numbers are a floor on client-rendered adoption, not a ceiling.

Full methodology, per-metric detection rules, and the anonymized per-site data are published on the [Arabic & RTL Web Adoption dataset page](/arabic-web-stats/rtl-adoption), including a downloadable CSV, JSON, and methodology document.

Frequently Asked Questions

What percentage of Arabic websites correctly implement RTL?

In this 220-site, country-stratified sample of ranked Arabic-region homepages, 60% (131 sites) correctly set both an Arabic lang value and dir="rtl" on the root HTML element. 63% set dir="rtl" on the root regardless of lang, and 85% show some RTL signal somewhere in the page.

Is HTML-level RTL adoption a good proxy for overall RTL quality?

No. HTML-level adoption in this sample (63% root dir="rtl") is meaningfully higher than CSS-level adoption โ€” only 5% of sites use more logical directional CSS properties than physical left/right properties. A site can set dir="rtl" correctly while still running on a CSS architecture that makes RTL layout a manual, drift-prone maintenance burden.

References