| Back arrow at the top of every screen | Still points left — which now means “forward” | Users navigate backwards by accident | Mirror directional icons via a curated icon rule set, not a global flip |
| Phone and OTP inputs | Digits type right-to-left and cursor jumps | Sign-in and verification fail — a launch blocker | Force dir="ltr" on numeric/technical fields inside the RTL form |
| Product codes like INV-2024/003 in Arabic sentences | Segments reorder around the hyphens and slashes | Invoices and references become unreliable | Wrap codes in <bdi> or dir="ltr" spans (bidi isolation) |
| Checkout address form | Street/ZIP order that Gulf buyers don't use | Half-empty addresses, failed deliveries, abandoned carts | Restructure to market format: governorate, district, landmark |
| Data tables | Identity column stranded on the far left | Operators scan every row twice | Reorder columns for RTL reading; fix a numeric-alignment rule |
| Charts and legends | Axes and legends keep LTR assumptions | Dashboards mislead at a glance | Configure per-library RTL: axis direction, legend side, tooltip anchor |
| PDF invoices and emails | Render LTR even when the app is RTL | The most-forwarded artifacts look broken | Build dedicated RTL templates — app-shell CSS never reaches them |
| Long Arabic button labels | Overflow or clip mid-word | Primary actions look broken exactly where trust matters | Set wrapping/width rules sized for Arabic label lengths |
| Validation messages | Appear on the wrong side of the field | Users miss errors and resubmit blindly | Anchor messages with logical properties, verified per breakpoint |
| Prices like “(100 IQD)” mid-sentence | Parentheses and units flip order | Totals read ambiguously — poison for checkout trust | Isolate number+unit pairs and set explicit direction per fragment |