raqeebرقيب

bidi-guard protects your code. raqeeb protects your UI. Scan HTML/CSS for Arabic RTL layout bugs.

24 checks · 8 categories · RTL Score — automatic Arabic layout quality testing for every HTML and CSS file in your project.
$ pip install raqeeb

Chapter I
The Problem
Your Arabic UI is broken.

Chapter II
24 Checks
Eight categories. Every RTL bug covered.
Direction 3 checks
  • ERRmissing_dir_rtl — no dir="rtl" on page with Arabic
  • ERRhardcoded_ltr — dir="ltr" on Arabic content
  • WARNmissing_lang_ar — no lang="ar" attribute
CSS Layout 4 checks
  • WARNphysical_css_properties — margin-left, padding-right instead of logical
  • INFOfixed_width_overflow — fixed px widths that may overflow
  • WARNtext_align_left — text-align: left instead of start
  • WARNfloat_left_right — float: left/right instead of logical
Text Rendering 3 checks
  • WARNbidi_isolation — LTR in RTL without isolation
  • INFOnumber_rendering — numbers without LTR wrap
  • INFOmissing_unicode_bidi — no unicode-bidi property
Typography 3 checks
  • WARNmissing_arabic_font — no Arabic font fallback
  • INFOsmall_font_for_arabic — font-size below 14px
  • INFOline_height_too_tight — line-height below 1.4
Content 3 checks
  • INFOplaceholder_latin — Latin placeholder in Arabic form
  • INFOalt_text_missing_arabic — English alt text on Arabic page
  • INFOmeta_description_not_arabic — English meta description
Accessibility 2 checks
  • WARNinput_direction — input without dir attribute
  • INFOtable_direction — table without dir attribute
WCAG / A11y 2 checks
  • WARNaria_labels_not_arabic — English aria-labels on Arabic page
  • INFObutton_text_not_arabic — English button text on Arabic page
Layout Edge Cases 4 checks
  • INFOscrollbar_direction — scroll on wrong side in RTL
  • INFOflexbox_rtl — flex-direction: row reverses in RTL
  • WARNabsolute_positioning — left/right instead of inset-inline
  • INFOtext_overflow_ellipsis — ellipsis on wrong side in RTL

Chapter III
RTL Score
A 0-100 score for your Arabic readiness.
80/100
14 of 24 checks passed
  • Direction3/3 passed
  • CSS Layout3/4 passed
  • Text Rendering1/3 passed
  • Typography3/3 passed
  • Content3/3 passed
  • Accessibility1/2 passed

Demo
See It
raqeeb demo

Chapter IV
Commands
6 commands. Zero config.

Chapter V
Get Started
# Install $ pip install raqeeb # Scan your project $ raqeeb scan . # Scan a live URL $ raqeeb url https://example.com # Get your RTL score $ raqeeb report . # Auto-fix common issues $ raqeeb fix . --yes # Set up CI $ raqeeb init --write

Chapter VI
CI Integration
Catch RTL bugs in every pull request.
name: RTL Check on: [push, pull_request] jobs: raqeeb: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: '3.11' - run: pip install raqeeb - run: raqeeb scan . --ci